All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/win32/wingetopt.c:124,1
    - Dst: vfprintf
      Src: /src/librdkafka/win32/wingetopt.c:126,1
    - Dst: fprintf
      Src: /src/librdkafka/win32/wingetopt.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: _vwarnx
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void _vwarnx(const char *fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/win32/wingetopt.c:132,1
    - Dst: _vwarnx
      Src: /src/librdkafka/win32/wingetopt.c:133,1
    - Dst: va_end
      Src: /src/librdkafka/win32/wingetopt.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: warnx
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - _vwarnx
    linkageType: ''
    returnType: void
    signature: void warnx(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: gcd
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gcd
      Src: /src/librdkafka/win32/wingetopt.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - panonopt_start
    - panonopt_end
    - opt_end
    - nargv
    argTypes:
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: permute_args
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - gcd
    linkageType: ''
    returnType: void
    signature: "void permute_args(int panonopt_start,\n                         int
      panonopt_end,\n                         int opt_end,\n                         char
      *const *nargv)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/librdkafka/win32/wingetopt.c:215,1
    - Dst: strlen
      Src: /src/librdkafka/win32/wingetopt.c:220,1
    - Dst: strncmp
      Src: /src/librdkafka/win32/wingetopt.c:224,1
    - Dst: strlen
      Src: /src/librdkafka/win32/wingetopt.c:228,1
    - Dst: IDENTICAL_INTERPRETATION
      Src: /src/librdkafka/win32/wingetopt.c:243,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:249,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:256,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:286,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:303,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 5
    argNames:
    - nargv
    - options
    - long_options
    - idx
    - short_too
    argTypes:
    - char**
    - char*
    - struct option*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 315
    functionName: parse_long_options
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - warnx
    - IDENTICAL_INTERPRETATION
    - strchr
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int parse_long_options(char *const *nargv,\n                              const
      char *options,\n                              const struct option *long_options,\n
      \                             int *idx,\n                              int short_too)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _x
    - ','
    - _y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: IDENTICAL_INTERPRETATION
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IDENTICAL_INTERPRETATION(_x, _y)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/librdkafka/win32/wingetopt.c:350,1
    - Dst: permute_args
      Src: /src/librdkafka/win32/wingetopt.c:369,1
    - Dst: strchr
      Src: /src/librdkafka/win32/wingetopt.c:383,1
    - Dst: permute_args
      Src: /src/librdkafka/win32/wingetopt.c:404,1
    - Dst: permute_args
      Src: /src/librdkafka/win32/wingetopt.c:428,1
    - Dst: strchr
      Src: /src/librdkafka/win32/wingetopt.c:448,1
    - Dst: parse_long_options
      Src: /src/librdkafka/win32/wingetopt.c:451,1
    - Dst: strchr
      Src: /src/librdkafka/win32/wingetopt.c:461,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:472,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:483,1
    - Dst: parse_long_options
      Src: /src/librdkafka/win32/wingetopt.c:489,1
    - Dst: warnx
      Src: /src/librdkafka/win32/wingetopt.c:504,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 123
    argCount: 6
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    - flags
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 515
    functionName: getopt_internal
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - warnx
    - getenv
    - strchr
    - permute_args
    - parse_long_options
    linkageType: ''
    returnType: int
    signature: "int getopt_internal(int nargc,\n                           char *const
      *nargv,\n                           const char *options,\n                           const
      struct option *long_options,\n                           int *idx,\n                           int
      flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/librdkafka/win32/wingetopt.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nargc
    - nargv
    - options
    argTypes:
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 535
    functionName: getopt
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: int getopt(int nargc, char *const *nargv, const char *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/librdkafka/win32/wingetopt.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 542
    functionDepth: 4
    functionLinenumber: 542
    functionLinenumberEnd: 550
    functionName: getopt_long
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long(int nargc,\n                char *const *nargv,\n
      \               const char *options,\n                const struct option *long_options,\n
      \               int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getopt_internal
      Src: /src/librdkafka/win32/wingetopt.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - nargc
    - nargv
    - options
    - long_options
    - idx
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: getopt_long_only
    functionSourceFile: /src/librdkafka/win32/wingetopt.c
    functionUses: 0
    functionsReached:
    - getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only(int nargc,\n                     char *const
      *nargv,\n                     const char *options,\n                     const
      struct option *long_options,\n                     int *idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/librdkafka/win32/wintime.h:25,1
    - Dst: SystemTimeToFileTime
      Src: /src/librdkafka/win32/wintime.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tp
    - tzp
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 33
    functionName: gettimeofday
    functionSourceFile: /src/librdkafka/win32/wintime.h
    functionUses: 0
    functionsReached:
    - SystemTimeToFileTime
    - GetSystemTime
    linkageType: ''
    returnType: int
    signature: int gettimeofday(struct timeval *tp, struct timezone *tzp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0016-client_swname.c:54,1
    - Dst: system
      Src: /src/librdkafka/tests/0016-client_swname.c:58,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/0016-client_swname.c:59,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0016-client_swname.c:60,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/tests/0016-client_swname.c:64,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/0016-client_swname.c:64,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0016-client_swname.c:65,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0016-client_swname.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - exp_swname
    - exp_swversion
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: jmx_verify
    functionSourceFile: /src/librdkafka/tests/0016-client_swname.c
    functionUses: 0
    functionsReached:
    - WEXITSTATUS
    - rd_snprintf
    - TEST_SAY
    - system
    - TEST_FAIL
    - WIFSIGNALED
    linkageType: ''
    returnType: void
    signature: void jmx_verify(const char *exp_swname, const char *exp_swversion)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0016-client_swname.c:88,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0016-client_swname.c:93,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0016-client_swname.c:95,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0016-client_swname.c:97,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0016-client_swname.c:99,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0016-client_swname.c:100,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0016-client_swname.c:103,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0016-client_swname.c:103,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0016-client_swname.c:104,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0016-client_swname.c:104,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0016-client_swname.c:105,1
    - Dst: jmx_verify
      Src: /src/librdkafka/tests/0016-client_swname.c:108,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0016-client_swname.c:110,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0016-client_swname.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - broker
    - swname
    - swversion
    - exp_swname
    - exp_swversion
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 116
    functionName: do_test_swname
    functionSourceFile: /src/librdkafka/tests/0016-client_swname.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_err2str
    - test_conf_set
    - jmx_verify
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: void
    signature: "void do_test_swname(const char *broker,\n                           const
      char *swname,\n                           const char *swversion,\n                           const
      char *exp_swname,\n                           const char *exp_swversion)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0016-client_swname.c:124,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0016-client_swname.c:125,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0016-client_swname.c:131,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0016-client_swname.c:135,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0016-client_swname.c:139,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0016-client_swname.c:141,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0016-client_swname.c:147,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0016-client_swname.c:148,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0016-client_swname.c:164,1
    - Dst: do_test_swname
      Src: /src/librdkafka/tests/0016-client_swname.c:171,1
    - Dst: do_test_swname
      Src: /src/librdkafka/tests/0016-client_swname.c:173,1
    - Dst: do_test_swname
      Src: /src/librdkafka/tests/0016-client_swname.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 118
    functionDepth: 3
    functionLinenumber: 118
    functionLinenumberEnd: 181
    functionName: main_0016_client_swname
    functionSourceFile: /src/librdkafka/tests/0016-client_swname.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - test_getenv
    - test_needs_auth
    - do_test_swname
    - TEST_SKIP
    - TEST_WARN
    - TEST_BRKVER
    linkageType: ''
    returnType: int
    signature: int main_0016_client_swname(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0090-idempotence.c:65,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0090-idempotence.c:71,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0090-idempotence.c:76,1
    - Dst: assert
      Src: /src/librdkafka/tests/0090-idempotence.c:77,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:82,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0090-idempotence.c:84,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0090-idempotence.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - rk
    - brokerid
    - msgseq
    - err
    argTypes:
    - rd_kafka_t*
    - int32_t
    - uint64_t
    - rd_kafka_resp_err_t
    assertStmts:
    - condition: "(!err &&\n                       *\"First N ProduceRequests should
        not have failed\")"
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/librdkafka/tests/0090-idempotence.c
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: handle_ProduceResponse
    functionSourceFile: /src/librdkafka/tests/0090-idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - TEST_WARN
    - rd_atomic32_add
    - assert
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t handle_ProduceResponse(rd_kafka_t *rk,\n                                                  int32_t
      brokerid,\n                                                  uint64_t msgseq,\n
      \                                                 rd_kafka_resp_err_t err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0090-idempotence.c:102,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:110,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0090-idempotence.c:112,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0090-idempotence.c:116,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0090-idempotence.c:118,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0090-idempotence.c:119,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0090-idempotence.c:120,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0090-idempotence.c:121,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0090-idempotence.c:122,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0090-idempotence.c:123,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0090-idempotence.c:128,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0090-idempotence.c:131,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0090-idempotence.c:133,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0090-idempotence.c:135,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:137,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0090-idempotence.c:138,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:140,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0090-idempotence.c:141,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0090-idempotence.c:143,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0090-idempotence.c:144,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:146,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0090-idempotence.c:147,1
    - Dst: test_consume_msgs_easy_mv
      Src: /src/librdkafka/tests/0090-idempotence.c:148,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0090-idempotence.c:150,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0090-idempotence.c:151,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0090-idempotence.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 3
    argNames:
    - what
    - batch_cnt
    - initial_fail_batch_cnt
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 154
    functionName: do_test_implicit_ack
    functionSourceFile: /src/librdkafka/tests/0090-idempotence.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - rd_atomic32_init
    - test_create_topic_wait_exists
    - rd_kafka_flush
    - test_msgver_init
    - test_conf_init
    - TEST_SAY
    - test_id_generate
    - test_msgver_clear
    - test_mk_topic_name
    - test_conf_set
    - test_create_producer_topic
    - test_msgver_verify
    - rd_kafka_conf_set_dr_msg_cb
    - test_consume_msgs_easy_mv
    linkageType: ''
    returnType: void
    signature: "void do_test_implicit_ack(const char *what,\n                                 int
      batch_cnt,\n                                 int initial_fail_batch_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_implicit_ack
      Src: /src/librdkafka/tests/0090-idempotence.c:164,1
    - Dst: do_test_implicit_ack
      Src: /src/librdkafka/tests/0090-idempotence.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: main_0090_idempotence
    functionSourceFile: /src/librdkafka/tests/0090-idempotence.c
    functionUses: 0
    functionsReached:
    - do_test_implicit_ack
    linkageType: ''
    returnType: int
    signature: int main_0090_idempotence(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:53,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:57,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:57,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:61,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:62,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:63,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:82,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:83,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:84,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:86,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:88,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:92,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:92,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:92,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:96,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:97,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:98,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:98,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:101,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:104,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:104,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:114,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:114,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:120,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 124
    functionName: do_test_fetch_max_bytes
    functionSourceFile: /src/librdkafka/tests/0082-fetch_max_bytes.cpp
    functionUses: 0
    functionsReached:
    - tmout_multip
    - Test::Fail
    - RdKafka::Message*::errstr
    - Test::conf_init
    - RdKafka::KafkaConsumer*::c_ptr
    - RdKafka::Message*::err
    - std::string::c_str
    - RdKafka::KafkaConsumer*::consume
    - thrd_create
    - RdKafka::err2str
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::close
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::subscribe
    - test_wait_topic_exists
    - Test::Say
    - Test::conf_set
    - test_produce_msgs_easy_size
    linkageType: ''
    returnType: void
    signature: void do_test_fetch_max_bytes(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:129,1
    - Dst: do_test_fetch_max_bytes
      Src: /src/librdkafka/tests/0082-fetch_max_bytes.cpp:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: main_0082_fetch_max_bytes
    functionSourceFile: /src/librdkafka/tests/0082-fetch_max_bytes.cpp
    functionUses: 0
    functionsReached:
    - Test::Skip
    - do_test_fetch_max_bytes
    linkageType: ''
    returnType: int
    signature: int main_0082_fetch_max_bytes(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:108,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: my_dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_status
    - test_msgver_add_msg
    linkageType: ''
    returnType: void
    signature: "void my_dr_msg_cb(rd_kafka_t *rk,\n                         const
      rd_kafka_message_t *rkmessage,\n                         void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:126,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:149,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:154,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:156,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:157,1
    - Dst: sockem_ctrl_init
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:158,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:160,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:161,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:162,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:163,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:164,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:166,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:169,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:170,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:172,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:175,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:175,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:176,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:176,1
    - Dst: sockem_ctrl_set_delay
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:179,1
    - Dst: sockem_ctrl_set_delay
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:182,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:184,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:187,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:189,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:192,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:193,1
    - Dst: sockem_ctrl_term
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:195,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:197,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:200,1
    - Dst: test_consume_msgs_easy_mv
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:201,1
    - Dst: test_msgver_verify_compare
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:203,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:207,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:208,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 2
    argNames:
    - topic
    - msgrate
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 215
    functionName: do_test_produce_timeout
    functionSourceFile: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_flush
    - TEST_ASSERT
    - test_wait_topic_exists
    - test_msgver_verify_compare
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - test_socket_enable
    - sockem_ctrl_init
    - test_create_handle
    - test_auto_create_topic_rkt
    - test_id_generate
    - test_msgver_clear
    - sockem_ctrl_set_delay
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - sockem_ctrl_term
    - test_msgver_init
    - test_conf_init
    - test_conf_set
    - test_produce_msgs_nowait
    - test_consume_msgs_easy_mv
    linkageType: ''
    returnType: void
    signature: void do_test_produce_timeout(const char *topic, const int msgrate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:218,1
    - Dst: do_test_produce_timeout
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:220,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:223,1
    - Dst: do_test_produce_timeout
      Src: /src/librdkafka/tests/0094-idempotence_msg_timeout.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: main_0094_idempotence_msg_timeout
    functionSourceFile: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
    functionUses: 0
    functionsReached:
    - do_test_produce_timeout
    - test_mk_topic_name
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int main_0094_idempotence_msg_timeout(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_err
    argTypes:
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DrCb::DrCb
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DrCb(RdKafka::ErrorCode exp_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:44,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:46,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: DrCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - Test::Say
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_err
    argTypes:
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DrCb::DrCb
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DrCb(RdKafka::ErrorCode exp_err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:43,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:44,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:46,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: DrCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - Test::Say
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:67,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:67,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:72,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:76,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:79,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:80,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:82,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:84,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:88,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:89,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:89,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:97,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:98,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:101,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:101,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:103,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:108,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:113,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:116,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:119,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:120,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:123,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:123,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:127,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:128,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:130,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:130,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:135,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:139,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:140,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:143,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:146,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:149,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:152,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:155,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:158,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:160,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:163,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - topic_known
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 167
    functionName: do_test_producer
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached:
    - test_kafka_cmd
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Conf*::set
    - Test::conf_init
    - RdKafka::Producer*::flush
    - rd_sleep
    - tostr
    - std::string::c_str
    - thrd_create
    - TEST_ASSERT
    - RdKafka::err2str
    - Test::create_topic_wait_exists
    - test_mk_topic_name
    - Test::Say
    - RdKafka::Conf*::get
    linkageType: ''
    returnType: void
    signature: void do_test_producer(bool topic_known)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:172,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:173,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:177,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0115-producer_auth.cpp:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: main_0115_producer_auth
    functionSourceFile: /src/librdkafka/tests/0115-producer_auth.cpp
    functionUses: 0
    functionsReached:
    - test_needs_auth
    - Test::Skip
    - do_test_producer
    linkageType: ''
    returnType: int
    signature: int main_0115_producer_auth(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0007-autotopic.c:58,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0007-autotopic.c:61,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0007-autotopic.c:66,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0007-autotopic.c:67,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0007-autotopic.c:72,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0007-autotopic.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 74
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0007-autotopic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - TEST_SAY
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0007-autotopic.c:89,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0007-autotopic.c:91,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0007-autotopic.c:97,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0007-autotopic.c:100,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0007-autotopic.c:102,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0007-autotopic.c:102,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0007-autotopic.c:105,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0007-autotopic.c:105,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0007-autotopic.c:109,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0007-autotopic.c:111,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0007-autotopic.c:113,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0007-autotopic.c:114,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0007-autotopic.c:116,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0007-autotopic.c:117,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0007-autotopic.c:122,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0007-autotopic.c:123,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0007-autotopic.c:126,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0007-autotopic.c:129,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0007-autotopic.c:132,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0007-autotopic.c:132,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0007-autotopic.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 136
    functionName: main_0007_autotopic
    functionSourceFile: /src/librdkafka/tests/0007-autotopic.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_new
    - test_conf_init
    - TEST_SAY
    - rd_kafka_poll
    - rd_kafka_outq_len
    - rd_kafka_name
    - test_mk_topic_name
    - rd_strerror
    - strlen
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    linkageType: ''
    returnType: int
    signature: int main_0007_autotopic(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ERR
    - ','
    - EXP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: check_err
    functionSourceFile: /src/librdkafka/tests/0057-invalid_topic.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_err(ERR, EXP)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::payload
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:52,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:54,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:54,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:55,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:55,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:56,1
    - Dst: check_err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:59,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:59,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:61,1
    - Dst: check_err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:62,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:62,1
    - Dst: check_err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:64,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: DrCb0057::dr_cb
    functionSourceFile: /src/librdkafka/tests/0057-invalid_topic.cpp
    functionUses: 0
    functionsReached:
    - check_err
    - RdKafka::Message::errstr
    - tostr
    - TEST_BRKVER
    - Test::Say
    - RdKafka::Message::partition
    - RdKafka::Message::topic_name
    - RdKafka::Message::payload
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:70,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:71,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:75,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:78,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:80,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:82,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:87,1
    - Dst: check_err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:90,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:92,1
    - Dst: check_err
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:94,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:97,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:97,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:99,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:100,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:100,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 105
    functionName: test_invalid_topic
    functionSourceFile: /src/librdkafka/tests/0057-invalid_topic.cpp
    functionUses: 0
    functionsReached:
    - check_err
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Conf*::set
    - Test::conf_init
    - RdKafka::Producer*::flush
    - RdKafka::Producer*::outq_len
    - tostr
    - thrd_create
    - test_mk_topic_name
    - tmout_multip
    linkageType: ''
    returnType: void
    signature: void test_invalid_topic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_invalid_topic
      Src: /src/librdkafka/tests/0057-invalid_topic.cpp:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: main_0057_invalid_topic
    functionSourceFile: /src/librdkafka/tests/0057-invalid_topic.cpp
    functionUses: 0
    functionsReached:
    - test_invalid_topic
    linkageType: ''
    returnType: int
    signature: int main_0057_invalid_topic(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0079-fork.c:47,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0079-fork.c:53,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0079-fork.c:60,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0079-fork.c:62,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0079-fork.c:62,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0079-fork.c:63,1
    - Dst: fork
      Src: /src/librdkafka/tests/0079-fork.c:65,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0079-fork.c:66,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0079-fork.c:66,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0079-fork.c:73,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0079-fork.c:73,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0079-fork.c:74,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0079-fork.c:77,1
    - Dst: exit
      Src: /src/librdkafka/tests/0079-fork.c:79,1
    - Dst: waitpid
      Src: /src/librdkafka/tests/0079-fork.c:83,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0079-fork.c:84,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0079-fork.c:84,1
    - Dst: WIFEXITED
      Src: /src/librdkafka/tests/0079-fork.c:86,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/0079-fork.c:86,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0079-fork.c:87,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/0079-fork.c:87,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0079-fork.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 93
    functionName: main_0079_fork
    functionSourceFile: /src/librdkafka/tests/0079-fork.c
    functionUses: 0
    functionsReached:
    - fork
    - exit
    - rd_kafka_destroy
    - WEXITSTATUS
    - RD_KAFKA_V_VALUE
    - test_create_producer
    - strerror
    - waitpid
    - WIFEXITED
    - RD_KAFKA_V_TOPIC
    - TEST_SKIP
    - TEST_ASSERT
    - TEST_FAIL
    - rd_kafka_producev
    linkageType: ''
    returnType: int
    signature: int main_0079_fork(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:56,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:58,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:58,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:59,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:60,1
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 65
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0069-consumer_add_parts.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - test_print_partition_list
    - test_rebalance_cb
    - rd_kafka_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:69,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:73,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:75,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:76,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:77,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:79,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:80,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:82,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:83,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:84,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:87,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:90,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:91,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:95,1
    - Dst: test_create_partitions
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:96,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:98,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:101,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:102,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:104,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:106,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:108,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:109,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:111,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:113,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:115,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0069-consumer_add_parts.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: main_0069_consumer_add_parts
    functionSourceFile: /src/librdkafka/tests/0069-consumer_add_parts.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_consumer_poll_no_msgs
    - test_create_topic_wait_exists
    - test_conf_init
    - TEST_SAY
    - test_consumer_close
    - TEST_ASSERT
    - rd_kafka_err2str
    - test_mk_topic_name
    - test_create_partitions
    - test_create_consumer
    - test_clock
    linkageType: ''
    returnType: int
    signature: int main_0069_consumer_add_parts(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0005-order.c:56,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:59,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0005-order.c:60,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0005-order.c
    functionUses: 1
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0005-order.c:84,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0005-order.c:87,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0005-order.c:90,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0005-order.c:92,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0005-order.c:92,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:94,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0005-order.c:94,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0005-order.c:97,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0005-order.c:99,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0005-order.c:101,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0005-order.c:103,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0005-order.c:104,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:106,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0005-order.c:107,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0005-order.c:109,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0005-order.c:110,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0005-order.c:113,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0005-order.c:114,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0005-order.c:115,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0005-order.c:116,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:119,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0005-order.c:122,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0005-order.c:126,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0005-order.c:129,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0005-order.c:129,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0005-order.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 133
    functionName: main_0005_order
    functionSourceFile: /src/librdkafka/tests/0005-order.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_outq_len
    - rd_kafka_name
    - rd_kafka_destroy
    - rd_kafka_conf_set_dr_cb
    - TEST_SAY
    - rd_strerror
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    - test_create_handle
    - TIMING_STOP
    - test_conf_init
    - TIMING_START
    - rd_kafka_poll
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: int
    signature: int main_0005_order(int argc, char **argv)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:51,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:51,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:57,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:58,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:61,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:66,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:67,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:73,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:76,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:77,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:78,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:82,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:83,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:84,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:87,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:89,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:92,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:93,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:96,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:98,1
    - Dst: Test::create_topic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:102,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:102,1
    - Dst: Test::create_topic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:105,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:105,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:108,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:113,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:118,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:118,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:127,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:130,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:133,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:134,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:136,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:146,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:171,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:175,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:176,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:176,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:183,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:183,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:184,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:194,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:205,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:205,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:205,1
    - Dst: std::map::find
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:209,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:209,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:213,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:214,1
    - Dst: std::map::end
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:216,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:218,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:219,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:219,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:219,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:222,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:222,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:223,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:223,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:224,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:226,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:227,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:227,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:227,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:230,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:230,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:231,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:232,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:232,1
    - Dst: std::map::erase
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:234,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:234,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:235,1
    - Dst: std::map::empty
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:252,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:253,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:253,1
    - Dst: std::map::size
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:253,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:255,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 3
    argNames:
    - allow_auto_create_topics
    - with_wildcards
    - test_unauthorized_topic
    argTypes:
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 258
    functionName: do_test_consumer
    functionSourceFile: /src/librdkafka/tests/0109-auto_create_topics.cpp
    functionUses: 0
    functionsReached:
    - test_kafka_cmd
    - Test::conf_init
    - RdKafka::Message*::err
    - std::map::empty
    - TEST_BRKVER
    - test_wait_topic_exists
    - RdKafka::KafkaConsumer*::consume
    - test_needs_auth
    - std::map::find
    - Test::conf_set
    - std::map::erase
    - RdKafka::Message*::errstr
    - std::string::c_str
    - std::map::size
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - RdKafka::Conf*::get
    - tmout_multip
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - RdKafka::Message*::topic_name
    - std::vector::push_back
    - test_mk_topic_name
    - std::map::end
    - Test::create_topic
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer(bool allow_auto_create_topics,\n                             bool
      with_wildcards,\n                             bool test_unauthorized_topic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:264,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:265,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:267,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:268,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:270,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:271,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:273,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0109-auto_create_topics.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 277
    functionName: main_0109_auto_create_topics
    functionSourceFile: /src/librdkafka/tests/0109-auto_create_topics.cpp
    functionUses: 0
    functionsReached:
    - do_test_consumer
    linkageType: ''
    returnType: int
    signature: int main_0109_auto_create_topics(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0029-assign_offset.c:60,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0029-assign_offset.c:60,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0029-assign_offset.c:61,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0029-assign_offset.c:64,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/tests/0029-assign_offset.c:72,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0029-assign_offset.c:91,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0029-assign_offset.c:92,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0029-assign_offset.c:93,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0029-assign_offset.c:98,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0029-assign_offset.c:103,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0029-assign_offset.c:103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 105
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0029-assign_offset.c
    functionUses: 1
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - test_consumer_unassign_by_rebalance_protocol
    - test_print_partition_list
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_FAIL
    - rd_kafka_topic_partition_list_del_by_idx
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0029-assign_offset.c:108,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0029-assign_offset.c:117,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0029-assign_offset.c:122,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0029-assign_offset.c:123,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0029-assign_offset.c:124,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0029-assign_offset.c:125,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0029-assign_offset.c:127,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0029-assign_offset.c:130,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0029-assign_offset.c:132,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:136,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:137,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0029-assign_offset.c:141,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0029-assign_offset.c:142,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0029-assign_offset.c:143,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0029-assign_offset.c:144,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0029-assign_offset.c:145,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0029-assign_offset.c:148,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0029-assign_offset.c:150,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0029-assign_offset.c:151,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:152,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0029-assign_offset.c:153,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:155,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0029-assign_offset.c:160,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0029-assign_offset.c:162,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0029-assign_offset.c:163,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0029-assign_offset.c:164,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0029-assign_offset.c:165,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0029-assign_offset.c:166,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0029-assign_offset.c:169,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0029-assign_offset.c:172,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0029-assign_offset.c:173,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:174,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0029-assign_offset.c:175,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0029-assign_offset.c:183,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0029-assign_offset.c:184,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0029-assign_offset.c:185,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0029-assign_offset.c:186,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0029-assign_offset.c:187,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0029-assign_offset.c:191,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0029-assign_offset.c:195,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0029-assign_offset.c:196,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0029-assign_offset.c:197,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0029-assign_offset.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 202
    functionName: main_0029_assign_offset
    functionSourceFile: /src/librdkafka/tests/0029-assign_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_partition_list_add
    - TEST_BRKVER
    - test_wait_topic_exists
    - test_consumer_poll
    - rd_kafka_destroy
    - test_produce_msgs
    - test_consumer_close
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_assign
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - test_create_producer_topic
    - test_msgver_verify_part
    - TIMING_STOP
    - test_create_producer
    - test_msgver_init
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0029_assign_offset(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: _TEST_DECL
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TEST_DECL(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - FLAGS
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: _TEST
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TEST(NAME, FLAGS, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: _THRES
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _THRES(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:563,1
    - Dst: rd_list_add
      Src: /src/librdkafka/tests/test.c:564,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - test
    - skm
    argTypes:
    - struct test*
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: test_socket_add
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_LOCK
    - rd_list_add
    - TEST_UNLOCK
    linkageType: ''
    returnType: void
    signature: void test_socket_add(struct test *test, sockem_t *skm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:570,1
    - Dst: rd_list_find
      Src: /src/librdkafka/tests/test.c:571,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - test
    - skm
    argTypes:
    - struct test*
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 574
    functionName: test_socket_find
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_LOCK
    - rd_list_find
    - TEST_UNLOCK
    linkageType: ''
    returnType: void
    signature: void *test_socket_find(struct test *test, sockem_t *skm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:578,1
    - Dst: rd_list_remove
      Src: /src/librdkafka/tests/test.c:580,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - test
    - skm
    - do_lock
    argTypes:
    - struct test*
    - sockem_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 583
    functionName: test_socket_del
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_LOCK
    - rd_list_remove
    - TEST_UNLOCK
    linkageType: ''
    returnType: void
    signature: void test_socket_del(struct test *test, sockem_t *skm, int do_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:590,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/tests/test.c:592,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:593,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/tests/test.c:596,1
    - Dst: sockem_set
      Src: /src/librdkafka/tests/test.c:597,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:598,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:601,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 604
    functionName: test_socket_sockem_set_all
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - TEST_UNLOCK
    - TEST_LOCK
    - TEST_SAY
    - RD_LIST_FOREACH
    - sockem_set
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: int test_socket_sockem_set_all(const char *key, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:609,1
    - Dst: sockem_find
      Src: /src/librdkafka/tests/test.c:610,1
    - Dst: sockem_set
      Src: /src/librdkafka/tests/test.c:612,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - key
    - value
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 614
    functionName: test_socket_sockem_set
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - sockem_find
    - TEST_LOCK
    - TEST_UNLOCK
    - sockem_set
    linkageType: ''
    returnType: void
    signature: void test_socket_sockem_set(int s, const char *key, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:617,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/tests/test.c:618,1
    - Dst: rd_list_init
      Src: /src/librdkafka/tests/test.c:620,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - test
    - reinit
    argTypes:
    - struct test*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: test_socket_close_all
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - TEST_LOCK
    - TEST_UNLOCK
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: void test_socket_close_all(struct test *test, int reinit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sockem_connect
      Src: /src/librdkafka/tests/test.c:634,1
    - Dst: struct test*::connect_cb
      Src: /src/librdkafka/tests/test.c:639,1
    - Dst: test_socket_add
      Src: /src/librdkafka/tests/test.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - s
    - addr
    - addrlen
    - id
    - opaque
    argTypes:
    - int
    - struct sockaddr*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 647
    functionName: test_connect_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - struct test*::connect_cb
    - test_socket_add
    - sockem_connect
    linkageType: ''
    returnType: int
    signature: "int test_connect_cb(int s,\n                           const struct
      sockaddr *addr,\n                           int addrlen,\n                           const
      char *id,\n                           void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:653,1
    - Dst: sockem_find
      Src: /src/librdkafka/tests/test.c:654,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/test.c:657,1
    - Dst: test_socket_del
      Src: /src/librdkafka/tests/test.c:658,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:660,1
    - Dst: closesocket
      Src: /src/librdkafka/tests/test.c:664,1
    - Dst: close
      Src: /src/librdkafka/tests/test.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - s
    - opaque
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 649
    functionDepth: 2
    functionLinenumber: 649
    functionLinenumberEnd: 670
    functionName: test_closesocket_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - closesocket
    - TEST_LOCK
    - test_socket_del
    - close
    - sockem_close
    - sockem_find
    linkageType: ''
    returnType: int
    signature: int test_closesocket_cb(int s, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_connect_cb
      Src: /src/librdkafka/tests/test.c:674,1
    - Dst: rd_kafka_conf_set_closesocket_cb
      Src: /src/librdkafka/tests/test.c:675,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/test.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 677
    functionName: test_socket_enable
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_set_connect_cb
    - rd_kafka_conf_set_opaque
    - rd_kafka_conf_set_closesocket_cb
    linkageType: ''
    returnType: void
    signature: void test_socket_enable(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: test_error_is_not_fatal_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int test_error_is_not_fatal_cb(rd_kafka_t *rk,\n                               rd_kafka_resp_err_t
      err,\n                               const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_fatal_cb
      Src: /src/librdkafka/tests/test.c:692,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:693,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:694,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:694,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:698,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:699,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/test.c:701,1
    - Dst: is_fatal_cb
      Src: /src/librdkafka/tests/test.c:704,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:705,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:708,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:709,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:711,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:712,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:713,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:716,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:716,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 720
    functionName: test_error_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - is_fatal_cb
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_fatal_error
    - rd_kafka_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void test_error_cb(rd_kafka_t *rk, int err, const char *reason, void
      *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:726,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - json
    - json_len
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: test_stats_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_name
    linkageType: ''
    returnType: int
    signature: int test_stats_cb(rd_kafka_t *rk, char *json, size_t json_len, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:738,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:739,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:742,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: test_timeout_set
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_LOCK
    - TEST_SAY
    - test_clock
    - TEST_UNLOCK
    linkageType: ''
    returnType: void
    signature: void test_timeout_set(int timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:748,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - msecs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 752
    functionName: tmout_multip
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 5
    functionsReached:
    - TEST_LOCK
    - TEST_UNLOCK
    linkageType: ''
    returnType: int
    signature: int tmout_multip(int msecs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/librdkafka/tests/test.c:759,1
    - Dst: GetConsoleMode
      Src: /src/librdkafka/tests/test.c:762,1
    - Dst: SetConsoleMode
      Src: /src/librdkafka/tests/test.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: test_init_win32
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - SetConsoleMode
    - GetConsoleMode
    - GetStdHandle
    linkageType: ''
    returnType: void
    signature: void test_init_win32(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:782,1
    - Dst: atoi
      Src: /src/librdkafka/tests/test.c:783,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:784,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/test.c:785,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:786,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/test.c:787,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:788,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:790,1
    - Dst: atoi
      Src: /src/librdkafka/tests/test.c:791,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:793,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:794,1
    - Dst: strtod
      Src: /src/librdkafka/tests/test.c:795,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:797,1
    - Dst: exit
      Src: /src/librdkafka/tests/test.c:801,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:805,1
    - Dst: test_init_win32
      Src: /src/librdkafka/tests/test.c:809,1
    - Dst: QueryPerformanceCounter
      Src: /src/librdkafka/tests/test.c:812,1
    - Dst: srand
      Src: /src/librdkafka/tests/test.c:816,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: test_init
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - test_init_win32
    - test_getenv
    - QueryPerformanceCounter
    - atoi
    - strncpy
    - srand
    - strtod
    - test_clock
    linkageType: ''
    returnType: void
    signature: void test_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:825,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:829,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/test.c:830,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:832,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - suffix
    - randomized
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 838
    functionName: test_mk_topic_name
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 10
    functionsReached:
    - test_id_generate
    - TEST_SAY
    - rd_snprintf
    - strncmp
    linkageType: ''
    returnType: char
    signature: char *test_mk_topic_name(const char *suffix, int randomized)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:846,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:847,1
    - Dst: strtod
      Src: /src/librdkafka/tests/test.c:848,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:849,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:850,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:851,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:852,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:854,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:855,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:855,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:859,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:860,1
    - Dst: strtod
      Src: /src/librdkafka/tests/test.c:861,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:862,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:863,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:864,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:866,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:867,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - name
    - val
    - timeoutp
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 873
    functionName: test_set_special_conf
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_free
    - TEST_UNLOCK
    - rd_snprintf
    - TEST_LOCK
    - strcmp
    - strtod
    - rd_strdup
    - tmout_multip
    linkageType: ''
    returnType: int
    signature: int test_set_special_conf(const char *name, const char *val, int *timeoutp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/librdkafka/tests/test.c:888,1
    - Dst: fopen_s
      Src: /src/librdkafka/tests/test.c:891,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:895,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:898,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:899,1
    - Dst: fread
      Src: /src/librdkafka/tests/test.c:902,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/test.c:909,1
    - Dst: fread
      Src: /src/librdkafka/tests/test.c:911,1
    - Dst: fclose
      Src: /src/librdkafka/tests/test.c:915,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - path
    - dst
    - dst_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 917
    functionName: test_read_file
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fclose
    - strerror
    - fread
    - TEST_SAY
    - fopen
    - fopen_s
    - memcpy
    - TEST_FAIL
    linkageType: ''
    returnType: size_t
    signature: size_t test_read_file(const char *path, char *dst, size_t dst_size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/librdkafka/tests/test.c:928,1
    - Dst: fopen_s
      Src: /src/librdkafka/tests/test.c:931,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:935,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:938,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:939,1
    - Dst: fgets
      Src: /src/librdkafka/tests/test.c:942,1
    - Dst: strchr
      Src: /src/librdkafka/tests/test.c:950,1
    - Dst: strchr
      Src: /src/librdkafka/tests/test.c:956,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:957,1
    - Dst: test_set_special_conf
      Src: /src/librdkafka/tests/test.c:964,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:967,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:967,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:968,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/test.c:970,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:975,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:980,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:987,1
    - Dst: fclose
      Src: /src/librdkafka/tests/test.c:990,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 4
    argNames:
    - conf_path
    - conf
    - topic_conf
    - timeoutp
    argTypes:
    - char*
    - rd_kafka_conf_t*
    - rd_kafka_topic_conf_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 991
    functionName: test_read_conf_file
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fclose
    - fgets
    - rd_kafka_conf_set
    - strerror
    - TEST_SAY
    - rd_kafka_topic_conf_set
    - fopen
    - fopen_s
    - strchr
    - strncmp
    - strlen
    - TEST_FAIL
    - test_set_special_conf
    linkageType: ''
    returnType: void
    signature: "void test_read_conf_file(const char *conf_path,\n                                rd_kafka_conf_t
      *conf,\n                                rd_kafka_topic_conf_t *topic_conf,\n
      \                               int *timeoutp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: test_conf_get_path
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_getenv
    linkageType: ''
    returnType: char
    signature: char *test_conf_get_path(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_getenv
      Src: /src/librdkafka/tests/test.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - env
    - def
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: test_getenv
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - rd_getenv
    linkageType: ''
    returnType: char
    signature: char *test_getenv(const char *env, const char *def)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1016,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:1018,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/test.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - timeout
    argTypes:
    - rd_kafka_conf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1023
    functionName: test_conf_common_init
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_timeout_set
    - test_getenv
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void test_conf_common_init(rd_kafka_conf_t *conf, int timeout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_get_path
      Src: /src/librdkafka/tests/test.c:1033,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/test.c:1036,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:1037,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:1039,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/test.c:1040,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/tests/test.c:1041,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:1045,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1052,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:1053,1
    - Dst: signal
      Src: /src/librdkafka/tests/test.c:1055,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/test.c:1062,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/test.c:1066,1
    - Dst: test_read_conf_file
      Src: /src/librdkafka/tests/test.c:1069,1
    - Dst: test_conf_common_init
      Src: /src/librdkafka/tests/test.c:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - conf
    - topic_conf
    - timeout
    argTypes:
    - rd_kafka_conf_t**
    - rd_kafka_topic_conf_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1030
    functionDepth: 4
    functionLinenumber: 1030
    functionLinenumberEnd: 1073
    functionName: test_conf_init
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 7
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_conf_set_error_cb
    - test_conf_common_init
    - rd_kafka_conf_set
    - rd_kafka_topic_conf_new
    - rd_snprintf
    - test_conf_get_path
    - test_conf_set
    - signal
    - test_socket_enable
    - test_read_conf_file
    - rd_kafka_conf_set_stats_cb
    linkageType: ''
    returnType: void
    signature: "void test_conf_init(rd_kafka_conf_t **conf,\n                    rd_kafka_topic_conf_t
      **topic_conf,\n                    int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/test.c:1091,1
    - Dst: test_conf_log_interceptor_t*::log_cb
      Src: /src/librdkafka/tests/test.c:1092,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1093,1
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/tests/test.c:1096,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1099,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1102
    functionName: test_conf_log_interceptor_log_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fprintf
    - test_getenv
    - rd_kafka_name
    - rd_kafka_opaque
    - test_conf_log_interceptor_t*::log_cb
    - rd_gettimeofday
    linkageType: ''
    returnType: void
    signature: "void test_conf_log_interceptor_log_cb(const rd_kafka_t *rk,\n                                             int
      level,\n                                             const char *fac,\n                                             const
      char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1122,1
    - Dst: rd_calloc
      Src: /src/librdkafka/tests/test.c:1124,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/test.c:1126,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/test.c:1127,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:1129,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1131,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:1137,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:1140,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1144,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:1150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - debug_contexts
    argTypes:
    - rd_kafka_conf_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1153
    functionName: test_conf_set_log_interceptor
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - test_getenv
    - rd_calloc
    - rd_kafka_conf_set_opaque
    - strstr
    - test_conf_set
    - strlen
    - rd_kafka_conf_set_log_cb
    linkageType: ''
    returnType: test_conf_log_interceptor_t
    signature: "test_conf_log_interceptor_t *\ntest_conf_set_log_interceptor(rd_kafka_conf_t
      *conf,\n                              void (*log_cb)(const rd_kafka_t *rk,\n
      \                                            int level,\n                                             const
      char *fac,\n                                             const char *buf),\n
      \                             const char **debug_contexts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_s
      Src: /src/librdkafka/tests/test.c:1158,1
    - Dst: rand
      Src: /src/librdkafka/tests/test.c:1160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1163
    functionName: test_rand
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rand
    - rand_s
    linkageType: ''
    returnType: RD_INLINE unsigned
    signature: RD_INLINE unsigned test_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_rand
      Src: /src/librdkafka/tests/test.c:1168,1
    - Dst: test_rand
      Src: /src/librdkafka/tests/test.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1169
    functionName: test_id_generate
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 4
    functionsReached:
    - test_rand
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t test_id_generate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1176,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/test.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - dest_size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1178
    functionName: test_str_id_generate
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - test_id_generate
    linkageType: ''
    returnType: char
    signature: char *test_str_id_generate(char *dest, size_t dest_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/test.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1186
    functionName: test_str_id_generate_tmp
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_str_id_generate
    linkageType: ''
    returnType: char
    signature: char *test_str_id_generate_tmp(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1199,1
    - Dst: memset
      Src: /src/librdkafka/tests/test.c:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dest
    - dest_size
    - testid
    - partition
    - msgid
    argTypes:
    - char*
    - size_t
    - uint64_t
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1206
    functionName: test_msg_fmt
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - memset
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void test_msg_fmt(char *dest,\n                  size_t dest_size,\n
      \                 uint64_t testid,\n                  int32_t partition,\n                  int
      msgid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_msg_fmt
      Src: /src/librdkafka/tests/test.c:1220,1
    - Dst: RD_MIN
      Src: /src/librdkafka/tests/test.c:1224,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/test.c:1225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - testid
    - partition
    - msg_id
    - val
    - val_size
    - key
    - key_size
    argTypes:
    - uint64_t
    - int32_t
    - int
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1211
    functionDepth: 1
    functionLinenumber: 1211
    functionLinenumberEnd: 1228
    functionName: test_prepare_msg
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - memcpy
    - RD_MIN
    - test_msg_fmt
    linkageType: ''
    returnType: void
    signature: "void test_prepare_msg(uint64_t testid,\n                      int32_t
      partition,\n                      int msg_id,\n                      char *val,\n
      \                     size_t val_size,\n                      char *key,\n                      size_t
      key_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1250,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1255,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/test.c:1257,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1259,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 10
    argNames:
    - func
    - line
    - testid
    - exp_partition
    - msgidp
    - topic
    - partition
    - offset
    - key
    - key_size
    argTypes:
    - char*
    - int
    - uint64_t
    - int32_t
    - int*
    - char*
    - int32_t
    - int64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1268
    functionName: test_msg_parse00
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - rd_snprintf
    - sscanf
    linkageType: ''
    returnType: void
    signature: "void test_msg_parse00(const char *func,\n                      int
      line,\n                      uint64_t testid,\n                      int32_t
      exp_partition,\n                      int *msgidp,\n                      const
      char *topic,\n                      int32_t partition,\n                      int64_t
      offset,\n                      const char *key,\n                      size_t
      key_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_msg_parse00
      Src: /src/librdkafka/tests/test.c:1276,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - func
    - line
    - testid
    - rkmessage
    - exp_partition
    - msgidp
    argTypes:
    - char*
    - int
    - uint64_t
    - rd_kafka_message_t*
    - int32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1280
    functionName: test_msg_parse0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_name
    - test_msg_parse00
    linkageType: ''
    returnType: void
    signature: "void test_msg_parse0(const char *func,\n                     int line,\n
      \                    uint64_t testid,\n                     rd_kafka_message_t
      *rkmessage,\n                     int32_t exp_partition,\n                     int
      *msgidp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1295,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/test.c:1296,1
    - Dst: fopen
      Src: /src/librdkafka/tests/test.c:1297,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1298,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:1299,1
    - Dst: rd_list_init
      Src: /src/librdkafka/tests/test.c:1304,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1309,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1312,1
    - Dst: test_rusage_start
      Src: /src/librdkafka/tests/test.c:1314,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:1315,1
    - Dst: struct test*::mainfunc
      Src: /src/librdkafka/tests/test.c:1319,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:1321,1
    - Dst: test_rusage_stop
      Src: /src/librdkafka/tests/test.c:1322,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:1323,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1325,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:1326,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1329,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1335,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1342,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1348,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/test.c:1350,1
    - Dst: test_socket_close_all
      Src: /src/librdkafka/tests/test.c:1353,1
    - Dst: ftell
      Src: /src/librdkafka/tests/test.c:1357,1
    - Dst: fclose
      Src: /src/librdkafka/tests/test.c:1358,1
    - Dst: unlink
      Src: /src/librdkafka/tests/test.c:1363,1
    - Dst: _unlink
      Src: /src/librdkafka/tests/test.c:1365,1
    - Dst: test_delete_all_test_topics
      Src: /src/librdkafka/tests/test.c:1371,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - run_args
    argTypes:
    - struct run_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1289
    functionDepth: 2
    functionLinenumber: 1289
    functionLinenumberEnd: 1374
    functionName: run_test0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - rd_snprintf
    - ftell
    - TEST_LOCK
    - cnd_broadcast
    - test_delete_all_test_topics
    - TIMING_DURATION
    - test_rusage_stop
    - fclose
    - test_rusage_start
    - strerror
    - TEST_SAY
    - rd_list_init
    - unlink
    - fopen
    - test_id_generate
    - TIMING_STOP
    - test_socket_close_all
    - TIMING_START
    - struct test*::mainfunc
    - _unlink
    linkageType: ''
    returnType: int
    signature: int run_test0(struct run_args *run_args)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: thrd_detach
      Src: /src/librdkafka/tests/test.c:1381,1
    - Dst: thrd_current
      Src: /src/librdkafka/tests/test.c:1381,1
    - Dst: run_test0
      Src: /src/librdkafka/tests/test.c:1383,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1385,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1387,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:1389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1378
    functionDepth: 3
    functionLinenumber: 1378
    functionLinenumberEnd: 1392
    functionName: run_test_from_thread
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - free
    - thrd_detach
    - TEST_LOCK
    - run_test0
    - thrd_current
    linkageType: ''
    returnType: int
    signature: int run_test_from_thread(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:1400,1
    - Dst: test_summary
      Src: /src/librdkafka/tests/test.c:1412,1
    - Dst: TEST_FAIL0
      Src: /src/librdkafka/tests/test.c:1413,1
    - Dst: TerminateThread
      Src: /src/librdkafka/tests/test.c:1423,1
    - Dst: pthread_kill
      Src: /src/librdkafka/tests/test.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1399
    functionDepth: 1
    functionLinenumber: 1399
    functionLinenumberEnd: 1429
    functionName: check_test_timeouts
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_summary
    - TEST_FAIL0
    - pthread_kill
    - test_clock
    - TerminateThread
    linkageType: ''
    returnType: void
    signature: void check_test_timeouts(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/librdkafka/tests/test.c:1433,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1440,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1443,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/test.c:1447,1
    - Dst: check_test_timeouts
      Src: /src/librdkafka/tests/test.c:1449,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:1452,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1455,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/test.c:1457,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1459,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1462,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - test
    - argc
    - argv
    argTypes:
    - struct test*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1468
    functionName: run_test
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - calloc
    - TEST_LOCK
    - TEST_SAY
    - thrd_create
    - cnd_timedwait_ms
    - TEST_FAIL
    - test_clock
    - check_test_timeouts
    linkageType: ''
    returnType: int
    signature: int run_test(struct test *test, int argc, char **argv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/librdkafka/tests/test.c:1486,1
    - Dst: strchr
      Src: /src/librdkafka/tests/test.c:1488,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1500,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1503,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1504,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1505,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1506,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:1510,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1511,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:1517,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:1523,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1526,1
    - Dst: run_test
      Src: /src/librdkafka/tests/test.c:1534,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:1537,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1541,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1543,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/test.c:1546,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1551
    functionName: run_tests
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - TEST_UNLOCK
    - rd_snprintf
    - TEST_LOCK
    - strcmp
    - TEST_SKIP
    - strncpy
    - strstr
    - strchr
    - TEST_BRKVER_X
    - run_test
    linkageType: ''
    returnType: void
    signature: void run_tests(int argc, char **argv)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/tests/test.c:1573,1
    - Dst: localtime
      Src: /src/librdkafka/tests/test.c:1574,1
    - Dst: strftime
      Src: /src/librdkafka/tests/test.c:1575,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1577,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1578,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1580,1
    - Dst: fopen
      Src: /src/librdkafka/tests/test.c:1586,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:1588,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:1589,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1591,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:1604,1
    - Dst: _popen
      Src: /src/librdkafka/tests/test.c:1608,1
    - Dst: popen
      Src: /src/librdkafka/tests/test.c:1610,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:1613,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1616,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1627,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:1640,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1660,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:1684,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:1694,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:1695,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1696,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1700,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1702,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1703,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1708,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1724,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1728,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1732,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:1741,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1744,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1749,1
    - Dst: fclose
      Src: /src/librdkafka/tests/test.c:1759,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1760,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1764,1
    - Dst: fclose
      Src: /src/librdkafka/tests/test.c:1769,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 1
    argNames:
    - do_lock
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1558
    functionDepth: 1
    functionLinenumber: 1558
    functionLinenumberEnd: 1773
    functionName: test_summary
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - _popen
    - TEST_UNLOCK
    - rd_snprintf
    - popen
    - TEST_LOCK
    - fclose
    - fprintf
    - strerror
    - TEST_SAY
    - localtime
    - test_clock
    - test_getenv
    - time
    - fopen
    - printf
    - strftime
    - TEST_WARN
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int test_summary(int do_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/librdkafka/tests/test.c:1778,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1782
    functionName: test_sig_term
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void test_sig_term(int sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/tests/test.c:1790,1
    - Dst: rd_kafka_thread_cnt
      Src: /src/librdkafka/tests/test.c:1792,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1793,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:1794,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1797,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1800,1
    - Dst: time
      Src: /src/librdkafka/tests/test.c:1802,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1804,1
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/tests/test.c:1808,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:1809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - timeout
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1813
    functionName: test_wait_exit
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - time
    - rd_kafka_thread_cnt
    - rd_sleep
    - TEST_SAY
    - rd_kafka_wait_destroyed
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void test_wait_exit(int timeout)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:1829,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:1830,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:1835,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1836
    functionName: test_cleanup
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void test_cleanup(void)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/test.c:1845,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/test.c:1846,1
    - Dst: test_init
      Src: /src/librdkafka/tests/test.c:1848,1
    - Dst: signal
      Src: /src/librdkafka/tests/test.c:1851,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1853,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1854,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1855,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1856,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1857,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1860,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1863,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:1866,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:1871,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:1874,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:1874,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1876,1
    - Dst: strtod
      Src: /src/librdkafka/tests/test.c:1881,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1882,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1884,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1886,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1888,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1890,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1892,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1894,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1896,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/test.c:1897,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1899,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1901,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1903,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1905,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:1907,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:1909,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:1912,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:1912,1
    - Dst: strtod
      Src: /src/librdkafka/tests/test.c:1914,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:1916,1
    - Dst: exit
      Src: /src/librdkafka/tests/test.c:1920,1
    - Dst: printf
      Src: /src/librdkafka/tests/test.c:1926,1
    - Dst: exit
      Src: /src/librdkafka/tests/test.c:1974,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1978,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/test.c:1981,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1983,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/test.c:1987,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:1989,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:1990,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1991,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1992,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1993,1
    - Dst: TEST_BRKVER_X
      Src: /src/librdkafka/tests/test.c:1994,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:2001,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:2004,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:2006,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:2009,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:2009,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:2010,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:2012,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:2013,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:2014,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:2016,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2030,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2033,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2035,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2037,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2038,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2040,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2041,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2044,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2045,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2048,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2051,1
    - Dst: _getcwd
      Src: /src/librdkafka/tests/test.c:2056,1
    - Dst: getcwd
      Src: /src/librdkafka/tests/test.c:2058,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2061,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/test.c:2064,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2066,1
    - Dst: run_tests
      Src: /src/librdkafka/tests/test.c:2069,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:2071,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2076,1
    - Dst: TEST_SAY0
      Src: /src/librdkafka/tests/test.c:2082,1
    - Dst: TEST_SAY0
      Src: /src/librdkafka/tests/test.c:2085,1
    - Dst: check_test_timeouts
      Src: /src/librdkafka/tests/test.c:2088,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:2090,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:2093,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:2095,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:2096,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2099,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:2102,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:2104,1
    - Dst: test_delete_all_test_topics
      Src: /src/librdkafka/tests/test.c:2107,1
    - Dst: test_summary
      Src: /src/librdkafka/tests/test.c:2109,1
    - Dst: test_wait_exit
      Src: /src/librdkafka/tests/test.c:2113,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2118,1
    - Dst: test_cleanup
      Src: /src/librdkafka/tests/test.c:2120,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2123,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 157
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 1839
    functionDepth: 5
    functionLinenumber: 1839
    functionLinenumberEnd: 2126
    functionName: main
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - getcwd
    - TEST_LOCK
    - cnd_init
    - run_tests
    - mtx_init
    - TEST_BRKVER
    - test_delete_all_test_topics
    - sscanf
    - fprintf
    - TEST_SAY
    - test_init
    - test_summary
    - _getcwd
    - TEST_FAIL
    - test_clock
    - test_getenv
    - strcmp
    - test_wait_exit
    - test_cleanup
    - rd_usleep
    - check_test_timeouts
    - TIMING_STOP
    - exit
    - printf
    - rd_sleep
    - test_conf_init
    - TIMING_START
    - test_timeout_set
    - strncpy
    - TEST_BRKVER_X
    - strncmp
    - strlen
    - strtod
    - TEST_SAY0
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:2145,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2149,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/test.c:2150,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2151,1
    - Dst: rd_kafka_message_latency
      Src: /src/librdkafka/tests/test.c:2153,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2158,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2161,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2163,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2164,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/test.c:2168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:2170,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:2178,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:2182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2136
    functionDepth: 1
    functionLinenumber: 2136
    functionLinenumberEnd: 2191
    functionName: test_dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_message_status
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_topic_name
    - test_msgver_add_msg
    - TEST_FAIL
    - rd_kafka_message_latency
    linkageType: ''
    returnType: void
    signature: "void test_dr_msg_cb(rd_kafka_t *rk,\n                    const rd_kafka_message_t
      *rkmessage,\n                    void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2199,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/test.c:2202,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:2205,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/test.c:2205,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2206,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2210,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/test.c:2215,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2217,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2219,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:2219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - mode
    - conf
    argTypes:
    - int
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2194
    functionDepth: 5
    functionLinenumber: 2194
    functionLinenumberEnd: 2222
    functionName: test_create_handle
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 5
    functionsReached:
    - strcmp
    - test_conf_init
    - TEST_SAY
    - rd_kafka_name
    - test_conf_set
    - rd_kafka_new
    - test_socket_enable
    - TEST_FAIL
    - test_conf_get
    linkageType: ''
    returnType: rd_kafka_t
    signature: rd_kafka_t *test_create_handle(int mode, rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2228,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/test.c:2229,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:2231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2225
    functionDepth: 6
    functionLinenumber: 2225
    functionLinenumberEnd: 2232
    functionName: test_create_producer
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - test_create_handle
    - test_conf_init
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: rd_kafka_t
    signature: rd_kafka_t *test_create_producer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2246,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:2248,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2249,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2250,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/test.c:2251,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:2253,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/test.c:2255,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2257,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2258,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2239
    functionDepth: 5
    functionLinenumber: 2239
    functionLinenumberEnd: 2261
    functionName: test_create_topic_object
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - test_topic_conf_set
    - va_start
    - test_conf_init
    - rd_kafka_topic_new
    - rd_kafka_err2str
    - va_end
    - TEST_FAIL
    - va_arg
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: 'rd_kafka_topic_t *

      test_create_topic_object(rd_kafka_t *rk, const char *topic, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2272,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:2274,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2275,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2276,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/test.c:2277,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2279,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:2281,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/test.c:2285,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/test.c:2289,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2291,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2292,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2264
    functionDepth: 5
    functionLinenumber: 2264
    functionLinenumberEnd: 2295
    functionName: test_create_producer_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - rd_kafka_last_error
    - va_start
    - rd_kafka_topic_new
    - rd_kafka_topic_conf_set
    - test_conf_init
    - rd_kafka_err2str
    - va_end
    - TEST_FAIL
    - va_arg
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: 'rd_kafka_topic_t *

      test_create_producer_topic(rd_kafka_t *rk, const char *topic, ...)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/librdkafka/tests/test.c:2340,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2343,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2344,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2346,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2347,1
    - Dst: test_prepare_msg
      Src: /src/librdkafka/tests/test.c:2353,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/test.c:2357,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:2359,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2361,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2365,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2365,1
    - Dst: TIMING_RESTART
      Src: /src/librdkafka/tests/test.c:2370,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2374,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/test.c:2379,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2382,1
    - Dst: TIMING_EVERY
      Src: /src/librdkafka/tests/test.c:2384,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2385,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2391,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2393,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:2397,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2400,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 10
    argNames:
    - rk
    - rkt
    - testid
    - partition
    - msg_base
    - cnt
    - payload
    - size
    - msgrate
    - msgcounterp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - uint64_t
    - int32_t
    - int
    - int
    - char*
    - size_t
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2402
    functionName: test_produce_msgs_nowait
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - test_prepare_msg
    - calloc
    - TIMING_RESTART
    - free
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - rd_kafka_poll
    - TIMING_STOP
    - strlen
    - TIMING_EVERY
    - rd_kafka_topic_name
    - TEST_FAIL
    - rd_kafka_last_error
    - rd_kafka_produce
    - TIMING_DURATION
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs_nowait(rd_kafka_t *rk,\n                              rd_kafka_topic_t
      *rkt,\n                              uint64_t testid,\n                              int32_t
      partition,\n                              int msg_base,\n                              int
      cnt,\n                              const char *payload,\n                              size_t
      size,\n                              int msgrate,\n                              int
      *msgcounterp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2411,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/test.c:2414,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/test.c:2415,1
    - Dst: TIMING_EVERY
      Src: /src/librdkafka/tests/test.c:2416,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2418,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2423,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2427,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:2429,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/test.c:2432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - msgcounterp
    argTypes:
    - rd_kafka_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2407
    functionDepth: 1
    functionLinenumber: 2407
    functionLinenumberEnd: 2433
    functionName: test_wait_delivery
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - rd_kafka_poll
    - rd_kafka_outq_len
    - TIMING_STOP
    - TIMING_EVERY
    - TIMING_DURATION
    linkageType: ''
    returnType: void
    signature: void test_wait_delivery(rd_kafka_t *rk, int *msgcounterp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/test.c:2448,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/test.c:2451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - rk
    - rkt
    - testid
    - partition
    - msg_base
    - cnt
    - payload
    - size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - uint64_t
    - int32_t
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2438
    functionDepth: 3
    functionLinenumber: 2438
    functionLinenumberEnd: 2452
    functionName: test_produce_msgs
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - test_produce_msgs_nowait
    - test_wait_delivery
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs(rd_kafka_t *rk,\n                       rd_kafka_topic_t
      *rkt,\n                       uint64_t testid,\n                       int32_t
      partition,\n                       int msg_base,\n                       int
      cnt,\n                       const char *payload,\n                       size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/test.c:2467,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/test.c:2469,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/test.c:2472,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:2474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - rk
    - topic
    - testid
    - partition
    - msg_base
    - cnt
    - payload
    - size
    argTypes:
    - rd_kafka_t*
    - char*
    - uint64_t
    - int32_t
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2458
    functionDepth: 6
    functionLinenumber: 2458
    functionLinenumberEnd: 2475
    functionName: test_produce_msgs2
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs_nowait
    - test_create_topic_object
    - test_wait_delivery
    - rd_kafka_topic_destroy
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs2(rd_kafka_t *rk,\n                        const
      char *topic,\n                        uint64_t testid,\n                        int32_t
      partition,\n                        int msg_base,\n                        int
      cnt,\n                        const char *payload,\n                        size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/test.c:2489,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/test.c:2491,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:2494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - rk
    - topic
    - testid
    - partition
    - msg_base
    - cnt
    - payload
    - size
    - remainsp
    argTypes:
    - rd_kafka_t*
    - char*
    - uint64_t
    - int32_t
    - int
    - int
    - char*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2480
    functionDepth: 6
    functionLinenumber: 2480
    functionLinenumberEnd: 2495
    functionName: test_produce_msgs2_nowait
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs_nowait
    - test_create_topic_object
    - rd_kafka_topic_destroy
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs2_nowait(rd_kafka_t *rk,\n                               const
      char *topic,\n                               uint64_t testid,\n                               int32_t
      partition,\n                               int msg_base,\n                               int
      cnt,\n                               const char *payload,\n                               size_t
      size,\n                               int *remainsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/test.c:2512,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/test.c:2515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - rk
    - rkt
    - testid
    - partition
    - msg_base
    - cnt
    - payload
    - size
    - msgrate
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - uint64_t
    - int32_t
    - int
    - int
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2501
    functionDepth: 3
    functionLinenumber: 2501
    functionLinenumberEnd: 2516
    functionName: test_produce_msgs_rate
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs_nowait
    - test_wait_delivery
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs_rate(rd_kafka_t *rk,\n                            rd_kafka_topic_t
      *rkt,\n                            uint64_t testid,\n                            int32_t
      partition,\n                            int msg_base,\n                            int
      cnt,\n                            const char *payload,\n                            size_t
      size,\n                            int msgrate)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/test.c:2534,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:2535,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/test.c:2536,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2538,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/test.c:2539,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2540,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:2541,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:2542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - topic
    - testid
    - partition
    - msgcnt
    - size
    argTypes:
    - char*
    - uint64_t
    - int32_t
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2524
    functionDepth: 7
    functionLinenumber: 2524
    functionLinenumberEnd: 2545
    functionName: test_produce_msgs_easy_size
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_destroy
    - test_produce_msgs
    - test_create_producer
    - rd_kafka_topic_destroy
    - TIMING_START
    - test_id_generate
    - test_create_producer_topic
    - TIMING_STOP
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t test_produce_msgs_easy_size(const char *topic,\n                                     uint64_t
      testid,\n                                     int32_t partition,\n                                     int
      msgcnt,\n                                     size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/test.c:2552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - rkt
    - testid
    - partition
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - uint64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2547
    functionDepth: 4
    functionLinenumber: 2547
    functionLinenumberEnd: 2555
    functionName: test_produce_sync
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_produce_sync(rd_kafka_t *rk,\n                                      rd_kafka_topic_t
      *rkt,\n                                      uint64_t testid,\n                                      int32_t
      partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2576,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:2578,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2579,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2580,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2581,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:2582,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/test.c:2584,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:2586,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/test.c:2588,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/test.c:2590,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:2592,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:2593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - topic
    - testid
    - partition
    - msg_base
    - cnt
    - size
    argTypes:
    - char*
    - uint64_t
    - int32_t
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2563
    functionDepth: 6
    functionLinenumber: 2563
    functionLinenumberEnd: 2594
    functionName: test_produce_msgs_easy_v
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - va_start
    - test_conf_init
    - test_conf_set
    - test_create_producer_topic
    - va_end
    - va_arg
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: "void test_produce_msgs_easy_v(const char *topic,\n                              uint64_t
      testid,\n                              int32_t partition,\n                              int
      msg_base,\n                              int cnt,\n                              size_t
      size,\n                              ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2615,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/test.c:2617,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:2619,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:2621,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2622,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2623,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2624,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:2625,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/test.c:2628,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/test.c:2630,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:2633,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:2635,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/test.c:2637,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:2637,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:2639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - testid
    argTypes:
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2608
    functionDepth: 6
    functionLinenumber: 2608
    functionLinenumberEnd: 2640
    functionName: test_produce_msgs_easy_multi
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - test_flush
    - va_start
    - test_conf_init
    - test_create_producer_topic
    - test_produce_msgs_nowait
    - va_end
    - tmout_multip
    - va_arg
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: void test_produce_msgs_easy_multi(uint64_t testid, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2651,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:2652,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:2652,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/test.c:2653,1
    - Dst: test_consumer_incremental_assign
      Src: /src/librdkafka/tests/test.c:2657,1
    - Dst: test_consumer_incremental_unassign
      Src: /src/librdkafka/tests/test.c:2660,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2663,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:2664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2667
    functionName: test_incremental_rebalance_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - test_consumer_incremental_assign
    - test_consumer_incremental_unassign
    - TEST_SAY
    - rd_kafka_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void test_incremental_rebalance_cb(rd_kafka_t *rk,\n                                   rd_kafka_resp_err_t
      err,\n                                   rd_kafka_topic_partition_list_t *parts,\n
      \                                  void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:2677,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/tests/test.c:2677,1
    - Dst: test_incremental_rebalance_cb
      Src: /src/librdkafka/tests/test.c:2678,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2682,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:2682,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:2683,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/test.c:2687,1
    - Dst: test_consumer_unassign
      Src: /src/librdkafka/tests/test.c:2690,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2693,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:2694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2672
    functionDepth: 2
    functionLinenumber: 2672
    functionLinenumberEnd: 2697
    functionName: test_rebalance_cb
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rebalance_protocol
    - rd_kafka_err2name
    - test_consumer_assign
    - strcmp
    - TEST_SAY
    - test_consumer_unassign
    - rd_kafka_name
    - TEST_FAIL
    - test_incremental_rebalance_cb
    linkageType: ''
    returnType: void
    signature: "void test_rebalance_cb(rd_kafka_t *rk,\n                       rd_kafka_resp_err_t
      err,\n                       rd_kafka_topic_partition_list_t *parts,\n                       void
      *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2712,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2715,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:2717,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2718,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/test.c:2721,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:2723,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/tests/test.c:2727,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:2730,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/test.c:2733,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - group_id
    - conf
    - default_topic_conf
    argTypes:
    - char*
    - rd_kafka_conf_t*
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2700
    functionDepth: 6
    functionLinenumber: 2700
    functionLinenumberEnd: 2736
    functionName: test_create_consumer
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - test_create_handle
    - rd_snprintf
    - rd_kafka_conf_set_default_topic_conf
    - rd_kafka_conf_set_rebalance_cb
    - test_conf_init
    - TEST_ASSERT
    - rd_kafka_poll_set_consumer
    - test_conf_set
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *test_create_consumer(\n    const char *group_id,\n    void
      (*rebalance_cb)(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque),\n    rd_kafka_conf_t *conf,\n    rd_kafka_topic_conf_t
      *default_topic_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2743,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/test.c:2745,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2747,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2748,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2738
    functionDepth: 5
    functionLinenumber: 2738
    functionLinenumberEnd: 2751
    functionName: test_create_consumer_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_new
    - test_conf_init
    - rd_kafka_err2str
    - TEST_FAIL
    - rd_kafka_last_error
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *test_create_consumer_topic(rd_kafka_t *rk,\n                                             const
      char *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2759,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2760,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/tests/test.c:2762,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2763,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2764,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - what
    - rkt
    - partition
    - start_offset
    argTypes:
    - char*
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2765
    functionName: test_consumer_start
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_start
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_topic_name
    - TEST_FAIL
    - rd_kafka_last_error
    linkageType: ''
    returnType: void
    signature: "void test_consumer_start(const char *what,\n                         rd_kafka_topic_t
      *rkt,\n                         int32_t partition,\n                         int64_t
      start_offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2771,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2772,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/test.c:2774,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2775,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2776,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:2776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - what
    - rkt
    - partition
    argTypes:
    - char*
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2767
    functionDepth: 1
    functionLinenumber: 2767
    functionLinenumberEnd: 2777
    functionName: test_consumer_stop
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_stop
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_topic_name
    - TEST_FAIL
    - rd_kafka_last_error
    linkageType: ''
    returnType: void
    signature: "void test_consumer_stop(const char *what,\n                        rd_kafka_topic_t
      *rkt,\n                        int32_t partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2785,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2786,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/tests/test.c:2788,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2789,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2792,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - what
    - rkt
    - partition
    - offset
    argTypes:
    - char*
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2794
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2794
    functionName: test_consumer_seek
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_seek
    - rd_kafka_topic_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void test_consumer_seek(const char *what,\n                        rd_kafka_topic_t
      *rkt,\n                        int32_t partition,\n                        int64_t
      offset)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2816,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2819,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2826,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/tests/test.c:2827,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2828,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2831,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2832,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2833,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2834,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2837,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:2838,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/tests/test.c:2845,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:2845,1
    - Dst: TIMING_EVERY
      Src: /src/librdkafka/tests/test.c:2847,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2848,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2853,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:2855,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2858,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2861,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2865,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2868,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:2870,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2873,1
    - Dst: test_msg_parse
      Src: /src/librdkafka/tests/test.c:2876,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2881,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2885,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2890,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2893,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:2903,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:2906,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:2909,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2910,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2912,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:2915,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 8
    argNames:
    - what
    - rkt
    - testid
    - partition
    - offset
    - exp_msg_base
    - exp_cnt
    - parse_fmt
    argTypes:
    - char*
    - rd_kafka_topic_t*
    - uint64_t
    - int32_t
    - int64_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2801
    functionDepth: 2
    functionLinenumber: 2801
    functionLinenumberEnd: 2917
    functionName: test_consume_msgs
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - tmout_multip
    - TIMING_DURATION
    - test_msg_parse
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - rd_kafka_message_destroy
    - rd_kafka_seek
    - rd_kafka_consume
    - TIMING_EVERY
    - rd_kafka_topic_name
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: int64_t
    signature: "int64_t test_consume_msgs(const char *what,\n                          rd_kafka_topic_t
      *rkt,\n                          uint64_t testid,\n                          int32_t
      partition,\n                          int64_t offset,\n                          int
      exp_msg_base,\n                          int exp_cnt,\n                          int
      parse_fmt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:2944,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/test.c:2947,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2950,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/test.c:2952,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:2954,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/test.c:2955,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/test.c:2957,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2960,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/test.c:2965,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:2969,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:2974,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:2975,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/test.c:2976,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:2977,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/test.c:2981,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/test.c:2984,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:2986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 9
    argNames:
    - group_id
    - topic
    - txn
    - partition
    - testid
    - exp_eofcnt
    - exp_msgcnt
    - tconf
    - mv
    argTypes:
    - char*
    - char*
    - rd_bool_t
    - int32_t
    - uint64_t
    - int
    - int
    - rd_kafka_topic_conf_t*
    - test_msgver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2931
    functionDepth: 7
    functionLinenumber: 2931
    functionLinenumberEnd: 2987
    functionName: test_consume_msgs_easy_mv0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_consumer_assign
    - test_topic_conf_set
    - test_conf_init
    - TEST_SAY
    - test_str_id_generate
    - rd_kafka_topic_partition_list_new
    - test_consumer_close
    - rd_kafka_topic_partition_list_add
    - rd_kafka_poll_set_consumer
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void test_consume_msgs_easy_mv0(const char *group_id,\n                                const
      char *topic,\n                                rd_bool_t txn,\n                                int32_t
      partition,\n                                uint64_t testid,\n                                int
      exp_eofcnt,\n                                int exp_msgcnt,\n                                rd_kafka_topic_conf_t
      *tconf,\n                                test_msgver_t *mv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/test.c:2997,1
    - Dst: test_consume_msgs_easy_mv
      Src: /src/librdkafka/tests/test.c:2999,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/test.c:3002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - group_id
    - topic
    - testid
    - exp_eofcnt
    - exp_msgcnt
    - tconf
    argTypes:
    - char*
    - char*
    - uint64_t
    - int
    - int
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2989
    functionDepth: 1
    functionLinenumber: 2989
    functionLinenumberEnd: 3003
    functionName: test_consume_msgs_easy
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_msgver_clear
    - test_msgver_init
    - test_consume_msgs_easy_mv
    linkageType: ''
    returnType: void
    signature: "void test_consume_msgs_easy(const char *group_id,\n                            const
      char *topic,\n                            uint64_t testid,\n                            int
      exp_eofcnt,\n                            int exp_msgcnt,\n                            rd_kafka_topic_conf_t
      *tconf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/test.c:3014,1
    - Dst: test_consume_msgs_easy_mv0
      Src: /src/librdkafka/tests/test.c:3016,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/test.c:3019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - group_id
    - topic
    - testid
    - exp_eofcnt
    - exp_msgcnt
    - tconf
    argTypes:
    - char*
    - char*
    - uint64_t
    - int
    - int
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 3006
    functionDepth: 8
    functionLinenumber: 3006
    functionLinenumberEnd: 3020
    functionName: test_consume_txn_msgs_easy
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_consume_msgs_easy_mv0
    - test_msgver_init
    - test_msgver_clear
    linkageType: ''
    returnType: void
    signature: "void test_consume_txn_msgs_easy(const char *group_id,\n                                const
      char *topic,\n                                uint64_t testid,\n                                int
      exp_eofcnt,\n                                int exp_msgcnt,\n                                rd_kafka_topic_conf_t
      *tconf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/test.c:3037,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:3038,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3039,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3044,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/test.c:3047,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:3049,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3052,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3052,1
    - Dst: TEST_SAY0
      Src: /src/librdkafka/tests/test.c:3055,1
    - Dst: TEST_SAY0
      Src: /src/librdkafka/tests/test.c:3058,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - rk
    - do_poll
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3061
      start: 3030
    functionDepth: 1
    functionLinenumber: 3030
    functionLinenumberEnd: 3061
    functionName: test_consumer_wait_assignment
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    - TEST_SAY0
    - test_consumer_poll_once
    - rd_usleep
    linkageType: ''
    returnType: void
    signature: void test_consumer_wait_assignment(rd_kafka_t *rk, rd_bool_t do_poll)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/test.c:3084,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3085,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3086,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3086,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3088,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3088,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3091,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:3094,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:3095,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:3096,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/test.c:3099,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/test.c:3101,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3104,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:3107,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/test.c:3110,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3113,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/test.c:3116,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - func
    - line
    - rk
    - fail_immediately
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3072
    functionDepth: 1
    functionLinenumber: 3072
    functionLinenumberEnd: 3119
    functionName: test_consumer_verify_assignment0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL_LATER
    - TEST_LATER_CHECK
    - va_start
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - va_end
    - TEST_FAIL
    - va_arg
    linkageType: ''
    returnType: void
    signature: "void test_consumer_verify_assignment0(const char *func,\n                                      int
      line,\n                                      rd_kafka_t *rk,\n                                      int
      fail_immediately,\n                                      ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/test.c:3136,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3137,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3138,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3138,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3140,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3140,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3143,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/test.c:3152,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:3153,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:3154,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3158,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/test.c:3168,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - func
    - line
    - rk
    - expected_assignment
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3125
    functionDepth: 1
    functionLinenumber: 3125
    functionLinenumberEnd: 3172
    functionName: test_consumer_verify_assignment_topic_partition_list0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - RD_IF_FREE
    - strcmp
    - rd_kafka_err2str
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_sort
    - TEST_FAIL
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t test_consumer_verify_assignment_topic_partition_list0(\n
      \   const char *func,\n    int line,\n    rd_kafka_t *rk,\n    const rd_kafka_topic_partition_list_t
      *expected_assignment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:3188,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3191,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3192,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3193,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3195,1
    - Dst: test_consumer_verify_assignment_topic_partition_list0
      Src: /src/librdkafka/tests/test.c:3201,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/test.c:3207,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:3209,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:3211,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3214,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3217,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - func
    - line
    - rk
    - do_poll
    - expected_assignment
    - timeout_ms
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_bool_t
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3180
    functionDepth: 2
    functionLinenumber: 3180
    functionLinenumberEnd: 3220
    functionName: test_consumer_wait_assignment_topic_partition_list0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_usleep
    - TEST_SAY
    - test_consumer_verify_assignment_topic_partition_list0
    - rd_kafka_name
    - test_consumer_poll_once
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void test_consumer_wait_assignment_topic_partition_list0(\n    const
      char *func,\n    int line,\n    rd_kafka_t *rk,\n    rd_bool_t do_poll,\n    const
      rd_kafka_topic_partition_list_t *expected_assignment,\n    int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:3230,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:3231,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/test.c:3233,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3235,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3236,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3236,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3226
    functionDepth: 1
    functionLinenumber: 3226
    functionLinenumberEnd: 3239
    functionName: test_consumer_subscribe
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    - TEST_FAIL
    - rd_kafka_subscribe
    linkageType: ''
    returnType: void
    signature: void test_consumer_subscribe(rd_kafka_t *rk, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:3251,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:3253,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:3255,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:3256,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:3259,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/test.c:3261,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3263,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:3264,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3264,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - topic_count
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3245
    functionDepth: 1
    functionLinenumber: 3245
    functionLinenumberEnd: 3267
    functionName: test_consumer_subscribe_multi
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    - va_end
    - TEST_FAIL
    - va_arg
    - rd_kafka_subscribe
    linkageType: ''
    returnType: void
    signature: void test_consumer_subscribe_multi(rd_kafka_t *rk, int topic_count,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:3276,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/test.c:3277,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:3278,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3280,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3281,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - what
    - rk
    - partitions
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3270
    functionDepth: 1
    functionLinenumber: 3270
    functionLinenumberEnd: 3285
    functionName: test_consumer_assign
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - TIMING_START
    - rd_kafka_assign
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void test_consumer_assign(const char *what,\n                          rd_kafka_t
      *rk,\n                          rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:3295,1
    - Dst: rd_kafka_incremental_assign
      Src: /src/librdkafka/tests/test.c:3296,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:3297,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3299,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:3302,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/test.c:3303,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - what
    - rk
    - partitions
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3307
      start: 3288
    functionDepth: 1
    functionLinenumber: 3288
    functionLinenumberEnd: 3307
    functionName: test_consumer_incremental_assign
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_incremental_assign
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void test_consumer_incremental_assign(\n    const char *what,\n    rd_kafka_t
      *rk,\n    rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:3314,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/test.c:3315,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:3316,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3318,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3319,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - what
    - rk
    argTypes:
    - char*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3322
      start: 3310
    functionDepth: 1
    functionLinenumber: 3310
    functionLinenumberEnd: 3322
    functionName: test_consumer_unassign
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - TIMING_START
    - rd_kafka_assign
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_consumer_unassign(const char *what, rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:3332,1
    - Dst: rd_kafka_incremental_unassign
      Src: /src/librdkafka/tests/test.c:3333,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:3334,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3336,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:3339,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/test.c:3340,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - what
    - rk
    - partitions
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3325
    functionDepth: 1
    functionLinenumber: 3325
    functionLinenumberEnd: 3344
    functionName: test_consumer_incremental_unassign
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_incremental_unassign
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void test_consumer_incremental_unassign(\n    const char *what,\n
      \   rd_kafka_t *rk,\n    rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/tests/test.c:3351,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3352,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3353,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3356,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3357,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/test.c:3358,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3360,1
    - Dst: test_consumer_incremental_assign
      Src: /src/librdkafka/tests/test.c:3361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - what
    - rk
    - parts
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3347
    functionDepth: 2
    functionLinenumber: 3347
    functionLinenumberEnd: 3363
    functionName: test_consumer_assign_by_rebalance_protocol
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rebalance_protocol
    - test_consumer_assign
    - test_consumer_incremental_assign
    - strcmp
    - TEST_SAY
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void test_consumer_assign_by_rebalance_protocol(\n    const char *what,\n
      \   rd_kafka_t *rk,\n    rd_kafka_topic_partition_list_t *parts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/tests/test.c:3370,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3371,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3372,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3375,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3376,1
    - Dst: test_consumer_unassign
      Src: /src/librdkafka/tests/test.c:3377,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3379,1
    - Dst: test_consumer_incremental_unassign
      Src: /src/librdkafka/tests/test.c:3380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - what
    - rk
    - parts
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3366
    functionDepth: 2
    functionLinenumber: 3366
    functionLinenumberEnd: 3382
    functionName: test_consumer_unassign_by_rebalance_protocol
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rebalance_protocol
    - test_consumer_incremental_unassign
    - strcmp
    - TEST_SAY
    - test_consumer_unassign
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void test_consumer_unassign_by_rebalance_protocol(\n    const char
      *what,\n    rd_kafka_t *rk,\n    rd_kafka_topic_partition_list_t *parts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:3395,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:3396,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/test.c:3399,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - what
    - rk
    - topic
    - partition
    - offset
    argTypes:
    - char*
    - rd_kafka_t*
    - char*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3388
    functionDepth: 2
    functionLinenumber: 3388
    functionLinenumberEnd: 3402
    functionName: test_consumer_assign_partition
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_consumer_assign
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: void
    signature: "void test_consumer_assign_partition(const char *what,\n                                    rd_kafka_t
      *rk,\n                                    const char *topic,\n                                    int32_t
      partition,\n                                    int64_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:3412,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:3413,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/test.c:3416,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/test.c:3418,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:3420,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:3422,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:3424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - topic
    - partition
    - pause
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3425
      start: 3405
    functionDepth: 1
    functionLinenumber: 3405
    functionLinenumberEnd: 3425
    functionName: test_consumer_pause_resume_partition
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_resume_partitions
    - rd_kafka_topic_partition_list_new
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: "void test_consumer_pause_resume_partition(rd_kafka_t *rk,\n                                          const
      char *topic,\n                                          int32_t partition,\n
      \                                         rd_bool_t pause)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/tests/test.c:3434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mv
    - testid
    argTypes:
    - test_msgver_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3433
    functionDepth: 0
    functionLinenumber: 3433
    functionLinenumberEnd: 3438
    functionName: test_msgver_init
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 5
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void test_msgver_init(test_msgver_t *mv, uint64_t testid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mv
    argTypes:
    - test_msgver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3442
    functionName: test_msgver_ignore_eof
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_msgver_ignore_eof(test_msgver_t *mv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mv
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3444
    functionDepth: 0
    functionLinenumber: 3444
    functionLinenumberEnd: 3451
    functionName: TEST_MV_WARN
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_MV_WARN(mv, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/librdkafka/tests/test.c:3458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mvec
    - tot_size
    argTypes:
    - struct test_mv_mvec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3459
    functionName: test_mv_mvec_grow
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void test_mv_mvec_grow(struct test_mv_mvec *mvec, int tot_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_grow
      Src: /src/librdkafka/tests/test.c:3465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mvec
    - cnt
    argTypes:
    - struct test_mv_mvec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3466
      start: 3464
    functionDepth: 1
    functionLinenumber: 3464
    functionLinenumberEnd: 3466
    functionName: test_mv_mvec_reserve
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_grow
    linkageType: ''
    returnType: void
    signature: void test_mv_mvec_reserve(struct test_mv_mvec *mvec, int cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:3469,1
    - Dst: test_mv_mvec_grow
      Src: /src/librdkafka/tests/test.c:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mvec
    - exp_cnt
    argTypes:
    - struct test_mv_mvec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3468
    functionDepth: 1
    functionLinenumber: 3468
    functionLinenumberEnd: 3475
    functionName: test_mv_mvec_init
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_grow
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void test_mv_mvec_init(struct test_mv_mvec *mvec, int exp_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/test.c:3480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mvec
    argTypes:
    - struct test_mv_mvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3481
    functionName: test_mv_mvec_clear
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void test_mv_mvec_clear(struct test_mv_mvec *mvec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/test.c:3487,1
    - Dst: test_mv_mvec_clear
      Src: /src/librdkafka/tests/test.c:3488,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:3489,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:3492,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/test.c:3494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mv
    argTypes:
    - test_msgver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3483
    functionDepth: 1
    functionLinenumber: 3483
    functionLinenumberEnd: 3495
    functionName: test_msgver_clear
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 5
    functionsReached:
    - test_mv_mvec_clear
    - free
    - test_msgver_init
    linkageType: ''
    returnType: void
    signature: void test_msgver_clear(test_msgver_t *mv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:3506,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3511,1
    - Dst: realloc
      Src: /src/librdkafka/tests/test.c:3516,1
    - Dst: calloc
      Src: /src/librdkafka/tests/test.c:3519,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:3521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - mv
    - topic
    - partition
    - do_create
    argTypes:
    - test_msgver_t*
    - char*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3526
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3526
    functionName: test_msgver_p_get
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - calloc
    - strcmp
    - rd_strdup
    - TEST_FAIL
    - realloc
    linkageType: ''
    returnType: struct test_mv_p
    signature: "struct test_mv_p *test_msgver_p_get(test_msgver_t *mv,\n                                    const
      char *topic,\n                                    int32_t partition,\n                                    int
      do_create)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_grow
      Src: /src/librdkafka/tests/test.c:3535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mvec
    argTypes:
    - struct test_mv_mvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3533
    functionDepth: 1
    functionLinenumber: 3533
    functionLinenumberEnd: 3541
    functionName: test_mv_mvec_add
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_grow
    linkageType: ''
    returnType: struct test_mv_m
    signature: struct test_mv_m *test_mv_mvec_add(struct test_mv_mvec *mvec)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mvec
    - mi
    argTypes:
    - struct test_mv_mvec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3551
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3551
    functionName: test_mv_mvec_get
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *test_mv_mvec_get(struct test_mv_mvec *mvec,\n                                                    int
      mi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - mvec
    - msgid
    argTypes:
    - struct test_mv_mvec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3556
    functionDepth: 0
    functionLinenumber: 3556
    functionLinenumberEnd: 3565
    functionName: test_mv_mvec_find_by_msgid
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct test_mv_m
    signature: "struct test_mv_m *test_mv_mvec_find_by_msgid(struct test_mv_mvec *mvec,\n
      \                                                   int msgid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:3575,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:3578,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:3580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - mvec
    argTypes:
    - FILE*
    - struct test_mv_mvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3571
    functionDepth: 0
    functionLinenumber: 3571
    functionLinenumberEnd: 3581
    functionName: test_mv_mvec_dump
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED test_mv_mvec_dump(FILE *fp,\n                                        const
      struct test_mv_mvec *mvec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/librdkafka/tests/test.c:3585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mvec
    argTypes:
    - struct test_mv_mvec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3586
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3586
    functionName: test_mv_mvec_sort
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: "void test_mv_mvec_sort(struct test_mv_mvec *mvec,\n                              int
      (*cmp)(const void *, const void *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3610,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3618,1
    - Dst: test_msgver_p_get
      Src: /src/librdkafka/tests/test.c:3623,1
    - Dst: test_mv_mvec_add
      Src: /src/librdkafka/tests/test.c:3630,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:3638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 12
    argNames:
    - func
    - line
    - clientname
    - mv
    - testid
    - topic
    - partition
    - offset
    - timestamp
    - broker_id
    - err
    - msgnum
    argTypes:
    - char*
    - int
    - char*
    - test_msgver_t*
    - uint64_t
    - char*
    - int32_t
    - int64_t
    - int64_t
    - int32_t
    - rd_kafka_resp_err_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3650
      start: 3594
    functionDepth: 2
    functionLinenumber: 3594
    functionLinenumberEnd: 3650
    functionName: test_msgver_add_msg00
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - test_mv_mvec_add
    - TEST_SAY
    - test_msgver_p_get
    linkageType: ''
    returnType: int
    signature: "int test_msgver_add_msg00(const char *func,\n                          int
      line,\n                          const char *clientname,\n                          test_msgver_t
      *mv,\n                          uint64_t testid,\n                          const
      char *topic,\n                          int32_t partition,\n                          int64_t
      offset,\n                          int64_t timestamp,\n                          int32_t
      broker_id,\n                          rd_kafka_resp_err_t err,\n                          int
      msgnum)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_msgver_add_msg0
      Src: /src/librdkafka/tests/test.c:3676,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/test.c:3679,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:3690,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/test.c:3698,1
    - Dst: rd_kafka_header_get_last
      Src: /src/librdkafka/tests/test.c:3699,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:3701,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/test.c:3715,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:3717,1
    - Dst: test_msgver_add_msg00
      Src: /src/librdkafka/tests/test.c:3722,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:3725,1
    - Dst: rd_kafka_message_timestamp
      Src: /src/librdkafka/tests/test.c:3727,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/tests/test.c:3728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - func
    - line
    - clientname
    - mv
    - rkmessage
    - override_topic
    argTypes:
    - char*
    - int
    - char*
    - test_msgver_t*
    - rd_kafka_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3730
      start: 3662
    functionDepth: 3
    functionLinenumber: 3662
    functionLinenumberEnd: 3730
    functionName: test_msgver_add_msg0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - TEST_SAYL
    - rd_kafka_message_status
    - rd_snprintf
    - rd_kafka_message_headers
    - rd_kafka_header_get_last
    - test_msgver_add_msg0
    - test_msgver_add_msg00
    - sscanf
    - rd_kafka_topic_name
    - TEST_FAIL
    - rd_kafka_message_timestamp
    - rd_kafka_message_broker_id
    linkageType: ''
    returnType: int
    signature: "int test_msgver_add_msg0(const char *func,\n                         int
      line,\n                         const char *clientname,\n                         test_msgver_t
      *mv,\n                         const rd_kafka_message_t *rkmessage,\n                         const
      char *override_topic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3749,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3750,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3756,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - mv
    - flags
    - p
    - mvec
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_p*
    - struct test_mv_mvec*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3740
    functionDepth: 1
    functionLinenumber: 3740
    functionLinenumberEnd: 3782
    functionName: test_mv_mvec_verify_order
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_get
    - TEST_MV_WARN
    linkageType: ''
    returnType: int
    signature: "int test_mv_mvec_verify_order(test_msgver_t *mv,\n                                     int
      flags,\n                                     struct test_mv_p *p,\n                                     struct
      test_mv_mvec *mvec,\n                                     struct test_mv_vs
      *vs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:3799,1
    - Dst: test_msgver_p_get
      Src: /src/librdkafka/tests/test.c:3803,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3805,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3816,1
    - Dst: test_mv_mvec_find_by_msgid
      Src: /src/librdkafka/tests/test.c:3822,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3824,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3827,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3832,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3855,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3877,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 5
    argNames:
    - mv
    - flags
    - p
    - mvec
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_p*
    - struct test_mv_mvec*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3887
      start: 3788
    functionDepth: 2
    functionLinenumber: 3788
    functionLinenumberEnd: 3887
    functionName: test_mv_mvec_verify_corr
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_MV_WARN
    - test_msgver_p_get
    - TEST_ASSERT
    - test_mv_mvec_get
    - test_mv_mvec_find_by_msgid
    linkageType: ''
    returnType: int
    signature: "int test_mv_mvec_verify_corr(test_msgver_t *mv,\n                                    int
      flags,\n                                    struct test_mv_p *p,\n                                    struct
      test_mv_mvec *mvec,\n                                    struct test_mv_vs *vs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/tests/test.c:3894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3891
    functionDepth: 1
    functionLinenumber: 3891
    functionLinenumberEnd: 3895
    functionName: test_mv_m_cmp_offset
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int test_mv_m_cmp_offset(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/tests/test.c:3900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3897
    functionDepth: 1
    functionLinenumber: 3897
    functionLinenumberEnd: 3901
    functionName: test_mv_m_cmp_msgid
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int test_mv_m_cmp_msgid(const void *_a, const void *_b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_sort
      Src: /src/librdkafka/tests/test.c:3927,1
    - Dst: test_mv_mvec_sort
      Src: /src/librdkafka/tests/test.c:3931,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3935,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3936,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3947,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 5
    argNames:
    - mv
    - flags
    - p
    - mvec
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_p*
    - struct test_mv_mvec*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3913
    functionDepth: 1
    functionLinenumber: 3913
    functionLinenumberEnd: 3962
    functionName: test_mv_mvec_verify_dup
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_get
    - test_mv_mvec_sort
    - TEST_MV_WARN
    linkageType: ''
    returnType: int
    signature: "int test_mv_mvec_verify_dup(test_msgver_t *mv,\n                                   int
      flags,\n                                   struct test_mv_p *p,\n                                   struct
      test_mv_mvec *mvec,\n                                   struct test_mv_vs *vs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/tests/test.c:3978,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:3980,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:3982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - mv
    - flags
    - p
    - mvec
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_p*
    - struct test_mv_mvec*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3995
      start: 3967
    functionDepth: 1
    functionLinenumber: 3967
    functionLinenumberEnd: 3995
    functionName: test_mv_mvec_verify_broker
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - test_mv_mvec_get
    - TEST_MV_WARN
    linkageType: ''
    returnType: int
    signature: "int test_mv_mvec_verify_broker(test_msgver_t *mv,\n                                      int
      flags,\n                                      struct test_mv_p *p,\n                                      struct
      test_mv_mvec *mvec,\n                                      struct test_mv_vs
      *vs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_sort
      Src: /src/librdkafka/tests/test.c:4022,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:4028,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:4029,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4040,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4057,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4070,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4082,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4099,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4113,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - mv
    - flags
    - p
    - mvec
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_p*
    - struct test_mv_mvec*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4124
      start: 4008
    functionDepth: 1
    functionLinenumber: 4008
    functionLinenumberEnd: 4124
    functionName: test_mv_mvec_verify_range
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_get
    - test_mv_mvec_sort
    - TEST_MV_WARN
    linkageType: ''
    returnType: int
    signature: "int test_mv_mvec_verify_range(test_msgver_t *mv,\n                                     int
      flags,\n                                     struct test_mv_p *p,\n                                     struct
      test_mv_mvec *mvec,\n                                     struct test_mv_vs
      *vs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mv
    - ','
    - flags
    - ','
    - f
    - ','
    - vs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4131
    functionDepth: 0
    functionLinenumber: 4131
    functionLinenumberEnd: 4133
    functionName: test_mv_p_verify_f
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_mv_p_verify_f(mv, flags, f, vs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4146,1
    - Dst: f
      Src: /src/librdkafka/tests/test.c:4149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mv
    - flags
    - f_name
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - char*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4133
    functionDepth: 1
    functionLinenumber: 4133
    functionLinenumberEnd: 4153
    functionName: test_mv_p_verify_f0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - f
    linkageType: ''
    returnType: int
    signature: "int test_mv_p_verify_f0(test_msgver_t *mv,\n                               int
      flags,\n                               int (*f)(test_msgver_t *mv,\n                                        int
      flags,\n                                        struct test_mv_p *p,\n                                        struct
      test_mv_mvec *mvec,\n                                        struct test_mv_vs
      *vs),\n                               const char *f_name,\n                               struct
      test_mv_vs *vs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_reserve
      Src: /src/librdkafka/tests/test.c:4166,1
    - Dst: test_mv_mvec_get
      Src: /src/librdkafka/tests/test.c:4168,1
    - Dst: test_mv_mvec_add
      Src: /src/librdkafka/tests/test.c:4169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mv
    - vs
    argTypes:
    - test_msgver_t*
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4173
      start: 4159
    functionDepth: 2
    functionLinenumber: 4159
    functionLinenumberEnd: 4173
    functionName: test_mv_collect_all_msgs
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_mvec_add
    - test_mv_mvec_get
    - test_mv_mvec_reserve
    linkageType: ''
    returnType: void
    signature: void test_mv_collect_all_msgs(test_msgver_t *mv, struct test_mv_vs
      *vs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mv_mvec_init
      Src: /src/librdkafka/tests/test.c:4191,1
    - Dst: test_mv_collect_all_msgs
      Src: /src/librdkafka/tests/test.c:4194,1
    - Dst: test_mv_mvec_verify_range
      Src: /src/librdkafka/tests/test.c:4196,1
    - Dst: test_mv_mvec_verify_dup
      Src: /src/librdkafka/tests/test.c:4198,1
    - Dst: test_mv_mvec_clear
      Src: /src/librdkafka/tests/test.c:4201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - mv
    - flags
    - vs
    argTypes:
    - test_msgver_t*
    - int
    - struct test_mv_vs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4181
    functionDepth: 3
    functionLinenumber: 4181
    functionLinenumberEnd: 4204
    functionName: test_msgver_verify_range
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mv_collect_all_msgs
    - test_mv_mvec_init
    - test_mv_mvec_verify_dup
    - test_mv_mvec_clear
    - test_mv_mvec_verify_range
    linkageType: ''
    returnType: int
    signature: int test_msgver_verify_range(test_msgver_t *mv, int flags, struct test_mv_vs
      *vs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4224,1
    - Dst: test_msgver_p_get
      Src: /src/librdkafka/tests/test.c:4230,1
    - Dst: test_mv_mvec_verify_order
      Src: /src/librdkafka/tests/test.c:4234,1
    - Dst: test_mv_mvec_verify_dup
      Src: /src/librdkafka/tests/test.c:4236,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4239,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:4251,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4255,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 9
    argNames:
    - func
    - line
    - what
    - mv
    - flags
    - topic
    - partition
    - msg_base
    - exp_cnt
    argTypes:
    - char*
    - int
    - char*
    - test_msgver_t*
    - int
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4270
      start: 4211
    functionDepth: 2
    functionLinenumber: 4211
    functionLinenumberEnd: 4270
    functionName: test_msgver_verify_part0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_MV_WARN
    - test_msgver_p_get
    - TEST_SAY
    - test_mv_mvec_verify_dup
    - test_mv_mvec_verify_order
    - TEST_WARN
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int test_msgver_verify_part0(const char *func,\n                             int
      line,\n                             const char *what,\n                             test_msgver_t
      *mv,\n                             int flags,\n                             const
      char *topic,\n                             int partition,\n                             int
      msg_base,\n                             int exp_cnt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4284,1
    - Dst: assert
      Src: /src/librdkafka/tests/test.c:4290,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4291,1
    - Dst: test_mv_p_verify_f
      Src: /src/librdkafka/tests/test.c:4299,1
    - Dst: test_mv_p_verify_f
      Src: /src/librdkafka/tests/test.c:4303,1
    - Dst: test_mv_p_verify_f
      Src: /src/librdkafka/tests/test.c:4306,1
    - Dst: test_msgver_verify_range
      Src: /src/librdkafka/tests/test.c:4313,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:4317,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:4322,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4329,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4336,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - func
    - line
    - what
    - mv
    - flags
    - vs
    argTypes:
    - char*
    - int
    - char*
    - test_msgver_t*
    - int
    - struct test_mv_vs
    assertStmts:
    - condition: ((flags & TEST_MSGVER_BY_MSGID))
      pos:
        line_end: 4289
        line_start: 4289
        source_file: /src/librdkafka/tests/test.c
    constantsTouched: []
    func_position:
      end: 4344
      start: 4276
    functionDepth: 4
    functionLinenumber: 4276
    functionLinenumberEnd: 4344
    functionName: test_msgver_verify0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - test_mv_p_verify_f
    - test_msgver_verify_range
    - TEST_WARN
    - assert
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int test_msgver_verify0(const char *func,\n                        int
      line,\n                        const char *what,\n                        test_msgver_t
      *mv,\n                        int flags,\n                        struct test_mv_vs
      vs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:4359,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/test.c:4362,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4364,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4371,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - func
    - line
    - rkmessage
    - testid
    - partition
    - msgnum
    argTypes:
    - char*
    - int
    - rd_kafka_message_t*
    - uint64_t
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4348
    functionDepth: 1
    functionLinenumber: 4348
    functionLinenumberEnd: 4385
    functionName: test_verify_rkmessage0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - TEST_SAY
    - rd_snprintf
    - sscanf
    linkageType: ''
    returnType: void
    signature: "void test_verify_rkmessage0(const char *func,\n                            int
      line,\n                            rd_kafka_message_t *rkmessage,\n                            uint64_t
      testid,\n                            int32_t partition,\n                            int
      msgnum)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/tests/test.c:4400,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4402,1
    - Dst: test_mv_p_verify_f
      Src: /src/librdkafka/tests/test.c:4410,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:4413,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:4418,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4425,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - func
    - line
    - what
    - mv
    - corr
    - flags
    argTypes:
    - char*
    - int
    - char*
    - test_msgver_t*
    - test_msgver_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4434
      start: 4391
    functionDepth: 1
    functionLinenumber: 4391
    functionLinenumberEnd: 4434
    functionName: test_msgver_verify_compare0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - test_mv_p_verify_f
    - memset
    - TEST_WARN
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void test_msgver_verify_compare0(const char *func,\n                                 int
      line,\n                                 const char *what,\n                                 test_msgver_t
      *mv,\n                                 test_msgver_t *corr,\n                                 int
      flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:4444,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/test.c:4449,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4452,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:4455,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/test.c:4460,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4465,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4468,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4470,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4473,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4475,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/test.c:4478,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4481,1
    - Dst: TEST_MV_WARN
      Src: /src/librdkafka/tests/test.c:4482,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4488,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4494,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:4495,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:4498,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/test.c:4500,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/test.c:4501,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:4503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - what
    - rk
    - testid
    - timeout_ms
    argTypes:
    - char*
    - rd_kafka_t*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4440
    functionDepth: 2
    functionLinenumber: 4440
    functionLinenumberEnd: 4504
    functionName: test_consumer_poll_no_msgs
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - test_msgver_init
    - TEST_MV_WARN
    - TEST_SAY
    - TIMING_START
    - rd_kafka_message_errstr
    - rd_kafka_message_destroy
    - test_msgver_clear
    - rd_kafka_consumer_poll
    - TEST_ASSERT
    - test_msgver_verify
    - rd_kafka_topic_name
    - test_msgver_add_msg
    - TEST_FAIL
    - test_clock
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void test_consumer_poll_no_msgs(const char *what,\n                                rd_kafka_t
      *rk,\n                                uint64_t testid,\n                                int
      timeout_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:4514,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4516,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:4516,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:4517,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/test.c:4521,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4526,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:4527,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/test.c:4528,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4529,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4533,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4537,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:4540,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4543,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:4544,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4545,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:4545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - rk
    - testid
    - timeout_ms
    - err
    argTypes:
    - rd_kafka_t*
    - uint64_t
    - int
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4510
    functionDepth: 1
    functionLinenumber: 4510
    functionLinenumberEnd: 4547
    functionName: test_consumer_poll_expect_err
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - rd_kafka_name
    - rd_kafka_topic_name
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void test_consumer_poll_expect_err(rd_kafka_t *rk,\n                                   uint64_t
      testid,\n                                   int timeout_ms,\n                                   rd_kafka_resp_err_t
      err)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/test.c:4562,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4567,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4570,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4573,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4574,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4578,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4579,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/test.c:4582,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4586,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - rk
    - mv
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - test_msgver_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4591
      start: 4559
    functionDepth: 1
    functionLinenumber: 4559
    functionLinenumberEnd: 4591
    functionName: test_consumer_poll_once
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - rd_kafka_topic_name
    - test_msgver_add_msg
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: int test_consumer_poll_once(rd_kafka_t *rk, test_msgver_t *mv, int
      timeout_ms)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4612,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:4615,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/test.c:4623,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:4623,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4625,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4632,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4635,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:4637,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4639,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4643,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4645,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/test.c:4648,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:4651,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:4656,1
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/tests/test.c:4658,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/test.c:4660,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/test.c:4664,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:4667,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4669,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:4672,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:4679,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 9
    argNames:
    - what
    - rk
    - testid
    - exp_eof_cnt
    - exp_msg_base
    - exp_cnt
    - exact
    - mv
    - timeout_ms
    argTypes:
    - char*
    - rd_kafka_t*
    - uint64_t
    - int
    - int
    - int
    - rd_bool_t
    - test_msgver_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4684
      start: 4599
    functionDepth: 2
    functionLinenumber: 4599
    functionLinenumberEnd: 4684
    functionName: test_consumer_poll_exact_timeout
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_message_leader_epoch
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - rd_kafka_message_errstr
    - rd_kafka_message_destroy
    - rd_kafka_consumer_poll
    - rd_kafka_topic_name
    - TEST_FAIL
    - test_msgver_add_msg
    - tmout_multip
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: "int test_consumer_poll_exact_timeout(const char *what,\n                                     rd_kafka_t
      *rk,\n                                     uint64_t testid,\n                                     int
      exp_eof_cnt,\n                                     int exp_msg_base,\n                                     int
      exp_cnt,\n                                     rd_bool_t exact,\n                                     test_msgver_t
      *mv,\n                                     int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_poll_exact_timeout
      Src: /src/librdkafka/tests/test.c:4699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - what
    - rk
    - testid
    - exp_eof_cnt
    - exp_msg_base
    - exp_cnt
    - exact
    - mv
    argTypes:
    - char*
    - rd_kafka_t*
    - uint64_t
    - int
    - int
    - int
    - rd_bool_t
    - test_msgver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4702
      start: 4691
    functionDepth: 3
    functionLinenumber: 4691
    functionLinenumberEnd: 4702
    functionName: test_consumer_poll_exact
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll_exact_timeout
    linkageType: ''
    returnType: int
    signature: "int test_consumer_poll_exact(const char *what,\n                             rd_kafka_t
      *rk,\n                             uint64_t testid,\n                             int
      exp_eof_cnt,\n                             int exp_msg_base,\n                             int
      exp_cnt,\n                             rd_bool_t exact,\n                             test_msgver_t
      *mv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/test.c:4711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - what
    - rk
    - testid
    - exp_eof_cnt
    - exp_msg_base
    - exp_cnt
    - mv
    argTypes:
    - char*
    - rd_kafka_t*
    - uint64_t
    - int
    - int
    - int
    - test_msgver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4704
    functionDepth: 4
    functionLinenumber: 4704
    functionLinenumberEnd: 4714
    functionName: test_consumer_poll
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - test_consumer_poll_exact
    linkageType: ''
    returnType: int
    signature: "int test_consumer_poll(const char *what,\n                       rd_kafka_t
      *rk,\n                       uint64_t testid,\n                       int exp_eof_cnt,\n
      \                      int exp_msg_base,\n                       int exp_cnt,\n
      \                      test_msgver_t *mv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_poll_exact_timeout
      Src: /src/librdkafka/tests/test.c:4724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - what
    - rk
    - testid
    - exp_eof_cnt
    - exp_msg_base
    - exp_cnt
    - mv
    - timeout_ms
    argTypes:
    - char*
    - rd_kafka_t*
    - uint64_t
    - int
    - int
    - int
    - test_msgver_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4716
    functionDepth: 3
    functionLinenumber: 4716
    functionLinenumberEnd: 4727
    functionName: test_consumer_poll_timeout
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll_exact_timeout
    linkageType: ''
    returnType: int
    signature: "int test_consumer_poll_timeout(const char *what,\n                               rd_kafka_t
      *rk,\n                               uint64_t testid,\n                               int
      exp_eof_cnt,\n                               int exp_msg_base,\n                               int
      exp_cnt,\n                               test_msgver_t *mv,\n                               int
      timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4733,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:4733,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:4735,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/test.c:4736,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:4737,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4739,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:4740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4741
      start: 4729
    functionDepth: 1
    functionLinenumber: 4729
    functionLinenumberEnd: 4741
    functionName: test_consumer_close
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - rd_kafka_consumer_close
    - rd_kafka_name
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_consumer_close(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4748,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:4748,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/test.c:4749,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:4750,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/test.c:4751,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:4752,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4754,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/test.c:4755,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:4755,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/test.c:4756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4757
      start: 4744
    functionDepth: 1
    functionLinenumber: 4744
    functionLinenumberEnd: 4757
    functionName: test_flush
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - rd_kafka_flush
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - rd_kafka_outq_len
    - rd_kafka_name
    - TEST_FAIL
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_flush(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/test.c:4764,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:4767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4771
      start: 4759
    functionDepth: 1
    functionLinenumber: 4759
    functionLinenumberEnd: 4771
    functionName: test_is_forbidden_conf_group_protocol_consumer
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - test_consumer_group_protocol_classic
    linkageType: ''
    returnType: int
    signature: int test_is_forbidden_conf_group_protocol_consumer(const char *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_is_forbidden_conf_group_protocol_consumer
      Src: /src/librdkafka/tests/test.c:4775,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4776,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:4782,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4786
      start: 4773
    functionDepth: 2
    functionLinenumber: 4773
    functionLinenumberEnd: 4786
    functionName: test_conf_set
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 10
    functionsReached:
    - rd_kafka_conf_set
    - TEST_FAIL
    - TEST_SAY
    - test_is_forbidden_conf_group_protocol_consumer
    linkageType: ''
    returnType: void
    signature: void test_conf_set(rd_kafka_conf_t *conf, const char *name, const char
      *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:4800,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/tests/test.c:4802,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4804,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/test.c:4808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - conf
    - name
    argTypes:
    - rd_kafka_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4794
    functionDepth: 5
    functionLinenumber: 4794
    functionLinenumberEnd: 4811
    functionName: test_conf_get
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_destroy
    - TEST_FAIL
    - test_conf_init
    - rd_kafka_conf_get
    linkageType: ''
    returnType: char
    signature: char *test_conf_get(const rd_kafka_conf_t *conf, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/tests/test.c:4818,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - tconf
    - name
    argTypes:
    - rd_kafka_topic_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4814
    functionDepth: 1
    functionLinenumber: 4814
    functionLinenumberEnd: 4823
    functionName: test_topic_conf_get
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_conf_get
    - TEST_FAIL
    linkageType: ''
    returnType: char
    signature: "char *test_topic_conf_get(const rd_kafka_topic_conf_t *tconf,\n                          const
      char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:4834,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/test.c:4838,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/test.c:4841,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:4843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4829
    functionDepth: 6
    functionLinenumber: 4829
    functionLinenumberEnd: 4844
    functionName: test_conf_match
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rd_kafka_conf_destroy
    - test_conf_get
    - test_conf_init
    linkageType: ''
    returnType: int
    signature: int test_conf_match(rd_kafka_conf_t *conf, const char *name, const
      char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/test.c:4851,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - tconf
    - name
    - val
    argTypes:
    - rd_kafka_topic_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4855
      start: 4847
    functionDepth: 1
    functionLinenumber: 4847
    functionLinenumberEnd: 4855
    functionName: test_topic_conf_set
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - TEST_FAIL
    - rd_kafka_topic_conf_set
    linkageType: ''
    returnType: void
    signature: "void test_topic_conf_set(rd_kafka_topic_conf_t *tconf,\n                         const
      char *name,\n                         const char *val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/test.c:4868,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:4872,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:4875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - conf
    - tconf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_topic_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4877
      start: 4860
    functionDepth: 1
    functionLinenumber: 4860
    functionLinenumberEnd: 4877
    functionName: test_any_conf_set
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - TEST_FAIL
    - rd_kafka_topic_conf_set
    linkageType: ''
    returnType: void
    signature: "void test_any_conf_set(rd_kafka_conf_t *conf,\n                       rd_kafka_topic_conf_t
      *tconf,\n                       const char *name,\n                       const
      char *val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:4888,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/test.c:4890,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/test.c:4892,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:4894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4895
      start: 4884
    functionDepth: 6
    functionLinenumber: 4884
    functionLinenumberEnd: 4895
    functionName: test_needs_auth
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 3
    functionsReached:
    - strcmp
    - rd_kafka_conf_destroy
    - test_conf_get
    - test_conf_init
    linkageType: ''
    returnType: int
    signature: int test_needs_auth(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/test.c:4915,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:4916,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:4918,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:4919,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/test.c:4921,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:4925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4928
      start: 4909
    functionDepth: 1
    functionLinenumber: 4909
    functionLinenumberEnd: 4928
    functionName: test_topic_partitions
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - va_end
    - va_arg
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: rd_kafka_topic_partition_list_t *test_topic_partitions(int cnt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:4934,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/test.c:4939,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:4943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4946
      start: 4930
    functionDepth: 1
    functionLinenumber: 4930
    functionLinenumberEnd: 4946
    functionName: test_print_partition_list
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_get_leader_epoch
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void test_print_partition_list(\n    const rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:4964,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:4965,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:4970,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - al
    - bl
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4953
    functionDepth: 1
    functionLinenumber: 4953
    functionLinenumberEnd: 4975
    functionName: test_partition_list_cmp
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rd_kafka_topic_partition_list_sort
    linkageType: ''
    returnType: int
    signature: "int test_partition_list_cmp(rd_kafka_topic_partition_list_t *al,\n
      \                           rd_kafka_topic_partition_list_t *bl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:4993,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/test.c:4994,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:5000,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/test.c:5001,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/test.c:5002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - al
    - bl
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5007
      start: 4982
    functionDepth: 1
    functionLinenumber: 4982
    functionLinenumberEnd: 5007
    functionName: test_partition_list_and_offsets_cmp
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_leader_epoch
    - strcmp
    - rd_kafka_topic_partition_list_sort
    linkageType: ''
    returnType: int
    signature: "int test_partition_list_and_offsets_cmp(rd_kafka_topic_partition_list_t
      *al,\n                                        rd_kafka_topic_partition_list_t
      *bl)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5014,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5022,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5025,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:5027,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5028,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:5030,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:5031,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:5032,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5034,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5035,1
    - Dst: system
      Src: /src/librdkafka/tests/test.c:5036,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5037,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5040,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:5040,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/tests/test.c:5041,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5042,1
    - Dst: WTERMSIG
      Src: /src/librdkafka/tests/test.c:5043,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5044,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5045,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5048
      start: 5012
    functionDepth: 1
    functionLinenumber: 5012
    functionLinenumberEnd: 5048
    functionName: test_kafka_cmd
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - WEXITSTATUS
    - rd_snprintf
    - strerror
    - test_getenv
    - va_start
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - WTERMSIG
    - rd_vsnprintf
    - va_end
    - TEST_FAIL
    - system
    - WIFSIGNALED
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_kafka_cmd(const char *fmt, ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5055,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5063,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5071,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5072,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5075,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:5078,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5080,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:5084,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:5085,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:5086,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5087,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5089,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5090,1
    - Dst: system
      Src: /src/librdkafka/tests/test.c:5091,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5092,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5095,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:5095,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/tests/test.c:5096,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5097,1
    - Dst: WTERMSIG
      Src: /src/librdkafka/tests/test.c:5098,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5099,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:5100,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5053
    functionDepth: 1
    functionLinenumber: 5053
    functionLinenumberEnd: 5103
    functionName: test_kafka_topics
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - WEXITSTATUS
    - rd_snprintf
    - strerror
    - test_getenv
    - va_start
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - WTERMSIG
    - rd_vsnprintf
    - TEST_BRKVER
    - va_end
    - TEST_FAIL
    - system
    - WIFSIGNALED
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_kafka_topics(const char *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5126,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5133,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:5135,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/test.c:5138,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5140,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/test.c:5146,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/test.c:5146,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:5150,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:5151,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5153,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5155,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5160,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/test.c:5161,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:5164,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5165,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5167,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5169,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:5169,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:5170,1
    - Dst: rd_kafka_event_CreateTopics_result
      Src: /src/librdkafka/tests/test.c:5172,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5173,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:5174,1
    - Dst: rd_kafka_CreateTopics_result_topics
      Src: /src/librdkafka/tests/test.c:5176,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5177,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5178,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5184,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:5184,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:5185,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/test.c:5188,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/test.c:5189,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:5191,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:5193,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:5195,1
    - Dst: rd_kafka_NewTopic_destroy
      Src: /src/librdkafka/tests/test.c:5197,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - use_rk
    - topicname
    - partition_cnt
    - replication_factor
    - configs
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5201
      start: 5113
    functionDepth: 7
    functionLinenumber: 5113
    functionLinenumberEnd: 5201
    functionName: test_admin_create_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_CreateTopics_result
    - rd_kafka_CreateTopics_result_topics
    - rd_kafka_queue_poll
    - rd_kafka_CreateTopics
    - TEST_ASSERT
    - rd_kafka_NewTopic_destroy
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_topic_result_error_string
    - rd_kafka_topic_result_error
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - rd_kafka_NewTopic_set_config
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - tmout_multip
    - rd_kafka_topic_result_name
    - TIMING_STOP
    - test_create_producer
    - rd_kafka_NewTopic_new
    - TIMING_START
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void test_admin_create_topic(rd_kafka_t *use_rk,\n                             const
      char *topicname,\n                             int partition_cnt,\n                             int
      replication_factor,\n                             const char **configs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/test.c:5211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topicname
    - partition_cnt
    - replication_factor
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5208
    functionDepth: 2
    functionLinenumber: 5208
    functionLinenumberEnd: 5215
    functionName: test_create_topic_sh
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_kafka_topics
    linkageType: ''
    returnType: void
    signature: "void test_create_topic_sh(const char *topicname,\n                                 int
      partition_cnt,\n                                 int replication_factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5225,1
    - Dst: test_create_topic_sh
      Src: /src/librdkafka/tests/test.c:5226,1
    - Dst: test_admin_create_topic
      Src: /src/librdkafka/tests/test.c:5229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - use_rk
    - topicname
    - partition_cnt
    - replication_factor
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5231
      start: 5221
    functionDepth: 8
    functionLinenumber: 5221
    functionLinenumberEnd: 5231
    functionName: test_create_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_admin_create_topic
    - test_create_topic_sh
    - TEST_BRKVER
    linkageType: ''
    returnType: void
    signature: "void test_create_topic(rd_kafka_t *use_rk,\n                       const
      char *topicname,\n                       int partition_cnt,\n                       int
      replication_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/test.c:5238,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/test.c:5239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - use_rk
    - topicname
    - partition_cnt
    - replication_factor
    - timeout
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5233
    functionDepth: 9
    functionLinenumber: 5233
    functionLinenumberEnd: 5240
    functionName: test_create_topic_wait_exists
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - test_create_topic
    - test_wait_topic_exists
    linkageType: ''
    returnType: void
    signature: "void test_create_topic_wait_exists(rd_kafka_t *use_rk,\n                                   const
      char *topicname,\n                                   int partition_cnt,\n                                   int
      replication_factor,\n                                   int timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/test.c:5247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5248
      start: 5246
    functionDepth: 2
    functionLinenumber: 5246
    functionLinenumberEnd: 5248
    functionName: test_delete_topic_sh
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_kafka_topics
    linkageType: ''
    returnType: void
    signature: void test_delete_topic_sh(const char *topicname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5263,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5270,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:5272,1
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/tests/test.c:5274,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:5276,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:5277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5279,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5281,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5286,1
    - Dst: rd_kafka_DeleteTopics
      Src: /src/librdkafka/tests/test.c:5287,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:5290,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5291,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5293,1
    - Dst: rd_kafka_event_DeleteTopics_result
      Src: /src/librdkafka/tests/test.c:5295,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5296,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:5297,1
    - Dst: rd_kafka_DeleteTopics_result_topics
      Src: /src/librdkafka/tests/test.c:5299,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5300,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5301,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5307,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:5307,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/test.c:5309,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/test.c:5310,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:5312,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:5314,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:5316,1
    - Dst: rd_kafka_DeleteTopic_destroy
      Src: /src/librdkafka/tests/test.c:5318,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - use_rk
    - topicname
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5322
      start: 5254
    functionDepth: 7
    functionLinenumber: 5254
    functionLinenumberEnd: 5322
    functionName: test_admin_delete_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_DeleteTopics
    - TEST_ASSERT
    - rd_kafka_event_DeleteTopics_result
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_topic_result_error_string
    - rd_kafka_topic_result_error
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteTopics_result_topics
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - tmout_multip
    - rd_kafka_DeleteTopic_destroy
    - rd_kafka_topic_result_name
    - TIMING_STOP
    - test_create_producer
    - TIMING_START
    - rd_kafka_DeleteTopic_new
    - rd_kafka_queue_new
    linkageType: ''
    returnType: void
    signature: void test_admin_delete_topic(rd_kafka_t *use_rk, const char *topicname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5329,1
    - Dst: test_delete_topic_sh
      Src: /src/librdkafka/tests/test.c:5330,1
    - Dst: test_admin_delete_topic
      Src: /src/librdkafka/tests/test.c:5332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - use_rk
    - topicname
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5333
      start: 5328
    functionDepth: 8
    functionLinenumber: 5328
    functionLinenumberEnd: 5333
    functionName: test_delete_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_admin_delete_topic
    - test_delete_topic_sh
    - TEST_BRKVER
    linkageType: ''
    returnType: void
    signature: void test_delete_topic(rd_kafka_t *use_rk, const char *topicname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5350,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5357,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:5359,1
    - Dst: rd_kafka_NewPartitions_new
      Src: /src/librdkafka/tests/test.c:5361,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5363,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:5366,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:5367,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5369,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5371,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5374,1
    - Dst: rd_kafka_CreatePartitions
      Src: /src/librdkafka/tests/test.c:5375,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:5378,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5379,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5381,1
    - Dst: rd_kafka_event_CreatePartitions_result
      Src: /src/librdkafka/tests/test.c:5383,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5384,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:5385,1
    - Dst: rd_kafka_CreatePartitions_result_topics
      Src: /src/librdkafka/tests/test.c:5387,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5388,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5389,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5394,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:5394,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/test.c:5396,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/test.c:5397,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:5399,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:5401,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:5403,1
    - Dst: rd_kafka_NewPartitions_destroy
      Src: /src/librdkafka/tests/test.c:5405,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - use_rk
    - topicname
    - new_partition_cnt
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5409
      start: 5339
    functionDepth: 7
    functionLinenumber: 5339
    functionLinenumberEnd: 5409
    functionName: test_admin_create_partitions
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_CreatePartitions_result
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_CreatePartitions
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_CreatePartitions_result_topics
    - rd_kafka_topic_result_error_string
    - rd_kafka_topic_result_error
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - tmout_multip
    - rd_kafka_topic_result_name
    - TIMING_STOP
    - test_create_producer
    - rd_kafka_NewPartitions_destroy
    - TIMING_START
    - rd_kafka_queue_new
    - rd_kafka_NewPartitions_new
    linkageType: ''
    returnType: void
    signature: "void test_admin_create_partitions(rd_kafka_t *use_rk,\n                                         const
      char *topicname,\n                                         int new_partition_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5418,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/test.c:5419,1
    - Dst: test_admin_create_partitions
      Src: /src/librdkafka/tests/test.c:5422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - use_rk
    - topicname
    - new_partition_cnt
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5424
      start: 5415
    functionDepth: 8
    functionLinenumber: 5415
    functionLinenumberEnd: 5424
    functionName: test_create_partitions
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - test_admin_create_partitions
    - TEST_BRKVER
    - test_kafka_topics
    linkageType: ''
    returnType: void
    signature: "void test_create_partitions(rd_kafka_t *use_rk,\n                            const
      char *topicname,\n                            int new_partition_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5433,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5437,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/test.c:5441,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/test.c:5446,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5447,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5449,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:5450,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5452,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:5459,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5463,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:5465,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5466,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:5468,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:5469,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5471,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:5473,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - rk
    - topicname
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5479
      start: 5427
    functionDepth: 7
    functionLinenumber: 5427
    functionLinenumberEnd: 5479
    functionName: test_get_partition_count
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_create_producer
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - test_clock
    - TEST_SAY
    - rd_kafka_err2str
    - rd_sleep
    - TEST_WARN
    - rd_kafka_topic_name
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: int
    signature: "int test_get_partition_count(rd_kafka_t *rk,\n                             const
      char *topicname,\n                             int timeout_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5490,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5493,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/test.c:5494,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5495,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5496,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5498,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:5499,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5501,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:5506,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5509,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/test.c:5511,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5512,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:5514,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:5515,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - rk
    - rkt
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5520
      start: 5484
    functionDepth: 2
    functionLinenumber: 5484
    functionLinenumberEnd: 5520
    functionName: test_auto_create_topic_rkt
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - test_clock
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - rd_sleep
    - TEST_WARN
    - rd_kafka_topic_name
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    - TIMING_STOP
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_auto_create_topic_rkt(rd_kafka_t *rk,\n                                               rd_kafka_topic_t
      *rkt,\n                                               int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/test.c:5524,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/test.c:5527,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/test.c:5528,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/test.c:5529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - name
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5531
      start: 5522
    functionDepth: 3
    functionLinenumber: 5522
    functionLinenumberEnd: 5531
    functionName: test_auto_create_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_new
    - rd_kafka_last_error
    - test_auto_create_topic_rkt
    - rd_kafka_topic_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t test_auto_create_topic(rd_kafka_t *rk, const char
      *name, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/test.c:5542,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/test.c:5544,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:5545,1
    - Dst: test_auto_create_topic
      Src: /src/librdkafka/tests/test.c:5546,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5546,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5548,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5549,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5553
      start: 5538
    functionDepth: 6
    functionLinenumber: 5538
    functionLinenumberEnd: 5553
    functionName: test_check_auto_create_topic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - TEST_SAY
    - rd_kafka_err2str
    - test_auto_create_topic
    - test_mk_topic_name
    - tmout_multip
    linkageType: ''
    returnType: int
    signature: int test_check_auto_create_topic(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5568,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5578,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5581,1
    - Dst: system
      Src: /src/librdkafka/tests/test.c:5587,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/tests/test.c:5589,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5589,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5590,1
    - Dst: fork
      Src: /src/librdkafka/tests/test.c:5596,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5598,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:5599,1
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:5613,1
    - Dst: execve
      Src: /src/librdkafka/tests/test.c:5623,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5625,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:5626,1
    - Dst: exit
      Src: /src/librdkafka/tests/test.c:5627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - cls
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5631
      start: 5566
    functionDepth: 1
    functionLinenumber: 5566
    functionLinenumberEnd: 5631
    functionName: test_run_java
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - fork
    - WEXITSTATUS
    - exit
    - strerror
    - test_getenv
    - execve
    - TEST_WARN
    - system
    - WIFSIGNALED
    - malloc
    linkageType: ''
    returnType: int
    signature: int test_run_java(const char *cls, const char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5641,1
    - Dst: waitpid
      Src: /src/librdkafka/tests/test.c:5647,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5650,1
    - Dst: strerror
      Src: /src/librdkafka/tests/test.c:5650,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/tests/test.c:5654,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5655,1
    - Dst: WTERMSIG
      Src: /src/librdkafka/tests/test.c:5656,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5658,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5659,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/tests/test.c:5660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - pid
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5666
      start: 5639
    functionDepth: 1
    functionLinenumber: 5639
    functionLinenumberEnd: 5666
    functionName: test_waitpid
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - WEXITSTATUS
    - strerror
    - waitpid
    - TEST_WARN
    - WIFSIGNALED
    - WTERMSIG
    linkageType: ''
    returnType: int
    signature: int test_waitpid(int pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/test.c:5678,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/test.c:5679,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5681,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5684,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/test.c:5688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - feature
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5673
    functionDepth: 1
    functionLinenumber: 5673
    functionLinenumberEnd: 5690
    functionName: test_check_builtin
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_conf_destroy
    - rd_kafka_conf_set
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int test_check_builtin(const char *feature)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:5701,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:5702,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:5703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5693
    functionDepth: 0
    functionLinenumber: 5693
    functionLinenumberEnd: 5706
    functionName: tsprintf
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - rd_vsnprintf
    linkageType: ''
    returnType: char
    signature: char *tsprintf(const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:5717,1
    - Dst: vsnprintf
      Src: /src/librdkafka/tests/test.c:5718,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:5719,1
    - Dst: realloc
      Src: /src/librdkafka/tests/test.c:5728,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:5732,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:5734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - test
    - fmt
    argTypes:
    - struct test*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5735
      start: 5713
    functionDepth: 1
    functionLinenumber: 5713
    functionLinenumberEnd: 5735
    functionName: test_report_add
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - vsnprintf
    - va_start
    - va_end
    - rd_strdup
    - realloc
    linkageType: ''
    returnType: void
    signature: void test_report_add(struct test *test, const char *fmt, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5749,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/test.c:5754,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:5758,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5762,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/test.c:5762,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/test.c:5764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - skip
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5774
      start: 5743
    functionDepth: 1
    functionLinenumber: 5743
    functionLinenumberEnd: 5774
    functionName: test_can_create_topics
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_getenv
    - TEST_BRKVER
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int test_can_create_topics(int skip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5784,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:5786,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5787,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:5790,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:5791,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/test.c:5793,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5794,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:5801,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5802,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:5803,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:5804,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:5806,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:5807,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:5808,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:5810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - eventq
    - event_type
    - timeout_ms
    argTypes:
    - rd_kafka_queue_t*
    - rd_kafka_event_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5813
      start: 5780
    functionDepth: 1
    functionLinenumber: 5780
    functionLinenumberEnd: 5813
    functionName: test_wait_event
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_error_string
    - rd_kafka_queue_poll
    - rd_kafka_event_error
    - TEST_SAY
    - TIMING_START
    - rd_kafka_event_type
    - rd_kafka_event_name
    - rd_kafka_event_destroy
    - test_clock
    - TIMING_STOP
    linkageType: ''
    returnType: rd_kafka_event_t
    signature: "rd_kafka_event_t *test_wait_event(rd_kafka_queue_t *eventq,\n                                  rd_kafka_event_type_t
      event_type,\n                                  int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:5817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - line
    - level
    - str
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5818
      start: 5816
    functionDepth: 1
    functionLinenumber: 5816
    functionLinenumberEnd: 5818
    functionName: test_SAY
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    linkageType: ''
    returnType: void
    signature: void test_SAY(const char *file, int line, int level, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:5821,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:5822,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:5825,1
    - Dst: rtrim
      Src: /src/librdkafka/tests/test.c:5827,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:5829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - file
    - line
    - str
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5830
      start: 5820
    functionDepth: 1
    functionLinenumber: 5820
    functionLinenumberEnd: 5830
    functionName: test_SKIP
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - rd_snprintf
    - TEST_LOCK
    - TEST_WARN
    - rtrim
    linkageType: ''
    returnType: void
    signature: void test_SKIP(const char *file, int line, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5834
    functionName: test_curr_name
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *test_curr_name(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/tests/test.c:5847,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:5849,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - what
    - lvl
    - hdrs
    argTypes:
    - char*
    - int
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5851
      start: 5840
    functionDepth: 1
    functionLinenumber: 5840
    functionLinenumberEnd: 5851
    functionName: test_headers_dump
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_header_get_all
    linkageType: ''
    returnType: void
    signature: "void test_headers_dump(const char *what,\n                       int
      lvl,\n                       const rd_kafka_headers_t *hdrs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5871,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/test.c:5873,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:5873,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5874,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:5874,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5875,1
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:5878,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:5885,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - use_rk
    - cntp
    argTypes:
    - rd_kafka_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5891
      start: 5863
    functionDepth: 7
    functionLinenumber: 5863
    functionLinenumberEnd: 5891
    functionName: test_get_broker_ids
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_create_producer
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t *test_get_broker_ids(rd_kafka_t *use_rk, size_t *cntp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:5922,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:5924,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/test.c:5926,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/test.c:5927,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:5929,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:5930,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5932,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/test.c:5934,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/tests/test.c:5935,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:5936,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/test.c:5938,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/test.c:5941,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5942,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:5944,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5945,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/test.c:5945,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/test.c:5947,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:5948,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/test.c:5951,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/test.c:5954,1
    - Dst: rd_kafka_ConfigEntry_name
      Src: /src/librdkafka/tests/test.c:5958,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:5960,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/test.c:5961,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:5964,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:5970,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:5971,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:5974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - use_rk
    - broker_id
    - key
    argTypes:
    - rd_kafka_t*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5977
      start: 5903
    functionDepth: 7
    functionLinenumber: 5903
    functionLinenumberEnd: 5977
    functionName: test_get_broker_config_entry
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_ConfigResource_error
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_wait_admin_result
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_ConfigEntry_value
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - rd_kafka_DescribeConfigs_result_resources
    - rd_kafka_DescribeConfigs
    - rd_strdup
    - rd_kafka_ConfigResource_configs
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_event_DescribeConfigs_result
    - test_create_producer
    - tsprintf
    - rd_kafka_ConfigEntry_name
    - rd_kafka_ConfigResource_new
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: char
    signature: "char *test_get_broker_config_entry(rd_kafka_t *use_rk,\n                                   int32_t
      broker_id,\n                                   const char *key)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/test.c:6004,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:6005,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6006,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6006,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:6015,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6022,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6025,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6031,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6051,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6066,1
    - Dst: memcmp
      Src: /src/librdkafka/tests/test.c:6077,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6084,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6094,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:6112,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6115,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6125,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6134,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6139,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:6146,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 5
    argNames:
    - rk
    - topics
    - topic_cnt
    - not_topics
    - not_topic_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_topic_t*
    - size_t
    - rd_kafka_metadata_topic_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6149
      start: 5987
    functionDepth: 2
    functionLinenumber: 5987
    functionLinenumberEnd: 6149
    functionName: verify_topics_in_metadata
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strcmp
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: int
    signature: "int verify_topics_in_metadata(rd_kafka_t *rk,\n                                     rd_kafka_metadata_topic_t
      *topics,\n                                     size_t topic_cnt,\n                                     rd_kafka_metadata_topic_t
      *not_topics,\n                                     size_t not_topic_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:6172,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/test.c:6175,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:6177,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6179,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:6181,1
    - Dst: verify_topics_in_metadata
      Src: /src/librdkafka/tests/test.c:6185,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6189,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:6196,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:6197,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/test.c:6198,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:6201,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - rk
    - topics
    - topic_cnt
    - not_topics
    - not_topic_cnt
    - tmout
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_topic_t*
    - size_t
    - rd_kafka_metadata_topic_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6205
      start: 6156
    functionDepth: 6
    functionLinenumber: 6156
    functionLinenumberEnd: 6205
    functionName: test_wait_metadata_update
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - verify_topics_in_metadata
    - rd_kafka_destroy
    - rd_sleep
    - TEST_SAY
    - TIMING_START
    - TEST_FAIL
    - test_clock
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void test_wait_metadata_update(rd_kafka_t *rk,\n                               rd_kafka_metadata_topic_t
      *topics,\n                               size_t topic_cnt,\n                               rd_kafka_metadata_topic_t
      *not_topics,\n                               size_t not_topic_cnt,\n                               int
      tmout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/test.c:6213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - topic
    - tmout
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6214
      start: 6210
    functionDepth: 7
    functionLinenumber: 6210
    functionLinenumberEnd: 6214
    functionName: test_wait_topic_exists
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 5
    functionsReached:
    - test_wait_metadata_update
    linkageType: ''
    returnType: void
    signature: void test_wait_topic_exists(rd_kafka_t *rk, const char *topic, int
      tmout)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:6228,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6230,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/test.c:6233,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/test.c:6237,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6238,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:6241,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6246,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/test.c:6246,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/test.c:6248,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - q
    - evtype
    - tmout
    argTypes:
    - rd_kafka_queue_t*
    - rd_kafka_event_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6253
      start: 6222
    functionDepth: 1
    functionLinenumber: 6222
    functionLinenumberEnd: 6253
    functionName: test_wait_admin_result
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_event_error_string
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - TEST_WARN
    - rd_kafka_event_type
    - rd_kafka_event_name
    - TEST_FAIL
    linkageType: ''
    returnType: rd_kafka_event_t
    signature: "rd_kafka_event_t *test_wait_admin_result(rd_kafka_queue_t *q,\n                                         rd_kafka_event_type_t
      evtype,\n                                         int tmout)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/test.c:6295,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:6297,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6298,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6298,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:6299,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:6300,1
    - Dst: rd_kafka_event_CreateTopics_result
      Src: /src/librdkafka/tests/test.c:6306,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6307,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6308,1
    - Dst: rd_kafka_CreateTopics_result_topics
      Src: /src/librdkafka/tests/test.c:6310,1
    - Dst: rd_kafka_event_DeleteTopics_result
      Src: /src/librdkafka/tests/test.c:6314,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6315,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6316,1
    - Dst: rd_kafka_DeleteTopics_result_topics
      Src: /src/librdkafka/tests/test.c:6318,1
    - Dst: rd_kafka_event_CreatePartitions_result
      Src: /src/librdkafka/tests/test.c:6322,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6323,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6324,1
    - Dst: rd_kafka_CreatePartitions_result_topics
      Src: /src/librdkafka/tests/test.c:6326,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/test.c:6331,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6332,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6333,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/test.c:6336,1
    - Dst: rd_kafka_event_AlterConfigs_result
      Src: /src/librdkafka/tests/test.c:6341,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6342,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6343,1
    - Dst: rd_kafka_AlterConfigs_result_resources
      Src: /src/librdkafka/tests/test.c:6345,1
    - Dst: rd_kafka_event_IncrementalAlterConfigs_result
      Src: /src/librdkafka/tests/test.c:6351,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6352,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6354,1
    - Dst: rd_kafka_IncrementalAlterConfigs_result_resources
      Src: /src/librdkafka/tests/test.c:6356,1
    - Dst: rd_kafka_event_CreateAcls_result
      Src: /src/librdkafka/tests/test.c:6361,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6362,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6363,1
    - Dst: rd_kafka_CreateAcls_result_acls
      Src: /src/librdkafka/tests/test.c:6365,1
    - Dst: rd_kafka_event_DeleteAcls_result
      Src: /src/librdkafka/tests/test.c:6369,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6370,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6371,1
    - Dst: rd_kafka_DeleteAcls_result_responses
      Src: /src/librdkafka/tests/test.c:6373,1
    - Dst: rd_kafka_event_ListConsumerGroups_result
      Src: /src/librdkafka/tests/test.c:6377,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6378,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6380,1
    - Dst: rd_kafka_ListConsumerGroups_result_errors
      Src: /src/librdkafka/tests/test.c:6382,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/tests/test.c:6386,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6387,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6389,1
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/tests/test.c:6391,1
    - Dst: rd_kafka_event_DeleteGroups_result
      Src: /src/librdkafka/tests/test.c:6395,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6396,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6397,1
    - Dst: rd_kafka_DeleteGroups_result_groups
      Src: /src/librdkafka/tests/test.c:6399,1
    - Dst: rd_kafka_event_DeleteRecords_result
      Src: /src/librdkafka/tests/test.c:6403,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6404,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6405,1
    - Dst: rd_kafka_DeleteRecords_result_offsets
      Src: /src/librdkafka/tests/test.c:6407,1
    - Dst: rd_kafka_event_DeleteConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/test.c:6411,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6413,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6416,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/tests/test.c:6418,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6422,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/tests/test.c:6423,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:6428,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6429,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/test.c:6430,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/test.c:6431,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:6433,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/test.c:6439,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6440,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/test.c:6442,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/test.c:6443,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/test.c:6444,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/test.c:6446,1
    - Dst: rd_kafka_acl_result_error
      Src: /src/librdkafka/tests/test.c:6453,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6455,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/test.c:6456,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:6457,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/test.c:6459,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6466,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6466,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:6467,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/test.c:6469,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/test.c:6476,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6477,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6478,1
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/tests/test.c:6479,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:6481,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/test.c:6483,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/test.c:6491,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6493,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6494,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/test.c:6495,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:6496,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/test.c:6497,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/test.c:6499,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/test.c:6500,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/tests/test.c:6503,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6510,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:6513,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/test.c:6514,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6517,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6526,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6529,1
    - Dst: rd_kafka_DeleteAcls_result_response_error
      Src: /src/librdkafka/tests/test.c:6540,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:6542,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/test.c:6543,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/test.c:6545,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:6552,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 142
    argCount: 4
    argNames:
    - q
    - evtype
    - retevent
    - tmout
    argTypes:
    - rd_kafka_queue_t*
    - rd_kafka_event_type_t
    - rd_kafka_event_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6555
      start: 6271
    functionDepth: 1
    functionLinenumber: 6271
    functionLinenumberEnd: 6555
    functionName: test_wait_topic_admin_result
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_group_result_error
    - rd_kafka_event_CreateTopics_result
    - rd_kafka_CreateTopics_result_topics
    - rd_kafka_event_CreatePartitions_result
    - rd_kafka_DeleteRecords_result_offsets
    - rd_kafka_event_DescribeConsumerGroups_result
    - rd_kafka_DeleteAcls_result_responses
    - rd_kafka_acl_result_error
    - rd_kafka_CreateAcls_result_acls
    - rd_kafka_ConfigResource_name
    - rd_kafka_event_DeleteTopics_result
    - rd_kafka_ConfigResource_error
    - rd_kafka_event_DeleteConsumerGroupOffsets_result
    - rd_kafka_error_name
    - rd_kafka_IncrementalAlterConfigs_result_resources
    - rd_kafka_ConsumerGroupDescription_error
    - rd_kafka_event_destroy
    - rd_kafka_CreatePartitions_result_topics
    - rd_kafka_event_error_string
    - rd_kafka_topic_result_error_string
    - rd_kafka_topic_result_error
    - rd_kafka_event_ListConsumerGroups_result
    - rd_kafka_event_IncrementalAlterConfigs_result
    - rd_kafka_ListConsumerGroups_result_errors
    - test_wait_admin_result
    - rd_kafka_ConfigResource_type
    - rd_kafka_err2str
    - rd_kafka_DeleteAcls_result_response_error
    - rd_kafka_event_CreateAcls_result
    - rd_kafka_error_code
    - rd_kafka_DeleteTopics_result_topics
    - rd_kafka_event_DeleteAcls_result
    - rd_kafka_DeleteGroups_result_groups
    - TEST_FAIL
    - rd_kafka_group_result_name
    - RD_NOTREACHED
    - rd_kafka_DescribeConfigs_result_resources
    - rd_kafka_event_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_event_DeleteGroups_result
    - rd_kafka_event_DeleteRecords_result
    - rd_kafka_DeleteConsumerGroupOffsets_result_groups
    - rd_kafka_topic_result_name
    - rd_kafka_AlterConfigs_result_resources
    - rd_kafka_ConsumerGroupDescription_group_id
    - rd_kafka_event_DescribeConfigs_result
    - rd_kafka_DescribeConsumerGroups_result_groups
    - rd_kafka_error_string
    - TEST_WARN
    - rd_kafka_event_AlterConfigs_result
    - rd_kafka_group_result_partitions
    - rd_kafka_event_error
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_wait_topic_admin_result(rd_kafka_queue_t
      *q,\n                                                 rd_kafka_event_type_t
      evtype,\n                                                 rd_kafka_event_t **retevent,\n
      \                                                int tmout)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:6582,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/test.c:6586,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6588,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6593,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6594,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6599,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6601,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:6602,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6604,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6606,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6611,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/test.c:6613,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6615,1
    - Dst: rd_kafka_NewTopic_destroy_array
      Src: /src/librdkafka/tests/test.c:6617,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:6618,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6624,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6627,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6630,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 6
    argNames:
    - rk
    - useq
    - topics
    - topic_cnt
    - num_partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - char**
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6634
      start: 6569
    functionDepth: 2
    functionLinenumber: 6569
    functionLinenumberEnd: 6634
    functionName: test_CreateTopics_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - free
    - rd_kafka_CreateTopics
    - rd_kafka_NewTopic_new
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_new
    - test_wait_topic_admin_result
    - rd_kafka_queue_destroy
    - rd_kafka_AdminOptions_set_operation_timeout
    - TEST_FAIL
    - rd_kafka_NewTopic_destroy_array
    - malloc
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_CreateTopics_simple(rd_kafka_t *rk,\n                                             rd_kafka_queue_t
      *useq,\n                                             char **topics,\n                                             size_t
      topic_cnt,\n                                             int num_partitions,\n
      \                                            void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewPartitions_new
      Src: /src/librdkafka/tests/test.c:6649,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6651,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6655,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6656,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6659,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6661,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:6662,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6664,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6666,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6671,1
    - Dst: rd_kafka_CreatePartitions
      Src: /src/librdkafka/tests/test.c:6674,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6676,1
    - Dst: rd_kafka_NewPartitions_destroy
      Src: /src/librdkafka/tests/test.c:6678,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6684,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6687,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6690,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 5
    argNames:
    - rk
    - useq
    - topic
    - total_part_cnt
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6694
      start: 6637
    functionDepth: 2
    functionLinenumber: 6637
    functionLinenumberEnd: 6694
    functionName: test_CreatePartitions_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_NewPartitions_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_CreatePartitions
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_new
    - test_wait_topic_admin_result
    - rd_kafka_queue_destroy
    - rd_kafka_AdminOptions_set_operation_timeout
    - TEST_FAIL
    - rd_kafka_NewPartitions_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_CreatePartitions_simple(rd_kafka_t *rk,\n
      \                                                rd_kafka_queue_t *useq,\n                                                 const
      char *topic,\n                                                 size_t total_part_cnt,\n
      \                                                void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:6709,1
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/tests/test.c:6712,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6713,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6716,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6717,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6722,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6724,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:6725,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6727,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6729,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6734,1
    - Dst: rd_kafka_DeleteTopics
      Src: /src/librdkafka/tests/test.c:6736,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6738,1
    - Dst: rd_kafka_DeleteTopic_destroy_array
      Src: /src/librdkafka/tests/test.c:6740,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:6742,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6747,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6750,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6753,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 5
    argNames:
    - rk
    - useq
    - topics
    - topic_cnt
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6756
      start: 6697
    functionDepth: 2
    functionLinenumber: 6697
    functionLinenumberEnd: 6756
    functionName: test_DeleteTopics_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - free
    - rd_kafka_DeleteTopics
    - rd_kafka_DeleteTopic_destroy_array
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_DeleteTopic_new
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_new
    - test_wait_topic_admin_result
    - rd_kafka_queue_destroy
    - rd_kafka_AdminOptions_set_operation_timeout
    - TEST_FAIL
    - malloc
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_DeleteTopics_simple(rd_kafka_t *rk,\n                                             rd_kafka_queue_t
      *useq,\n                                             char **topics,\n                                             size_t
      topic_cnt,\n                                             void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:6770,1
    - Dst: rd_kafka_DeleteGroup_new
      Src: /src/librdkafka/tests/test.c:6773,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6774,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6777,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6778,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6783,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6785,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6787,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6792,1
    - Dst: rd_kafka_DeleteGroups
      Src: /src/librdkafka/tests/test.c:6794,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6796,1
    - Dst: rd_kafka_DeleteGroup_destroy_array
      Src: /src/librdkafka/tests/test.c:6798,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:6799,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6804,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6807,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6810,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - rk
    - useq
    - groups
    - group_cnt
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - char**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6813
      start: 6758
    functionDepth: 2
    functionLinenumber: 6758
    functionLinenumberEnd: 6813
    functionName: test_DeleteGroups_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DeleteGroup_destroy_array
    - free
    - rd_kafka_DeleteGroup_new
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_destroy
    - test_wait_topic_admin_result
    - rd_kafka_queue_new
    - TEST_FAIL
    - rd_kafka_DeleteGroups
    - malloc
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_DeleteGroups_simple(rd_kafka_t *rk,\n                                             rd_kafka_queue_t
      *useq,\n                                             char **groups,\n                                             size_t
      group_cnt,\n                                             void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteRecords_new
      Src: /src/librdkafka/tests/test.c:6824,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6828,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6829,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6834,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6836,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:6837,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6839,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6841,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6846,1
    - Dst: rd_kafka_DeleteRecords
      Src: /src/librdkafka/tests/test.c:6848,1
    - Dst: rd_kafka_DeleteRecords_destroy
      Src: /src/librdkafka/tests/test.c:6850,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6852,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6857,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6860,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6863,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - rk
    - useq
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6867
      start: 6815
    functionDepth: 2
    functionLinenumber: 6815
    functionLinenumberEnd: 6867
    functionName: test_DeleteRecords_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DeleteRecords_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_new
    - rd_kafka_DeleteRecords
    - test_wait_topic_admin_result
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_kafka_DeleteRecords_new
    - rd_kafka_queue_destroy
    - TEST_FAIL
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_DeleteRecords_simple(rd_kafka_t *rk,\n                          rd_kafka_queue_t
      *useq,\n                          const rd_kafka_topic_partition_list_t *offsets,\n
      \                         void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:6881,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:6883,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/test.c:6888,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6890,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:6891,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6893,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6895,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6901,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/test.c:6907,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6909,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/test.c:6913,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_destroy
      Src: /src/librdkafka/tests/test.c:6917,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:6919,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6924,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6928,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:6931,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:6932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - rk
    - useq
    - group_id
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - char*
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6935
      start: 6869
    functionDepth: 2
    functionLinenumber: 6869
    functionLinenumberEnd: 6935
    functionName: test_DeleteConsumerGroupOffsets_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - TEST_SAY
    - rd_kafka_DeleteConsumerGroupOffsets_new
    - TEST_ASSERT
    - rd_kafka_DeleteConsumerGroupOffsets
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_new
    - rd_kafka_DeleteConsumerGroupOffsets_destroy
    - test_wait_topic_admin_result
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_kafka_queue_destroy
    - TEST_FAIL
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_DeleteConsumerGroupOffsets_simple(\n    rd_kafka_t
      *rk,\n    rd_kafka_queue_t *useq,\n    const char *group_id,\n    const rd_kafka_topic_partition_list_t
      *offsets,\n    void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:6961,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6963,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/test.c:6965,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/test.c:6966,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:6968,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:6971,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/tests/test.c:6972,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/test.c:6976,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/test.c:6977,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6978,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/test.c:6983,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:6984,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:6987,1
    - Dst: rd_kafka_ConfigEntry_name
      Src: /src/librdkafka/tests/test.c:6993,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/test.c:6995,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7001,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/test.c:7010,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/test.c:7012,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7013,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/test.c:7017,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:7020,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/test.c:7024,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7026,1
    - Dst: rd_kafka_AlterConfigs
      Src: /src/librdkafka/tests/test.c:7032,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/tests/test.c:7034,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:7036,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:7039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 5
    argNames:
    - rk
    - restype
    - resname
    - configs
    - config_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ResourceType_t
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7042
      start: 6945
    functionDepth: 2
    functionLinenumber: 6945
    functionLinenumberEnd: 7042
    functionName: test_AlterConfigs_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_event_DescribeConfigs_result
    - rd_kafka_ConfigResource_set_config
    - rd_kafka_ConfigEntry_name
    - TEST_SAY
    - strcmp
    - TEST_ASSERT
    - rd_kafka_DescribeConfigs_result_resources
    - rd_kafka_ConfigEntry_value
    - rd_kafka_ConfigResource_new
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - test_wait_topic_admin_result
    - rd_kafka_DescribeConfigs
    - rd_kafka_queue_new
    - rd_kafka_event_destroy
    - rd_kafka_AlterConfigs
    - rd_kafka_ConfigResource_configs
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_AlterConfigs_simple(rd_kafka_t *rk,\n                                             rd_kafka_ResourceType_t
      restype,\n                                             const char *resname,\n
      \                                            const char **configs,\n                                             size_t
      config_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7066,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:7069,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/test.c:7070,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7081,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7083,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7085,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7087,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:7090,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/test.c:7092,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7094,1
    - Dst: rd_kafka_IncrementalAlterConfigs
      Src: /src/librdkafka/tests/test.c:7100,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/tests/test.c:7102,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:7104,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:7107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - rk
    - restype
    - resname
    - configs
    - config_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ResourceType_t
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7110
      start: 7053
    functionDepth: 2
    functionLinenumber: 7053
    functionLinenumberEnd: 7110
    functionName: test_IncrementalAlterConfigs_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigResource_destroy
    - strcmp
    - TEST_SAY
    - rd_kafka_ConfigResource_add_incremental_config
    - TEST_ASSERT
    - rd_kafka_IncrementalAlterConfigs
    - rd_kafka_ConfigResource_new
    - rd_kafka_queue_destroy
    - test_wait_topic_admin_result
    - rd_kafka_queue_new
    - TEST_FAIL
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_IncrementalAlterConfigs_simple(rd_kafka_t
      *rk,\n                                    rd_kafka_ResourceType_t restype,\n
      \                                   const char *resname,\n                                    const
      char **configs,\n                                    size_t config_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:7132,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:7133,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:7136,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7141,1
    - Dst: rd_kafka_CreateAcls
      Src: /src/librdkafka/tests/test.c:7143,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:7145,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:7150,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:7153,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:7156,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:7157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - rk
    - useq
    - acls
    - acl_cnt
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_kafka_AclBinding_t**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7160
      start: 7122
    functionDepth: 2
    functionLinenumber: 7122
    functionLinenumberEnd: 7160
    functionName: test_CreateAcls_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_CreateAcls
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_destroy
    - test_wait_topic_admin_result
    - rd_kafka_queue_new
    - TEST_FAIL
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_CreateAcls_simple(rd_kafka_t *rk,\n                                           rd_kafka_queue_t
      *useq,\n                                           rd_kafka_AclBinding_t **acls,\n
      \                                          size_t acl_cnt,\n                                           void
      *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:7183,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/test.c:7184,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/test.c:7187,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7192,1
    - Dst: rd_kafka_DeleteAcls
      Src: /src/librdkafka/tests/test.c:7194,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:7196,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/test.c:7201,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:7204,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/test.c:7207,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:7207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - rk
    - useq
    - acl_filters
    - acl_filters_cnt
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_kafka_AclBindingFilter_t**
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7210
      start: 7172
    functionDepth: 2
    functionLinenumber: 7172
    functionLinenumberEnd: 7210
    functionName: test_DeleteAcls_simple
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AdminOptions_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_destroy
    - test_wait_topic_admin_result
    - rd_kafka_queue_new
    - TEST_FAIL
    - rd_kafka_DeleteAcls
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t test_DeleteAcls_simple(rd_kafka_t *rk,\n                       rd_kafka_queue_t
      *useq,\n                       rd_kafka_AclBindingFilter_t **acl_filters,\n
      \                      size_t acl_filters_cnt,\n                       void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/test.c:7215,1
    - Dst: free
      Src: /src/librdkafka/tests/test.c:7216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - strs
    - cnt
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7217
      start: 7212
    functionDepth: 0
    functionLinenumber: 7212
    functionLinenumberEnd: 7217
    functionName: test_free_string_array
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void test_free_string_array(char **strs, size_t cnt)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:7226,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/test.c:7238,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/test.c:7239,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7241,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/test.c:7244,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7249,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:7250,1
    - Dst: malloc
      Src: /src/librdkafka/tests/test.c:7255,1
    - Dst: strlen
      Src: /src/librdkafka/tests/test.c:7258,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/test.c:7259,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:7263,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7270,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:7274,1
    - Dst: test_free_string_array
      Src: /src/librdkafka/tests/test.c:7276,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/test.c:7280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - rk
    - topicsp
    - topic_cntp
    argTypes:
    - rd_kafka_t*
    - char***
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7287
      start: 7224
    functionDepth: 2
    functionLinenumber: 7224
    functionLinenumberEnd: 7287
    functionName: test_get_all_test_topics
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_free_string_array
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_WARN
    - strncmp
    - strlen
    - rd_kafka_metadata_destroy
    - rd_strdup
    - tmout_multip
    - rd_kafka_metadata
    - malloc
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t test_get_all_test_topics(rd_kafka_t *rk, char ***topicsp,
      size_t *topic_cntp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:7301,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/test.c:7303,1
    - Dst: test_get_all_test_topics
      Src: /src/librdkafka/tests/test.c:7305,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:7308,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:7313,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/test.c:7317,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/test.c:7319,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/test.c:7320,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7322,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7327,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/test.c:7331,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/test.c:7333,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/test.c:7339,1
    - Dst: rd_kafka_event_DeleteTopics_result
      Src: /src/librdkafka/tests/test.c:7341,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7343,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/test.c:7344,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:7345,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:7346,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:7350,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7351,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/test.c:7355,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/test.c:7356,1
    - Dst: rd_kafka_DeleteTopics_result_topics
      Src: /src/librdkafka/tests/test.c:7362,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/test.c:7365,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7370,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/test.c:7372,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/test.c:7373,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7377,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/test.c:7384,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/test.c:7388,1
    - Dst: test_free_string_array
      Src: /src/librdkafka/tests/test.c:7390,1
    - Dst: test_get_all_test_topics
      Src: /src/librdkafka/tests/test.c:7394,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/test.c:7399,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7400,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7409,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/test.c:7414,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:7417,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7420
      start: 7292
    functionDepth: 7
    functionLinenumber: 7292
    functionLinenumberEnd: 7420
    functionName: test_delete_all_test_topics
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_event_DeleteTopics_result
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - test_get_all_test_topics
    - rd_kafka_event_error_string
    - rd_kafka_topic_result_error_string
    - rd_kafka_destroy
    - rd_kafka_topic_result_error
    - TEST_SAY
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteTopics_result_topics
    - test_clock
    - rd_kafka_AdminOptions_destroy
    - test_free_string_array
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_kafka_topic_result_name
    - test_create_producer
    - rd_sleep
    - TEST_WARN
    - rd_kafka_queue_get_main
    - test_DeleteTopics_simple
    - rd_kafka_event_error
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t test_delete_all_test_topics(int timeout_ms)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/tests/test.c:7437,1
    - Dst: strftime
      Src: /src/librdkafka/tests/test.c:7440,1
    - Dst: localtime
      Src: /src/librdkafka/tests/test.c:7441,1
    - Dst: ctime_s
      Src: /src/librdkafka/tests/test.c:7443,1
    - Dst: ctime_r
      Src: /src/librdkafka/tests/test.c:7445,1
    - Dst: strchr
      Src: /src/librdkafka/tests/test.c:7447,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:7451,1
    - Dst: rd_assert
      Src: /src/librdkafka/tests/test.c:7453,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:7455,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:7456,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:7457,1
    - Dst: strchr
      Src: /src/librdkafka/tests/test.c:7460,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:7463,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/test.c:7464,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/test.c:7472,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/test.c:7478,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/test.c:7486,1
    - Dst: assert
      Src: /src/librdkafka/tests/test.c:7490,1
    - Dst: thrd_exit
      Src: /src/librdkafka/tests/test.c:7492,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - file
    - line
    - function
    - do_lock
    - fail_now
    - fmt
    argTypes:
    - char*
    - int
    - char*
    - int
    - int
    - char*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 7489
        line_start: 7489
        source_file: /src/librdkafka/tests/test.c
    constantsTouched: []
    func_position:
      end: 7493
      start: 7424
    functionDepth: 1
    functionLinenumber: 7424
    functionLinenumberEnd: 7493
    functionName: test_fail0
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - thrd_exit
    - rd_assert
    - fprintf
    - TEST_UNLOCK
    - rd_snprintf
    - time
    - va_start
    - strftime
    - TEST_LOCK
    - localtime
    - ctime_r
    - rd_vsnprintf
    - strchr
    - strncpy
    - va_end
    - ctime_s
    - assert
    linkageType: ''
    returnType: void
    signature: "void test_fail0(const char *file,\n                int line,\n                const
      char *function,\n                int do_lock,\n                int fail_now,\n
      \               const char *fmt,\n                ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cluster_handle
      Src: /src/librdkafka/tests/test.c:7500,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/tests/test.c:7501,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/test.c:7502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7503
      start: 7499
    functionDepth: 1
    functionLinenumber: 7499
    functionLinenumberEnd: 7503
    functionName: test_mock_cluster_destroy
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cluster_destroy
    - rd_kafka_destroy
    - rd_kafka_mock_cluster_handle
    linkageType: ''
    returnType: void
    signature: void test_mock_cluster_destroy(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/test.c:7514,1
    - Dst: test_conf_common_init
      Src: /src/librdkafka/tests/test.c:7518,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/test.c:7520,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/test.c:7522,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7523,1
    - Dst: rd_kafka_mock_cluster_new
      Src: /src/librdkafka/tests/test.c:7525,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7526,1
    - Dst: rd_kafka_mock_cluster_bootstraps
      Src: /src/librdkafka/tests/test.c:7529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - broker_cnt
    - bootstraps
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7532
      start: 7511
    functionDepth: 3
    functionLinenumber: 7511
    functionLinenumberEnd: 7532
    functionName: test_mock_cluster_new
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_conf_common_init
    - TEST_ASSERT
    - rd_kafka_mock_cluster_new
    - test_conf_set
    - rd_kafka_new
    - rd_kafka_mock_cluster_bootstraps
    linkageType: ''
    returnType: rd_kafka_mock_cluster_t
    signature: "rd_kafka_mock_cluster_t *test_mock_cluster_new(int broker_cnt,\n                                               const
      char **bootstraps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/test.c:7548,1
    - Dst: match
      Src: /src/librdkafka/tests/test.c:7551,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/test.c:7555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mcluster
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7557
      start: 7539
    functionDepth: 1
    functionLinenumber: 7539
    functionLinenumberEnd: 7557
    functionName: test_mock_get_matching_request_cnt
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - match
    - rd_kafka_mock_get_requests
    - rd_kafka_mock_request_destroy_array
    linkageType: ''
    returnType: size_t
    signature: "size_t test_mock_get_matching_request_cnt(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    rd_bool_t (*match)(rd_kafka_mock_request_t *request, void *opaque),\n
      \   void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mock_get_matching_request_cnt
      Src: /src/librdkafka/tests/test.c:7583,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:7585,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:7590,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:7594,1
    - Dst: test_mock_get_matching_request_cnt
      Src: /src/librdkafka/tests/test.c:7595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - mcluster
    - expected_cnt
    - confidence_interval_ms
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - size_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7596
      start: 7573
    functionDepth: 2
    functionLinenumber: 7573
    functionLinenumberEnd: 7596
    functionName: test_mock_wait_matching_requests
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - test_mock_get_matching_request_cnt
    - TEST_SAYL
    - rd_usleep
    linkageType: ''
    returnType: size_t
    signature: "size_t test_mock_wait_matching_requests(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    size_t expected_cnt,\n    int confidence_interval_ms,\n    rd_bool_t
      (*match)(rd_kafka_mock_request_t *request, void *opaque),\n    void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/tests/test.c:7608,1
    - Dst: rd_calloc
      Src: /src/librdkafka/tests/test.c:7610,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:7615,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:7618,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/test.c:7620,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/test.c:7629,1
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/tests/test.c:7630,1
    - Dst: rd_kafka_consumer_group_metadata_member_id
      Src: /src/librdkafka/tests/test.c:7631,1
    - Dst: rd_kafka_consumer_group_metadata_group_id
      Src: /src/librdkafka/tests/test.c:7634,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:7640,1
    - Dst: rd_assert
      Src: /src/librdkafka/tests/test.c:7642,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7642,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/test.c:7644,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/test.c:7646,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/test.c:7647,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:7649,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_new
      Src: /src/librdkafka/tests/test.c:7651,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment
      Src: /src/librdkafka/tests/test.c:7653,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_destroy
      Src: /src/librdkafka/tests/test.c:7655,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:7659,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/test.c:7660,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:7662,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:7663,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/test.c:7664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - mcluster
    - member_cnt
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7665
      start: 7604
    functionDepth: 1
    functionLinenumber: 7604
    functionLinenumberEnd: 7665
    functionName: test_mock_cluster_member_assignment
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_mock_cgrp_consumer_target_assignment_new
    - rd_free
    - rd_kafka_mock_cgrp_consumer_target_assignment
    - rd_kafka_mock_cgrp_consumer_target_assignment_destroy
    - va_start
    - rd_calloc
    - rd_kafka_consumer_group_metadata_group_id
    - strcmp
    - rd_kafka_consumer_group_metadata_destroy
    - va_end
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_consumer_group_metadata_member_id
    - rd_strdup
    - va_arg
    - rd_usleep
    - rd_kafka_consumer_group_metadata
    linkageType: ''
    returnType: void
    signature: "void test_mock_cluster_member_assignment(rd_kafka_mock_cluster_t *mcluster,\n
      \                                        int member_cnt,\n                                         ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:7691,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:7692,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:7693,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:7695,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/test.c:7698,1
    - Dst: strstr
      Src: /src/librdkafka/tests/test.c:7702,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/test.c:7709,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/test.c:7711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - func
    - line
    - is_quick
    - fmt
    argTypes:
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7714
      start: 7678
    functionDepth: 1
    functionLinenumber: 7678
    functionLinenumberEnd: 7714
    functionName: test_sub_start
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - va_start
    - TEST_SAY
    - TIMING_START
    - rd_vsnprintf
    - strstr
    - va_end
    linkageType: ''
    returnType: int
    signature: "int test_sub_start(const char *func,\n                   int line,\n
      \                  int is_quick,\n                   const char *fmt,\n                   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7728
      start: 7720
    functionDepth: 0
    functionLinenumber: 7720
    functionLinenumberEnd: 7728
    functionName: test_sub_reset
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_sub_reset(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7735,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:7737,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:7738,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:7742,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/test.c:7743,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/test.c:7748,1
    - Dst: test_sub_reset
      Src: /src/librdkafka/tests/test.c:7751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7752
      start: 7733
    functionDepth: 1
    functionLinenumber: 7733
    functionLinenumberEnd: 7752
    functionName: test_sub_pass
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - TEST_ASSERT
    - TEST_WARN
    - test_sub_reset
    - TIMING_DURATION
    linkageType: ''
    returnType: void
    signature: void test_sub_pass(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/test.c:7762,1
    - Dst: va_start
      Src: /src/librdkafka/tests/test.c:7764,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/tests/test.c:7765,1
    - Dst: va_end
      Src: /src/librdkafka/tests/test.c:7766,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/test.c:7768,1
    - Dst: test_sub_reset
      Src: /src/librdkafka/tests/test.c:7770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7771
      start: 7758
    functionDepth: 1
    functionLinenumber: 7758
    functionLinenumberEnd: 7771
    functionName: test_sub_skip
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - va_start
    - TEST_ASSERT
    - rd_vsnprintf
    - test_sub_reset
    - va_end
    linkageType: ''
    returnType: void
    signature: void test_sub_skip(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7775
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7775
    functionName: test_consumer_group_protocol
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *test_consumer_group_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/test.c:7779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7780
      start: 7777
    functionDepth: 0
    functionLinenumber: 7777
    functionLinenumberEnd: 7780
    functionName: test_consumer_group_protocol_classic
    functionSourceFile: /src/librdkafka/tests/test.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int test_consumer_group_protocol_classic()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:71,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:77,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:85,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:95,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:101,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:109,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - exp
    - parts
    argTypes:
    - struct expect*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 115
    functionName: expect_match
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 0
    functionsReached:
    - memset
    - TEST_WARN
    - strcmp
    - TEST_SAY
    linkageType: ''
    returnType: void
    signature: "void expect_match(struct expect *exp,\n                         const
      rd_kafka_topic_partition_list_t *parts)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:123,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:125,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:126,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:127,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:133,1
    - Dst: expect_match
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:138,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:139,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:146,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:152,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:158,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 160
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 3
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - test_consumer_unassign_by_rebalance_protocol
    - test_print_partition_list
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - TEST_WARN
    - expect_match
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:169,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:174,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:177,1
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:182,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:183,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:188,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:188,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:189,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:190,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:191,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:193,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:195,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:198,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 202
    functionName: consumer_poll_once
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 2
    functionsReached:
    - rd_kafka_message_leader_epoch
    - TEST_SAY
    - rd_kafka_message_destroy
    - TEST_ASSERT
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - strstr
    - rd_kafka_topic_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void consumer_poll_once(rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:214,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:216,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:217,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:219,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:221,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:222,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:228,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:229,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:231,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:232,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:232,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:237,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:238,1
    - Dst: consumer_poll_once
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:240,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:241,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:242,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:247,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:249,1
    - Dst: consumer_poll_once
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:250,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:251,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:255,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:256,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:258,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:258,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:260,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:264,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:266,1
    - Dst: consumer_poll_once
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:268,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:269,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:270,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:274,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:276,1
    - Dst: consumer_poll_once
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:278,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 2
    argNames:
    - rk
    - exp
    argTypes:
    - rd_kafka_t*
    - struct expect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 285
    functionName: test_subscribe
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 0
    functionsReached:
    - rd_kafka_unsubscribe
    - test_clock
    - TEST_SAY
    - rd_kafka_topic_partition_list_new
    - TIMING_START
    - TEST_ASSERT
    - test_timeout_set
    - rd_kafka_topic_partition_list_add
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_destroy
    - consumer_poll_once
    - rd_kafka_subscribe
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: int test_subscribe(rd_kafka_t *rk, struct expect *exp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_check_builtin
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:299,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:300,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:304,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:305,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:307,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:308,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:310,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:311,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:313,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:314,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:319,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:321,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:326,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:329,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:330,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:332,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:333,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:337,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:343,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:343,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:348,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:349,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:354,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:354,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:360,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:361,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:366,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:366,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:367,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:367,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:370,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:371,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:372,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:377,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:377,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:378,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:378,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:383,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:384,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:385,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:390,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:390,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:391,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:392,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:396,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:397,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:398,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:403,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:403,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:406,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:406,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:410,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:411,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:412,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:417,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:418,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:423,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:424,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:429,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:430,1
    - Dst: test_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:435,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:436,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:439,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:442,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:444,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 1
    argNames:
    - assignor
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 288
    functionDepth: 9
    functionLinenumber: 288
    functionLinenumberEnd: 450
    functionName: do_test
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_destroy
    - rd_strdup
    - rd_snprintf
    - tsprintf
    - test_conf_init
    - test_produce_msgs_easy
    - TEST_SKIP
    - test_id_generate
    - test_consumer_close
    - test_delete_topic
    - test_mk_topic_name
    - test_conf_set
    - test_create_consumer
    - test_subscribe
    - test_check_builtin
    - TEST_FAIL
    - test_str_id_generate
    linkageType: ''
    returnType: int
    signature: int do_test(const char *assignor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:455,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: main_0033_regex_subscribe
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: int
    signature: int main_0033_regex_subscribe(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:474,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:475,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:476,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:477,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:478,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:480,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:481,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:482,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:484,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:485,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:486,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:488,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:489,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:490,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:494,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:495,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:498,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:499,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:500,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:502,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:504,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:506,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:507,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:507,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:510,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:512,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:514,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:515,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:516,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:518,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:519,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:521,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:523,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:524,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:524,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:526,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:527,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:529,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:530,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:531,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:532,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0033-regex_subscribe.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 536
    functionName: main_0033_regex_subscribe_local
    functionSourceFile: /src/librdkafka/tests/0033-regex_subscribe.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_snprintf
    - rd_kafka_topic_partition_list_new
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_consumer_close
    - rd_kafka_topic_partition_list_add
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_new
    - TEST_FAIL
    - rd_kafka_subscribe
    linkageType: ''
    returnType: int
    signature: int main_0033_regex_subscribe_local(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0093-holb.c:57,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0093-holb.c:61,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0093-holb.c:62,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0093-holb.c:62,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0093-holb.c:63,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0093-holb.c:65,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0093-holb.c:68,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:71,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0093-holb.c:72,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0093-holb.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - cons
    - timeout_s
    argTypes:
    - struct _consumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 75
    functionName: do_consume
    functionSourceFile: /src/librdkafka/tests/0093-holb.c
    functionUses: 0
    functionsReached:
    - rd_sleep
    - rd_kafka_message_destroy
    - TEST_SAY
    - rd_kafka_message_errstr
    - TEST_ASSERT
    - rd_kafka_consumer_poll
    - rd_kafka_name
    - test_clock
    linkageType: ''
    returnType: void
    signature: void do_consume(struct _consumer *cons, int timeout_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:86,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0093-holb.c:87,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0093-holb.c:88,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0093-holb.c:90,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0093-holb.c:92,1
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0093-holb.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0093-holb.c
    functionUses: 4
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - TEST_ASSERT
    - test_rebalance_cb
    - rd_kafka_name
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0093-holb.c:101,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0093-holb.c:107,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0093-holb.c:109,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0093-holb.c:111,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0093-holb.c:113,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0093-holb.c:115,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0093-holb.c:116,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0093-holb.c:122,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0093-holb.c:123,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0093-holb.c:125,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0093-holb.c:126,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0093-holb.c:128,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0093-holb.c:130,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0093-holb.c:130,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0093-holb.c:132,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0093-holb.c:133,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0093-holb.c:135,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:143,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0093-holb.c:147,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0093-holb.c:149,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0093-holb.c:153,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:157,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0093-holb.c:158,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0093-holb.c:159,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:163,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0093-holb.c:164,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:166,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0093-holb.c:167,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0093-holb.c:171,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0093-holb.c:179,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0093-holb.c:185,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0093-holb.c:186,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0093-holb.c:193,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0093-holb.c:194,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0093-holb.c:196,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0093-holb.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 100
    functionDepth: 10
    functionLinenumber: 100
    functionLinenumberEnd: 200
    functionName: main_0093_holb_consumer
    functionSourceFile: /src/librdkafka/tests/0093-holb.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - rd_kafka_conf_set_rebalance_cb
    - test_conf_init
    - test_produce_msgs_easy
    - TEST_SAY
    - test_id_generate
    - rd_kafka_assignment
    - rd_kafka_conf_set_opaque
    - test_consumer_close
    - rd_kafka_name
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - do_consume
    - test_create_consumer
    linkageType: ''
    returnType: int
    signature: int main_0093_holb_consumer(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0026-consume_pause.c:45,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0026-consume_pause.c:59,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:61,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:63,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:64,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0026-consume_pause.c:66,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0026-consume_pause.c:70,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0026-consume_pause.c:72,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0026-consume_pause.c:73,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:85,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0026-consume_pause.c:91,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:93,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:98,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0026-consume_pause.c:103,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0026-consume_pause.c:104,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/tests/0026-consume_pause.c:105,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:108,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0026-consume_pause.c:110,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:111,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:112,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:124,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:128,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:133,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:137,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:140,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0026-consume_pause.c:144,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0026-consume_pause.c:145,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:146,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:147,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0026-consume_pause.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:150,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:153,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:155,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:156,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:157,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0026-consume_pause.c:162,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:172,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:174,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0026-consume_pause.c:179,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:182,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:183,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:184,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:185,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0026-consume_pause.c:190,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:195,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:200,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:202,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:206,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:209,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:211,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0026-consume_pause.c:214,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0026-consume_pause.c:216,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:219,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:222,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:223,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:224,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0026-consume_pause.c:226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 44
    functionDepth: 10
    functionLinenumber: 44
    functionLinenumberEnd: 227
    functionName: consume_pause
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_subscribe
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - test_topic_conf_set
    - rd_kafka_topic_conf_destroy
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_err2str
    - test_consumer_close
    - test_msgver_verify
    - TEST_FAIL
    - test_create_consumer
    - test_str_id_generate
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_conf_destroy
    - TIMING_STOP
    - test_consumer_poll_no_msgs
    - rd_kafka_resume_partitions
    - test_msgver_init
    - rd_kafka_topic_conf_dup
    - test_conf_init
    - TIMING_START
    - TEST_WARN
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void consume_pause(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0026-consume_pause.c:244,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0026-consume_pause.c:258,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:260,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0026-consume_pause.c:262,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0026-consume_pause.c:266,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0026-consume_pause.c:269,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0026-consume_pause.c:271,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:278,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:279,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0026-consume_pause.c:280,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0026-consume_pause.c:282,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:286,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:287,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:288,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:290,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:294,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:295,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:296,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:296,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:298,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0026-consume_pause.c:299,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:301,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:303,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0026-consume_pause.c:307,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0026-consume_pause.c:308,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:309,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:309,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:311,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:313,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:314,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:316,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:319,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:323,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0026-consume_pause.c:325,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:326,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:326,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:329,1
    - Dst: test_consumer_unassign
      Src: /src/librdkafka/tests/0026-consume_pause.c:330,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:336,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0026-consume_pause.c:337,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:340,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:341,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:342,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:342,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:346,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:348,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:351,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:354,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:356,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:359,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0026-consume_pause.c:361,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:363,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0026-consume_pause.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 243
    functionDepth: 10
    functionLinenumber: 243
    functionLinenumberEnd: 366
    functionName: consume_pause_resume_after_reassign
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_copy
    - test_consumer_poll
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_err2str
    - test_consumer_close
    - test_msgver_verify
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_commit
    - rd_kafka_position
    - test_consumer_assign
    - test_consumer_unassign
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_consumer_poll_no_msgs
    - rd_kafka_resume_partitions
    - test_msgver_init
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void consume_pause_resume_after_reassign(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0026-consume_pause.c:381,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:383,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:384,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:385,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:386,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:387,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:388,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0026-consume_pause.c:389,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0026-consume_pause.c:390,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0026-consume_pause.c:393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 397
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 5
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - rd_kafka_resume_partitions
    - test_consumer_unassign_by_rebalance_protocol
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_pause_partitions
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0026-consume_pause.c:409,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0026-consume_pause.c:418,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:420,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0026-consume_pause.c:422,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0026-consume_pause.c:426,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0026-consume_pause.c:431,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:432,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:433,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0026-consume_pause.c:434,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0026-consume_pause.c:436,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:438,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:439,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:441,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:443,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:444,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0026-consume_pause.c:447,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:449,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0026-consume_pause.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 408
    functionDepth: 10
    functionLinenumber: 408
    functionLinenumberEnd: 452
    functionName: consume_subscribe_assign_pause_resume
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_msgver_init
    - test_create_topic_wait_exists
    - rd_kafka_conf_set_rebalance_cb
    - test_conf_init
    - test_produce_msgs_easy
    - SUB_TEST
    - TEST_ASSERT
    - test_msgver_clear
    - test_consumer_close
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - test_msgver_verify
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void consume_subscribe_assign_pause_resume(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0026-consume_pause.c:460,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0026-consume_pause.c:470,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:472,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0026-consume_pause.c:474,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0026-consume_pause.c:478,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:483,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:484,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0026-consume_pause.c:485,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0026-consume_pause.c:486,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0026-consume_pause.c:488,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0026-consume_pause.c:489,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:491,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0026-consume_pause.c:492,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0026-consume_pause.c:492,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:494,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:497,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0026-consume_pause.c:498,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:499,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0026-consume_pause.c:500,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:502,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:503,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0026-consume_pause.c:505,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:506,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0026-consume_pause.c:507,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0026-consume_pause.c:509,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:509,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:511,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0026-consume_pause.c:512,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:512,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:514,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0026-consume_pause.c:515,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:517,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0026-consume_pause.c:518,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0026-consume_pause.c:518,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0026-consume_pause.c:520,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0026-consume_pause.c:521,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0026-consume_pause.c:524,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0026-consume_pause.c:526,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0026-consume_pause.c:527,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:529,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0026-consume_pause.c:531,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0026-consume_pause.c:533,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0026-consume_pause.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 459
    functionDepth: 10
    functionLinenumber: 459
    functionLinenumberEnd: 536
    functionName: consume_seek_pause_resume
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 0
    functionsReached:
    - rd_kafka_seek_partitions
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - test_consumer_close
    - test_msgver_verify
    - TEST_CALL_ERROR__
    - test_create_consumer
    - TEST_CALL_ERR__
    - TEST_ASSERT_LATER
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_resume_partitions
    - test_msgver_init
    - rd_sleep
    - test_conf_init
    - rd_kafka_assign
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void consume_seek_pause_resume(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: consume_pause
      Src: /src/librdkafka/tests/0026-consume_pause.c:541,1
    - Dst: consume_pause_resume_after_reassign
      Src: /src/librdkafka/tests/0026-consume_pause.c:542,1
    - Dst: consume_subscribe_assign_pause_resume
      Src: /src/librdkafka/tests/0026-consume_pause.c:543,1
    - Dst: consume_seek_pause_resume
      Src: /src/librdkafka/tests/0026-consume_pause.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 11
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: main_0026_consume_pause
    functionSourceFile: /src/librdkafka/tests/0026-consume_pause.c
    functionUses: 0
    functionsReached:
    - consume_subscribe_assign_pause_resume
    - consume_pause
    - consume_pause_resume_after_reassign
    - consume_seek_pause_resume
    linkageType: ''
    returnType: int
    signature: int main_0026_consume_pause(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:46,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:48,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:51,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:51,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: log_cb
    functionSourceFile: /src/librdkafka/tests/0123-connections_max_idle.c
    functionUses: 2
    functionsReached:
    - TEST_SAY
    - rd_kafka_name
    - strstr
    - rd_kafka_opaque
    - rd_atomic32_add
    linkageType: ''
    returnType: void
    signature: void log_cb(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:62,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:64,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:65,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:66,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:67,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:68,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:69,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:71,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:74,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:74,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:79,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:83,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:83,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:86,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - set_idle
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 89
    functionName: do_test_idle
    functionSourceFile: /src/librdkafka/tests/0123-connections_max_idle.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_atomic32_init
    - rd_sleep
    - test_conf_init
    - TEST_ASSERT
    - rd_atomic32_get
    - rd_kafka_conf_set_opaque
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_conf_set_log_cb
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_idle(rd_bool_t set_idle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_idle
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:94,1
    - Dst: do_test_idle
      Src: /src/librdkafka/tests/0123-connections_max_idle.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: main_0123_connections_max_idle
    functionSourceFile: /src/librdkafka/tests/0123-connections_max_idle.c
    functionUses: 0
    functionsReached:
    - do_test_idle
    linkageType: ''
    returnType: int
    signature: int main_0123_connections_max_idle(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:43,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:43,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:46,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:46,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:49,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: broker_same_host_port_mock_log_cb
    functionSourceFile: /src/librdkafka/tests/0149-broker-same-host-port.c
    functionUses: 0
    functionsReached:
    - strstr
    linkageType: ''
    returnType: void
    signature: "void broker_same_host_port_mock_log_cb(const rd_kafka_t *rk,\n                                              int
      level,\n                                              const char *fac,\n                                              const
      char *buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:62,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:62,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:66,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:66,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:68,1
    - Dst: rd_kafka_brokers_learned_ids
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:72,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:79,1
    - Dst: free
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 85
    functionName: broker_same_host_port_mock_verify_broker_ids
    functionSourceFile: /src/librdkafka/tests/0149-broker-same-host-port.c
    functionUses: 0
    functionsReached:
    - rd_kafka_brokers_learned_ids
    - free
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: void
    signature: void broker_same_host_port_mock_verify_broker_ids(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:102,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:103,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:107,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:109,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:109,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:110,1
    - Dst: test_conf_set_log_interceptor
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:111,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:114,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:116,1
    - Dst: broker_same_host_port_mock_verify_broker_ids
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:118,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:120,1
    - Dst: rd_kafka_mock_broker_set_host_port
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:122,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:126,1
    - Dst: broker_same_host_port_mock_verify_broker_ids
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:128,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:130,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:132,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:134,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:135,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:136,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0149-broker-same-host-port.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 92
    functionDepth: 7
    functionLinenumber: 92
    functionLinenumberEnd: 140
    functionName: main_0149_broker_same_host_port_mock
    functionSourceFile: /src/librdkafka/tests/0149-broker-same-host-port.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_create_handle
    - rd_kafka_destroy
    - rd_free
    - test_conf_set_log_interceptor
    - test_needs_auth
    - broker_same_host_port_mock_verify_broker_ids
    - test_conf_init
    - TEST_SAY
    - TEST_SKIP
    - rd_kafka_mock_broker_set_host_port
    - test_mock_cluster_destroy
    - test_conf_set
    - tmout_multip
    - rd_usleep
    linkageType: ''
    returnType: int
    signature: int main_0149_broker_same_host_port_mock(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:51,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:54,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:56,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:60,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:61,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:62,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:62,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:63,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:64,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 6
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: legacy_consumer_early_destroy
    functionSourceFile: /src/librdkafka/tests/0037-destroy_hang_local.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_sleep
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - test_mk_topic_name
    - rd_kafka_last_error
    linkageType: ''
    returnType: int
    signature: int legacy_consumer_early_destroy(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:77,1
    - Dst: legacy_consumer_early_destroy
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:79,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0037-destroy_hang_local.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 7
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: main_0037_destroy_hang_local
    functionSourceFile: /src/librdkafka/tests/0037-destroy_hang_local.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - legacy_consumer_early_destroy
    - test_conf_init
    linkageType: ''
    returnType: int
    signature: int main_0037_destroy_hang_local(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0099-commit_metadata.c:35,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0099-commit_metadata.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: print_toppar_list
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED print_toppar_list(const rd_kafka_topic_partition_list_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0099-commit_metadata.c:56,1
    - Dst: memcmp
      Src: /src/librdkafka/tests/0099-commit_metadata.c:65,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0099-commit_metadata.c:66,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0099-commit_metadata.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - lista
    - listb
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: compare_toppar_lists
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - memcmp
    - TEST_LATER_CHECK
    - TEST_FAIL_LATER
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void compare_toppar_lists(const rd_kafka_topic_partition_list_t *lista,\n
      \                                const rd_kafka_topic_partition_list_t *listb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0099-commit_metadata.c:93,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0099-commit_metadata.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - err
    - list
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: offset_commit_cb
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb(rd_kafka_t *rk,\n                             rd_kafka_resp_err_t
      err,\n                             rd_kafka_topic_partition_list_t *list,\n
      \                            void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0099-commit_metadata.c:105,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0099-commit_metadata.c:107,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/tests/0099-commit_metadata.c:109,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0099-commit_metadata.c:112,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0099-commit_metadata.c:114,1
    - Dst: print_toppar_list
      Src: /src/librdkafka/tests/0099-commit_metadata.c:115,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0099-commit_metadata.c:117,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0099-commit_metadata.c:118,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0099-commit_metadata.c:118,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0099-commit_metadata.c:121,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - group_id
    - toppar_to_commit
    argTypes:
    - char*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 98
    functionDepth: 6
    functionLinenumber: 98
    functionLinenumberEnd: 124
    functionName: commit_metadata
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - print_toppar_list
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_conf_set_offset_commit_cb
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_poll
    - test_conf_set
    - rd_kafka_commit
    linkageType: ''
    returnType: void
    signature: "void commit_metadata(const char *group_id,\n                const
      rd_kafka_topic_partition_list_t *toppar_to_commit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0099-commit_metadata.c:136,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0099-commit_metadata.c:138,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:140,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0099-commit_metadata.c:143,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0099-commit_metadata.c:145,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0099-commit_metadata.c:145,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0099-commit_metadata.c:146,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0099-commit_metadata.c:147,1
    - Dst: compare_toppar_lists
      Src: /src/librdkafka/tests/0099-commit_metadata.c:149,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:151,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - group_id
    - toppar_to_check
    - expected_toppar
    argTypes:
    - char*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: get_committed_metadata
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_committed
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - tmout_multip
    - compare_toppar_lists
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void get_committed_metadata(const char *group_id,\n                       const
      rd_kafka_topic_partition_list_t *toppar_to_check,\n                       const
      rd_kafka_topic_partition_list_t *expected_toppar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0099-commit_metadata.c:159,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0099-commit_metadata.c:163,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0099-commit_metadata.c:165,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0099-commit_metadata.c:167,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0099-commit_metadata.c:169,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0099-commit_metadata.c:171,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:173,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0099-commit_metadata.c:175,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0099-commit_metadata.c:178,1
    - Dst: get_committed_metadata
      Src: /src/librdkafka/tests/0099-commit_metadata.c:184,1
    - Dst: commit_metadata
      Src: /src/librdkafka/tests/0099-commit_metadata.c:186,1
    - Dst: get_committed_metadata
      Src: /src/librdkafka/tests/0099-commit_metadata.c:188,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:190,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0099-commit_metadata.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 10
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: main_0099_commit_metadata
    functionSourceFile: /src/librdkafka/tests/0099-commit_metadata.c
    functionUses: 0
    functionsReached:
    - test_create_topic_wait_exists
    - commit_metadata
    - test_conf_init
    - rd_kafka_topic_partition_list_new
    - get_committed_metadata
    - rd_kafka_topic_partition_list_add
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_destroy
    - strlen
    - rd_strdup
    - test_str_id_generate
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: int
    signature: int main_0099_commit_metadata(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:86,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:88,1
    - Dst: rd_kafka_ssl_normalize_hostname
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:98,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:101,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:102,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:103,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:104,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:109,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:109,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:114,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:117,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 120
    functionName: test_hostname_normalize
    functionSourceFile: /src/librdkafka/tests/0154-ssl_hostname_normalize.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - strcmp
    - TEST_SAY
    - rd_kafka_ssl_normalize_hostname
    - TEST_ASSERT
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void test_hostname_normalize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_hostname_normalize
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:127,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0154-ssl_hostname_normalize.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: main_0154_ssl_hostname_normalize
    functionSourceFile: /src/librdkafka/tests/0154-ssl_hostname_normalize.c
    functionUses: 0
    functionsReached:
    - test_hostname_normalize
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0154_ssl_hostname_normalize(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0136-resolve_cb.c:74,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0136-resolve_cb.c:76,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:85,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0136-resolve_cb.c:85,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:88,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0136-resolve_cb.c:88,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0136-resolve_cb.c:91,1
    - Dst: htons
      Src: /src/librdkafka/tests/0136-resolve_cb.c:93,1
    - Dst: htonl
      Src: /src/librdkafka/tests/0136-resolve_cb.c:94,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0136-resolve_cb.c:96,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:106,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:107,1
    - Dst: free
      Src: /src/librdkafka/tests/0136-resolve_cb.c:108,1
    - Dst: free
      Src: /src/librdkafka/tests/0136-resolve_cb.c:109,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0136-resolve_cb.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 5
    argNames:
    - node
    - service
    - hints
    - res
    - opaque
    argTypes:
    - char*
    - char*
    - struct addrinfo*
    - struct addrinfo**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 118
    functionName: resolve_cb
    functionSourceFile: /src/librdkafka/tests/0136-resolve_cb.c
    functionUses: 0
    functionsReached:
    - free
    - calloc
    - strcmp
    - TEST_SAY
    - TEST_ASSERT
    - htons
    - rd_atomic32_get
    - htonl
    - rd_atomic32_add
    linkageType: ''
    returnType: int
    signature: "int resolve_cb(const char *node,\n                      const char
      *service,\n                      const struct addrinfo *hints,\n                      struct
      addrinfo **res,\n                      void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0136-resolve_cb.c:132,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0136-resolve_cb.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:144,1
    - Dst: htons
      Src: /src/librdkafka/tests/0136-resolve_cb.c:144,1
    - Dst: ntohs
      Src: /src/librdkafka/tests/0136-resolve_cb.c:146,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0136-resolve_cb.c:147,1
    - Dst: htonl
      Src: /src/librdkafka/tests/0136-resolve_cb.c:147,1
    - Dst: ntohl
      Src: /src/librdkafka/tests/0136-resolve_cb.c:149,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0136-resolve_cb.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - s
    - addr
    - addrlen
    - id
    - opaque
    argTypes:
    - int
    - struct sockaddr*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 156
    functionName: connect_cb
    functionSourceFile: /src/librdkafka/tests/0136-resolve_cb.c
    functionUses: 2
    functionsReached:
    - TEST_SAY
    - htons
    - TEST_ASSERT
    - rd_atomic32_get
    - ntohs
    - ntohl
    - htonl
    - rd_atomic32_add
    linkageType: ''
    returnType: int
    signature: "int connect_cb(int s,\n                      const struct sockaddr
      *addr,\n                      int addrlen,\n                      const char
      *id,\n                      void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0136-resolve_cb.c:164,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0136-resolve_cb.c:166,1
    - Dst: rd_kafka_conf_set_resolve_cb
      Src: /src/librdkafka/tests/0136-resolve_cb.c:167,1
    - Dst: rd_kafka_conf_set_connect_cb
      Src: /src/librdkafka/tests/0136-resolve_cb.c:168,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0136-resolve_cb.c:170,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0136-resolve_cb.c:171,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0136-resolve_cb.c:173,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0136-resolve_cb.c:175,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0136-resolve_cb.c:176,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0136-resolve_cb.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 158
    functionDepth: 6
    functionLinenumber: 158
    functionLinenumberEnd: 181
    functionName: main_0136_resolve_cb
    functionSourceFile: /src/librdkafka/tests/0136-resolve_cb.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_atomic32_init
    - rd_sleep
    - test_conf_init
    - TEST_SAY
    - rd_kafka_conf_set_connect_cb
    - rd_atomic32_get
    - test_conf_set
    - rd_kafka_conf_set_resolve_cb
    linkageType: ''
    returnType: int
    signature: int main_0136_resolve_cb(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:54,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: error_is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int error_is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const
      char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:90,1
    - Dst: on_response_received_cb
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 94
    functionName: on_response_received_trampoline
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - on_response_received_cb
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_response_received_trampoline(rd_kafka_t *rk,\n
      \                               int sockfd,\n                                const
      char *brokername,\n                                int32_t brokerid,\n                                int16_t
      ApiKey,\n                                int16_t ApiVersion,\n                                int32_t
      CorrId,\n                                size_t size,\n                                int64_t
      rtt,\n                                rd_kafka_resp_err_t err,\n                                void
      *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_response_received
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: on_new_producer
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_response_received
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_producer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:139,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:141,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:143,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:149,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:151,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:152,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:153,1
    - Dst: va_start
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:157,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:158,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:159,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:161,1
    - Dst: va_end
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:166,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:170,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:173,1
    - Dst: rd_kafka_handle_mock_cluster
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:176,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:177,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:183,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:184,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:185,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - mclusterp
    - broker_cnt
    argTypes:
    - rd_kafka_mock_cluster_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 190
    functionName: create_idempo_producer
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_snprintf
    - rd_kafka_handle_mock_cluster
    - va_start
    - strcmp
    - test_conf_init
    - TEST_ASSERT
    - rd_kafka_mock_topic_create
    - test_conf_set
    - va_end
    - va_arg
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: RD_SENTINEL
    signature: "RD_SENTINEL *\ncreate_idempo_producer(rd_kafka_mock_cluster_t **mclusterp,\n
      \                      int broker_cnt,\n                       ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:212,1
    - Dst: create_idempo_producer
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:214,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:222,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:223,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:228,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:237,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:241,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:248,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:255,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:256,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:257,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:262,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:265,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:268,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:269,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - n
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 205
    functionDepth: 7
    functionLinenumber: 205
    functionLinenumberEnd: 274
    functionName: do_test_idempo_possibly_persisted_not_causing_fatal_error
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_produce_msgs2_nowait
    - rd_kafka_flush
    - create_idempo_producer
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_broker_set_up
    - SUB_TEST_PASS
    - rd_kafka_mock_broker_set_down
    - rd_usleep
    - SUB_TEST_QUICK
    - test_produce_msgs2
    linkageType: ''
    returnType: void
    signature: void do_test_idempo_possibly_persisted_not_causing_fatal_error(size_t
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:287,1
    - Dst: create_idempo_producer
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:289,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:297,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:301,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:307,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:311,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:313,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:317,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:320,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:321,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 7
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: do_test_idempo_duplicate_sequence_number_after_possibly_persisted
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_produce_msgs2_nowait
    - rd_kafka_flush
    - create_idempo_producer
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_broker_set_up
    - SUB_TEST_PASS
    - rd_kafka_mock_broker_set_down
    - rd_usleep
    - SUB_TEST_QUICK
    - test_produce_msgs2
    linkageType: ''
    returnType: void
    signature: void do_test_idempo_duplicate_sequence_number_after_possibly_persisted(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:337,1
    - Dst: create_idempo_producer
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:339,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:347,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:352,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:355,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:356,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 7
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: do_test_idempo_success_after_possibly_persisted
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_flush
    - create_idempo_producer
    - rd_kafka_mock_broker_push_request_error_rtts
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_produce_msgs2
    linkageType: ''
    returnType: void
    signature: void do_test_idempo_success_after_possibly_persisted(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:362,1
    - Dst: do_test_idempo_possibly_persisted_not_causing_fatal_error
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:366,1
    - Dst: do_test_idempo_duplicate_sequence_number_after_possibly_persisted
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:368,1
    - Dst: do_test_idempo_success_after_possibly_persisted
      Src: /src/librdkafka/tests/0144-idempotence_mock.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 361
    functionDepth: 8
    functionLinenumber: 361
    functionLinenumberEnd: 373
    functionName: main_0144_idempotence_mock
    functionSourceFile: /src/librdkafka/tests/0144-idempotence_mock.c
    functionUses: 0
    functionsReached:
    - do_test_idempo_duplicate_sequence_number_after_possibly_persisted
    - do_test_idempo_possibly_persisted_not_causing_fatal_error
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_idempo_success_after_possibly_persisted
    linkageType: ''
    returnType: int
    signature: int main_0144_idempotence_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0048-partitioner.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - rkt
    - keydata
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: my_invalid_partitioner
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    linkageType: ''
    returnType: int32_t
    signature: "int32_t my_invalid_partitioner(const rd_kafka_topic_t *rkt,\n                               const
      void *keydata,\n                               size_t keylen,\n                               int32_t
      partition_cnt,\n                               void *rkt_opaque,\n                               void
      *msg_opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0048-partitioner.c:61,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0048-partitioner.c:65,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0048-partitioner.c:66,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0048-partitioner.c:67,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0048-partitioner.c:68,1
    - Dst: rd_kafka_topic_conf_set_partitioner_cb
      Src: /src/librdkafka/tests/0048-partitioner.c:70,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0048-partitioner.c:71,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0048-partitioner.c:72,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0048-partitioner.c:72,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0048-partitioner.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:74,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0048-partitioner.c:74,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0048-partitioner.c:74,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0048-partitioner.c:77,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0048-partitioner.c:82,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0048-partitioner.c:84,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0048-partitioner.c:86,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0048-partitioner.c:89,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0048-partitioner.c:91,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0048-partitioner.c:93,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0048-partitioner.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 6
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: do_test_failed_partitioning
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_flush
    - rd_kafka_topic_new
    - TEST_ASSERT
    - rd_kafka_last_error
    - rd_kafka_destroy
    - test_produce_msgs
    - test_topic_conf_set
    - rd_kafka_err2str
    - TEST_FAIL
    - rd_kafka_produce
    - test_create_handle
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - tsprintf
    - test_conf_init
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_topic_conf_set_partitioner_cb
    linkageType: ''
    returnType: void
    signature: void do_test_failed_partitioning(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0048-partitioner.c:106,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0048-partitioner.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: part_dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - TEST_WARN
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void part_dr_msg_cb(rd_kafka_t *rk,\n                           const
      rd_kafka_message_t *rkmessage,\n                           void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0048-partitioner.c:132,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0048-partitioner.c:134,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0048-partitioner.c:135,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0048-partitioner.c:136,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0048-partitioner.c:137,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0048-partitioner.c:138,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0048-partitioner.c:140,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0048-partitioner.c:142,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0048-partitioner.c:152,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0048-partitioner.c:153,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0048-partitioner.c:154,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0048-partitioner.c:154,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0048-partitioner.c:155,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:156,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0048-partitioner.c:157,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0048-partitioner.c:162,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0048-partitioner.c:162,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:164,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0048-partitioner.c:174,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:182,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:197,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0048-partitioner.c:203,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0048-partitioner.c:212,1
    - Dst: free
      Src: /src/librdkafka/tests/0048-partitioner.c:215,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0048-partitioner.c:217,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0048-partitioner.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 5
    argNames:
    - topic
    - partitioner
    - msgcnt
    - keys
    - exp_part
    argTypes:
    - char*
    - char*
    - int
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 220
    functionName: do_test_partitioner
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_conf_set_opaque
    - malloc
    - test_create_handle
    - rd_kafka_flush
    - RD_KAFKA_V_KEY
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - free
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TEST_WARN
    - test_conf_set
    - strlen
    linkageType: ''
    returnType: void
    signature: "void do_test_partitioner(const char *topic,\n                                const
      char *partitioner,\n                                int msgcnt,\n                                const
      char **keys,\n                                const int32_t *exp_part)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0048-partitioner.c:268,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0048-partitioner.c:270,1
    - Dst: do_test_partitioner
      Src: /src/librdkafka/tests/0048-partitioner.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 227
    functionDepth: 10
    functionLinenumber: 227
    functionLinenumberEnd: 276
    functionName: do_test_partitioners
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - test_create_topic_wait_exists
    - do_test_partitioner
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_partitioners(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0048-partitioner.c:279,1
    - Dst: do_test_partitioners
      Src: /src/librdkafka/tests/0048-partitioner.c:280,1
    - Dst: do_test_failed_partitioning
      Src: /src/librdkafka/tests/0048-partitioner.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 11
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: main_0048_partitioner
    functionSourceFile: /src/librdkafka/tests/0048-partitioner.c
    functionUses: 0
    functionsReached:
    - test_can_create_topics
    - do_test_failed_partitioning
    - do_test_partitioners
    linkageType: ''
    returnType: int
    signature: int main_0048_partitioner(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:55,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:58,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:59,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:62,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:67,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0003-msgmaxsize.c
    functionUses: 2
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - TEST_SAY
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:98,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:101,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:103,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:106,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:109,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:111,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:111,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:113,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:113,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:117,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:120,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:122,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:127,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:130,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:133,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:136,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:137,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:139,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:143,1
    - Dst: free
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:149,1
    - Dst: free
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:153,1
    - Dst: free
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:155,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:159,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:160,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:163,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:166,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:169,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:169,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0003-msgmaxsize.c:170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 173
    functionName: main_0003_msgmaxsize
    functionSourceFile: /src/librdkafka/tests/0003-msgmaxsize.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_outq_len
    - rd_kafka_name
    - rd_kafka_last_error
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_conf_set_dr_cb
    - TEST_SAY
    - rd_strerror
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    - test_create_handle
    - free
    - calloc
    - test_conf_init
    - rd_kafka_poll
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0003_msgmaxsize(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0103-transactions.c:50,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:55,1
    - Dst: rd_calloc
      Src: /src/librdkafka/tests/0103-transactions.c:58,1
    - Dst: test_prepare_msg
      Src: /src/librdkafka/tests/0103-transactions.c:63,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0103-transactions.c:65,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0103-transactions.c:66,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0103-transactions.c:67,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0103-transactions.c:68,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0103-transactions.c:72,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:75,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:82,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:83,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0103-transactions.c:84,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0103-transactions.c:85,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0103-transactions.c:87,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0103-transactions.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 6
    argNames:
    - rk
    - topic
    - testid
    - partition
    - msg_base
    - cnt
    argTypes:
    - rd_kafka_t*
    - char*
    - uint64_t
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 91
    functionName: do_produce_batch
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - test_wait_delivery
    - rd_free
    - test_prepare_msg
    - rd_kafka_produce_batch
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_calloc
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - strlen
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void do_produce_batch(rd_kafka_t *rk,\n                      const
      char *topic,\n                      uint64_t testid,\n                      int32_t
      partition,\n                      int msg_base,\n                      int cnt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:101,1
    - Dst: SUB_TEST0
      Src: /src/librdkafka/tests/0103-transactions.c:130,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:133,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:136,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:137,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:138,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:140,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:141,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:146,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:152,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0103-transactions.c:153,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0103-transactions.c:153,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0103-transactions.c:155,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:157,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0103-transactions.c:160,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0103-transactions.c:160,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:163,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0103-transactions.c:168,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:171,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:171,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:176,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:180,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:180,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:188,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:189,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:196,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0103-transactions.c:200,1
    - Dst: do_produce_batch
      Src: /src/librdkafka/tests/0103-transactions.c:206,1
    - Dst: do_produce_batch
      Src: /src/librdkafka/tests/0103-transactions.c:211,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:217,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:221,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:222,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:225,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:226,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0103-transactions.c:231,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0103-transactions.c:235,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:238,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:242,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:246,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0103-transactions.c:248,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:249,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 1
    argNames:
    - enable_compression
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 100
    functionDepth: 10
    functionLinenumber: 100
    functionLinenumberEnd: 252
    functionName: do_test_basic_producer_txn
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - do_produce_batch
    - TEST_ASSERT
    - test_wait_topic_exists
    - test_produce_msgs2
    - test_consumer_poll
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_produce_msgs2_nowait
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - TEST_CALL_ERROR__
    - test_conf_get
    - test_create_consumer
    - rd_kafka_abort_transaction
    - test_create_handle
    - test_consumer_subscribe
    - strcmp
    - test_consumer_wait_assignment
    - test_id_generate
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST0
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - test_consumer_poll_no_msgs
    - rd_kafka_commit_transaction
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_basic_producer_txn(rd_bool_t enable_compression)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:263,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:268,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0103-transactions.c:268,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0103-transactions.c:269,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:270,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0103-transactions.c:274,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0103-transactions.c:275,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - c
    - msgs
    - msgcnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: consume_messages
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - rd_kafka_name
    - rd_kafka_topic_name
    linkageType: ''
    returnType: void
    signature: void consume_messages(rd_kafka_t *c, rd_kafka_message_t **msgs, int
      msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - msgs
    - msgcnt
    argTypes:
    - rd_kafka_message_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: destroy_messages
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_messages(rd_kafka_message_t **msgs, int msgcnt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0103-transactions.c:302,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:302,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0103-transactions.c:304,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:304,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:317,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:319,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:321,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:345,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:346,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:347,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:348,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:351,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:352,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:355,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:355,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:356,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:356,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:357,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:359,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:359,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:361,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:364,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:365,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:366,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:367,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:368,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:369,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:372,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:373,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:374,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:375,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:376,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:376,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:379,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:380,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:381,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:382,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:383,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0103-transactions.c:386,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:401,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0103-transactions.c:407,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:409,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:409,1
    - Dst: test_msgver_add_msg0
      Src: /src/librdkafka/tests/0103-transactions.c:420,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0103-transactions.c:421,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0103-transactions.c:426,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0103-transactions.c:427,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0103-transactions.c:428,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0103-transactions.c:429,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0103-transactions.c:430,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0103-transactions.c:431,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:432,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:433,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0103-transactions.c:435,1
    - Dst: destroy_messages
      Src: /src/librdkafka/tests/0103-transactions.c:438,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0103-transactions.c:440,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:441,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:442,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0103-transactions.c:444,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:445,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:446,1
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/tests/0103-transactions.c:448,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:449,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:452,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:452,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0103-transactions.c:457,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0103-transactions.c:467,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0103-transactions.c:471,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/0103-transactions.c:473,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:478,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:480,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:485,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:486,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:489,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:490,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:493,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:502,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0103-transactions.c:503,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:504,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:506,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:507,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:509,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:510,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:511,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:513,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0103-transactions.c:519,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0103-transactions.c:527,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:531,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0103-transactions.c:531,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0103-transactions.c:534,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:536,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0103-transactions.c:537,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:539,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0103-transactions.c:540,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0103-transactions.c:542,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:546,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:549,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:555,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0103-transactions.c:557,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:559,1
    - Dst: test_msgver_verify_compare
      Src: /src/librdkafka/tests/0103-transactions.c:562,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0103-transactions.c:565,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0103-transactions.c:566,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0103-transactions.c:568,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0103-transactions.c:569,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:570,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:571,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:572,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0103-transactions.c:574,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0103-transactions.c:575,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:577,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 113
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 300
    functionDepth: 10
    functionLinenumber: 300
    functionLinenumberEnd: 578
    functionName: do_test_consumer_producer_txn
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - rd_kafka_topic_partition_get_leader_epoch
    - TEST_ASSERT
    - test_msgver_add_msg0
    - rd_kafka_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - test_msgver_verify_compare
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_topic_partition_list_copy
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - RD_KAFKA_V_OPAQUE
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_committed
    - consume_messages
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - test_create_consumer
    - rd_kafka_consumer_group_metadata
    - test_partition_list_and_offsets_cmp
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_position
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - RD_KAFKA_V_VALUE
    - destroy_messages
    - test_print_partition_list
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - rd_kafka_consumer_close
    - RD_KAFKA_V_KEY
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_strdup
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_free
    - rd_kafka_commit_transaction
    - test_msgver_init
    - rd_kafka_consumer_group_metadata_destroy
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - rd_kafka_poll
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_begin_transaction
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_producer_txn(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:585,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:596,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:598,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:600,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:601,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:603,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:605,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:606,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:607,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:607,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:611,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:612,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:613,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0103-transactions.c:613,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:615,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0103-transactions.c:617,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:618,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0103-transactions.c:621,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:623,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:629,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:630,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:632,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:634,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:636,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:636,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:638,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:640,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:640,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:642,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:643,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:645,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:645,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:647,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:648,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:649,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:649,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:651,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:652,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:654,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:660,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:661,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:663,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:665,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:667,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:668,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:669,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:669,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0103-transactions.c:670,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:671,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:671,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:673,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:673,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:674,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0103-transactions.c:674,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:676,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:678,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:678,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:680,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:686,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:687,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:689,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:691,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:695,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:698,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0103-transactions.c:698,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:700,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:702,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:703,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:704,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:704,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:708,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:710,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:713,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:716,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:719,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:720,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:721,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:721,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:723,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:724,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:727,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:727,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:729,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 584
    functionDepth: 6
    functionLinenumber: 584
    functionLinenumberEnd: 732
    functionName: do_test_misuse_txn
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_error_name
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - TEST_CALL_ERROR__
    - test_create_handle
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - SUB_TEST_QUICK
    - test_conf_init
    - rd_kafka_error_string
    - rd_kafka_fatal_error
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_misuse_txn(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:741,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:741,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: fenced_txn_is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: "int fenced_txn_is_fatal_cb(rd_kafka_t *rk,\n                                  rd_kafka_resp_err_t
      err,\n                                  const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:754,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:760,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:768,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:770,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:772,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:773,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:775,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:775,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:776,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:776,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:777,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:779,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:779,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:782,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:782,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:785,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:790,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:790,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:794,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:796,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:801,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:803,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:804,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0103-transactions.c:804,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:806,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:807,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0103-transactions.c:807,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:810,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0103-transactions.c:810,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:813,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0103-transactions.c:813,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:816,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:816,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0103-transactions.c:819,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:820,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:820,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:821,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:823,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:824,1
    - Dst: test_consume_txn_msgs_easy
      Src: /src/librdkafka/tests/0103-transactions.c:827,1
    - Dst: test_get_partition_count
      Src: /src/librdkafka/tests/0103-transactions.c:829,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:831,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - produce_after_fence
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 753
    functionDepth: 9
    functionLinenumber: 753
    functionLinenumberEnd: 832
    functionName: do_test_fenced_txn
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_error_name
    - test_produce_msgs2
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - test_get_partition_count
    - TEST_CALL_ERROR__
    - test_create_handle
    - test_id_generate
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - test_consume_txn_msgs_easy
    - test_conf_init
    - rd_kafka_error_string
    - rd_kafka_fatal_error
    - rd_kafka_error_txn_requires_abort
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_begin_transaction
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_fenced_txn(rd_bool_t produce_after_fence)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:841,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0103-transactions.c:855,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:857,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0103-transactions.c:861,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0103-transactions.c:862,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0103-transactions.c:863,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:869,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0103-transactions.c:872,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:874,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:876,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:877,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:878,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:880,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:882,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:885,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:885,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:900,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:901,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:901,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:902,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:903,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:903,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:909,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:910,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:910,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:913,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0103-transactions.c:915,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0103-transactions.c:916,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:919,1
    - Dst: test_DeleteRecords_simple
      Src: /src/librdkafka/tests/0103-transactions.c:919,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:920,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0103-transactions.c:923,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:929,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:931,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0103-transactions.c:933,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:936,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:937,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0103-transactions.c:937,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:939,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:944,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0103-transactions.c:945,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:946,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:947,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0103-transactions.c:947,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:949,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0103-transactions.c:949,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:951,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0103-transactions.c:951,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:954,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:957,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:958,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:966,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:968,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:968,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:969,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:971,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:971,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:974,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:983,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:984,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:985,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0103-transactions.c:986,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0103-transactions.c:989,1
    - Dst: test_msgver_ignore_eof
      Src: /src/librdkafka/tests/0103-transactions.c:990,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:992,1
    - Dst: test_msgver_verify_compare
      Src: /src/librdkafka/tests/0103-transactions.c:995,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0103-transactions.c:998,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0103-transactions.c:999,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1001,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:1003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 840
    functionDepth: 10
    functionLinenumber: 840
    functionLinenumberEnd: 1004
    functionName: do_test_fatal_idempo_error_without_kip360
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TEST_SAY_ERROR
    - TEST_BRKVER
    - test_msgver_verify_compare
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - test_create_consumer
    - test_create_handle
    - TEST_CALL_ERR__
    - test_consumer_assign_partition
    - SUB_TEST_SKIP
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - test_msgver_init
    - rd_kafka_commit_transaction
    - test_msgver_ignore_eof
    - rd_sleep
    - test_conf_init
    - rd_kafka_error_string
    - test_DeleteRecords_simple
    - rd_kafka_error_txn_requires_abort
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_fatal_idempo_error_without_kip360(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:1012,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:1020,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:1023,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:1025,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:1026,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1028,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:1029,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1030,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:1032,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0103-transactions.c:1035,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1038,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1039,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:1040,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:1041,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0103-transactions.c:1042,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1044,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1044,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1046,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1046,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:1053,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:1055,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0103-transactions.c:1055,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:1056,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0103-transactions.c:1056,1
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/tests/0103-transactions.c:1058,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1059,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1062,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1062,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1065,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1067,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1072,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1072,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1074,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1074,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0103-transactions.c:1077,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0103-transactions.c:1078,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0103-transactions.c:1078,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:1081,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0103-transactions.c:1081,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:1082,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0103-transactions.c:1082,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1084,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:1087,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1090,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1094,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1098,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1100,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1101,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - send_offsets
    - do_commit
    argTypes:
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1011
    functionDepth: 10
    functionLinenumber: 1011
    functionLinenumberEnd: 1104
    functionName: do_test_empty_txn
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_assignment
    - TEST_BRKVER
    - rd_kafka_send_offsets_to_transaction
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_committed
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - test_create_consumer
    - rd_kafka_consumer_group_metadata
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_position
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - test_id_generate
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - tmout_multip
    - rd_usleep
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_empty_txn(rd_bool_t send_offsets, rd_bool_t do_commit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:1114,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:1120,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:1124,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:1126,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:1127,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1129,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:1130,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1131,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:1133,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1135,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1135,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1137,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1137,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:1140,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1144,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1144,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1149,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1150,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1151,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1152,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0103-transactions.c:1153,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:1154,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0103-transactions.c:1157,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0103-transactions.c:1159,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0103-transactions.c:1162,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1164,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0103-transactions.c:1168,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0103-transactions.c:1168,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0103-transactions.c:1170,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0103-transactions.c:1171,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0103-transactions.c:1172,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1175,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1177,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0103-transactions.c:1182,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1183,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1184,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1185,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:1187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1113
    functionDepth: 10
    functionLinenumber: 1113
    functionLinenumberEnd: 1188
    functionName: do_test_txn_abort_control_message_leader_epoch
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - test_consumer_close
    - rd_kafka_committed
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - test_create_consumer
    - rd_kafka_commit
    - test_create_handle
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - test_msgver_init
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_abort_control_message_leader_epoch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0103-transactions.c:1198,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0103-transactions.c:1199,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1200,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0103-transactions.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - line
    - c
    - topic
    - partition
    argTypes:
    - int
    - rd_kafka_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1204
    functionName: query_hi_wmark0
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - rd_kafka_query_watermark_offsets
    - tmout_multip
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t query_hi_wmark0(int line, rd_kafka_t *c, const char *topic,
      int32_t partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - topic
    - ','
    - part
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1206
    functionName: query_hi_wmark
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: query_hi_wmark(c, topic, part)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0103-transactions.c:1211,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:1217,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0103-transactions.c:1219,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:1221,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:1222,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1224,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0103-transactions.c:1225,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1226,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:1226,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0103-transactions.c:1228,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0103-transactions.c:1231,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1234,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:1235,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0103-transactions.c:1235,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1236,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0103-transactions.c:1237,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1239,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1239,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1241,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1241,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0103-transactions.c:1244,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0103-transactions.c:1246,1
    - Dst: query_hi_wmark
      Src: /src/librdkafka/tests/0103-transactions.c:1248,1
    - Dst: query_hi_wmark
      Src: /src/librdkafka/tests/0103-transactions.c:1249,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:1251,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1255,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1261,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0103-transactions.c:1261,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1265,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1266,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0103-transactions.c:1267,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1267,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1268,1
    - Dst: query_hi_wmark
      Src: /src/librdkafka/tests/0103-transactions.c:1272,1
    - Dst: query_hi_wmark
      Src: /src/librdkafka/tests/0103-transactions.c:1273,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:1275,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1279,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1285,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1286,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1210
    functionDepth: 10
    functionLinenumber: 1210
    functionLinenumberEnd: 1289
    functionName: do_test_wmark_isolation_level
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - test_produce_msgs2
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - TEST_CALL_ERROR__
    - test_create_consumer
    - test_create_handle
    - test_id_generate
    - query_hi_wmark
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_wmark_isolation_level(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_misuse_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1295,1
    - Dst: do_test_basic_producer_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1296,1
    - Dst: do_test_basic_producer_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1297,1
    - Dst: do_test_consumer_producer_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1298,1
    - Dst: do_test_fenced_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1299,1
    - Dst: do_test_fenced_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1300,1
    - Dst: do_test_fatal_idempo_error_without_kip360
      Src: /src/librdkafka/tests/0103-transactions.c:1301,1
    - Dst: do_test_empty_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1302,1
    - Dst: do_test_empty_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1303,1
    - Dst: do_test_empty_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1304,1
    - Dst: do_test_empty_txn
      Src: /src/librdkafka/tests/0103-transactions.c:1305,1
    - Dst: do_test_wmark_isolation_level
      Src: /src/librdkafka/tests/0103-transactions.c:1306,1
    - Dst: do_test_txn_abort_control_message_leader_epoch
      Src: /src/librdkafka/tests/0103-transactions.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1293
    functionDepth: 11
    functionLinenumber: 1293
    functionLinenumberEnd: 1309
    functionName: main_0103_transactions
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - do_test_wmark_isolation_level
    - do_test_txn_abort_control_message_leader_epoch
    - do_test_empty_txn
    - do_test_consumer_producer_txn
    - do_test_basic_producer_txn
    - do_test_fenced_txn
    - do_test_fatal_idempo_error_without_kip360
    - do_test_misuse_txn
    linkageType: ''
    returnType: int
    signature: int main_0103_transactions(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0103-transactions.c:1323,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:1328,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1329,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1331,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1333,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1334,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1335,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:1336,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:1337,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1338,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1340,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0103-transactions.c:1347,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1348,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0103-transactions.c:1349,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0103-transactions.c:1350,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:1352,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0103-transactions.c:1354,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0103-transactions.c:1356,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0103-transactions.c:1357,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0103-transactions.c:1358,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1359,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1360,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0103-transactions.c:1360,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0103-transactions.c:1363,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:1363,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0103-transactions.c:1365,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0103-transactions.c:1366,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1368,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0103-transactions.c:1370,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0103-transactions.c:1372,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0103-transactions.c:1374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1316
    functionDepth: 6
    functionLinenumber: 1316
    functionLinenumberEnd: 1375
    functionName: do_test_txn_local
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - rd_kafka_error_name
    - TEST_ASSERT
    - TEST_SAY
    - test_timeout_set
    - rd_kafka_error_destroy
    - TIMING_START
    - rd_kafka_error_code
    - test_conf_set
    - rd_kafka_error_string
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - TIMING_ASSERT
    - SUB_TEST_QUICK
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void do_test_txn_local(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_txn_local
      Src: /src/librdkafka/tests/0103-transactions.c:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1378
    functionDepth: 7
    functionLinenumber: 1378
    functionLinenumberEnd: 1383
    functionName: main_0103_transactions_local
    functionSourceFile: /src/librdkafka/tests/0103-transactions.c
    functionUses: 0
    functionsReached:
    - do_test_txn_local
    linkageType: ''
    returnType: int
    signature: int main_0103_transactions_local(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - variation
    argTypes:
    - test_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: test_variation_name
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: char *test_variation_name(test_variation_t variation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:76,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: error_is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int error_is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const
      char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:93,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:94,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:96,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:98,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:101,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:101,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:103,1
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:106,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 7
    functionsReached:
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - TEST_SAY
    - TEST_ASSERT
    - test_rebalance_cb
    - rd_kafka_yield
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: is_heartbeat_request
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_heartbeat_request(rd_kafka_mock_request_t *request,\n
      \                                     void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mcluster
    - num
    - confidence_interval
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: wait_all_heartbeats_done
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_wait_matching_requests
    linkageType: ''
    returnType: int
    signature: "int wait_all_heartbeats_done(rd_kafka_mock_cluster_t *mcluster,\n
      \                                   int num,\n                                    int
      confidence_interval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:139,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:140,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:141,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - bootstraps
    - group_id
    - with_rebalance_cb
    argTypes:
    - char*
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 7
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: create_consumer
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 16
    functionsReached:
    - test_conf_set
    - test_conf_init
    - test_create_consumer
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *create_consumer(const char *bootstraps,\n                                   const
      char *group_id,\n                                   rd_bool_t with_rebalance_cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:182,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:185,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:185,1
    - Dst: test_variation_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:186,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:188,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:189,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:190,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:192,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:196,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:201,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:204,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:207,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:208,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:213,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:214,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:215,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:215,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:216,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:221,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:222,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:233,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:234,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:235,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:241,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:241,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:248,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:249,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:250,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:251,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:252,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:254,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:256,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:257,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:257,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:258,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:260,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:265,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:265,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:266,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:267,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:268,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:269,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:269,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:271,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:275,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:278,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:279,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:281,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:282,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:284,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 53
    argCount: 2
    argNames:
    - err
    - variation
    argTypes:
    - rd_kafka_resp_err_t
    - test_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 168
    functionDepth: 4
    functionLinenumber: 168
    functionLinenumberEnd: 286
    functionName: do_test_consumer_group_heartbeat_fatal_error
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT
    - rd_kafka_subscribe
    - rd_kafka_err2name
    - test_mock_cluster_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_stop_request_tracking
    - test_variation_name
    - TEST_CALL_ERR__
    - rd_kafka_mock_clear_requests
    - rd_kafka_message_destroy
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - create_consumer
    - TIMING_START
    - rd_kafka_fatal_error
    - test_mk_topic_name
    - wait_all_heartbeats_done
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer_group_heartbeat_fatal_error(rd_kafka_resp_err_t
      err,\n                                             test_variation_t variation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:302,1
    - Dst: do_test_consumer_group_heartbeat_fatal_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: do_test_consumer_group_heartbeat_fatal_errors
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_consumer_group_heartbeat_fatal_error
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_group_heartbeat_fatal_errors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:354,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:360,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:360,1
    - Dst: test_variation_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:361,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:364,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:365,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:366,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:368,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:370,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:374,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:379,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:383,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:384,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:389,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:390,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:391,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:391,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:392,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:398,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:401,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:402,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:404,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:407,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:408,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:409,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:418,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:418,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:419,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:420,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:422,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:425,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:427,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:428,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:429,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:434,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:435,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:437,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 2
    argNames:
    - err
    - variation
    argTypes:
    - rd_kafka_resp_err_t
    - test_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 345
    functionDepth: 4
    functionLinenumber: 345
    functionLinenumberEnd: 443
    functionName: do_test_consumer_group_heartbeat_retriable_error
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT
    - rd_kafka_subscribe
    - rd_kafka_err2name
    - test_mock_cluster_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_stop_request_tracking
    - test_variation_name
    - TEST_CALL_ERR__
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_consumer_close
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - test_consumer_poll_no_msgs
    - create_consumer
    - TIMING_START
    - test_mk_topic_name
    - wait_all_heartbeats_done
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer_group_heartbeat_retriable_error(rd_kafka_resp_err_t
      err,\n                                                 test_variation_t variation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:455,1
    - Dst: do_test_consumer_group_heartbeat_retriable_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 449
    functionDepth: 5
    functionLinenumber: 449
    functionLinenumberEnd: 461
    functionName: do_test_consumer_group_heartbeat_retriable_errors
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_consumer_group_heartbeat_retriable_error
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_group_heartbeat_retriable_errors(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:508,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:510,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:510,1
    - Dst: test_variation_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:511,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:513,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:514,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:515,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:519,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:524,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:527,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:529,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:532,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:533,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:538,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:539,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:540,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:540,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:541,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:553,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:554,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:555,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:569,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:570,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:571,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:575,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:582,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:589,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:590,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:591,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:595,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:608,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:610,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:611,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:612,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:615,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:622,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:623,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:624,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:635,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:635,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:636,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:638,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:642,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:644,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:646,1
    - Dst: wait_all_heartbeats_done
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:647,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:652,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:653,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:655,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 68
    argCount: 2
    argNames:
    - err
    - variation
    argTypes:
    - rd_kafka_resp_err_t
    - test_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 495
    functionDepth: 4
    functionLinenumber: 495
    functionLinenumberEnd: 657
    functionName: do_test_consumer_group_heartbeat_fenced_error
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT
    - rd_kafka_subscribe
    - rd_kafka_err2name
    - test_mock_cluster_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_stop_request_tracking
    - test_variation_name
    - TEST_CALL_ERR__
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - create_consumer
    - TIMING_START
    - test_mk_topic_name
    - wait_all_heartbeats_done
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer_group_heartbeat_fenced_error(rd_kafka_resp_err_t
      err,\n                                              test_variation_t variation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:670,1
    - Dst: do_test_consumer_group_heartbeat_fenced_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 676
    functionName: do_test_consumer_group_heartbeat_fenced_errors
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_consumer_group_heartbeat_fenced_error
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_group_heartbeat_fenced_errors(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - variation
    argTypes:
    - test_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 701
    functionName: test_variation_unknown_topic_id_name
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: 'char *

      test_variation_unknown_topic_id_name(test_variation_t variation)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:726,1
    - Dst: test_variation_unknown_topic_id_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:727,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:729,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:730,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:732,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:736,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:737,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:738,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:740,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:743,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:746,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:749,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:751,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:752,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:755,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:759,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:762,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:763,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:763,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:764,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:766,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:769,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:771,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:774,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:775,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:777,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:777,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:778,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:779,1
    - Dst: test_partition_list_cmp
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:779,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:782,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:783,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:785,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:786,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:788,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - variation
    argTypes:
    - test_variation_unknown_topic_id_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 715
    functionDepth: 7
    functionLinenumber: 715
    functionLinenumberEnd: 790
    functionName: do_test_metadata_unknown_topic_id_error
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - rd_kafka_assignment
    - test_consumer_poll_timeout
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT
    - rd_kafka_subscribe
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_partition_list_cmp
    - test_variation_unknown_topic_id_name
    - TEST_CALL_ERR__
    - rd_kafka_mock_topic_set_error
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_consumer_poll_no_msgs
    - create_consumer
    - TIMING_START
    linkageType: ''
    returnType: void
    signature: "void do_test_metadata_unknown_topic_id_error(\n    test_variation_unknown_topic_id_t
      variation)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_metadata_unknown_topic_id_error
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 8
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: do_test_metadata_unknown_topic_id_tests
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_metadata_unknown_topic_id_error
    linkageType: ''
    returnType: void
    signature: void do_test_metadata_unknown_topic_id_tests(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:811,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:815,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:817,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:818,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:819,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:821,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:822,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:823,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:824,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:825,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:827,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:828,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:831,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:832,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:833,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:833,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:834,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:836,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:838,1
    - Dst: test_mock_get_matching_request_cnt
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:840,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:842,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:845,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:850,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:852,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:853,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 805
    functionDepth: 7
    functionLinenumber: 805
    functionLinenumberEnd: 856
    functionName: do_test_adherence_to_hb_interval
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_subscribe
    - test_mock_cluster_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_mock_stop_request_tracking
    - test_mock_get_matching_request_cnt
    - test_create_consumer
    - TEST_CALL_ERR__
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - rd_sleep
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_adherence_to_hb_interval(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:881,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:883,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:893,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:894,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:897,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:899,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:900,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:904,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:904,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:905,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:905,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:908,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:909,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:910,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - variation
    argTypes:
    - do_test_quick_unsubscribe_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 874
    functionDepth: 4
    functionLinenumber: 874
    functionLinenumberEnd: 915
    functionName: do_test_quick_unsubscribe
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - rd_kafka_unsubscribe
    - create_consumer
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - RD_IF_FREE
    - rd_kafka_subscribe
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_quick_unsubscribe(do_test_quick_unsubscribe_variation_t
      variation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_quick_unsubscribe
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 5
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: do_test_quick_unsubscribe_tests
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_quick_unsubscribe
    linkageType: ''
    returnType: void
    signature: void do_test_quick_unsubscribe_tests(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:932,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:934,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:935,1
    - Dst: do_test_consumer_group_heartbeat_fatal_errors
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:939,1
    - Dst: do_test_consumer_group_heartbeat_retriable_errors
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:941,1
    - Dst: do_test_consumer_group_heartbeat_fenced_errors
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:943,1
    - Dst: do_test_metadata_unknown_topic_id_tests
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:945,1
    - Dst: do_test_adherence_to_hb_interval
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:947,1
    - Dst: do_test_quick_unsubscribe_tests
      Src: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 931
    functionDepth: 9
    functionLinenumber: 931
    functionLinenumberEnd: 952
    functionName: main_0147_consumer_group_consumer_mock
    functionSourceFile: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    functionUses: 0
    functionsReached:
    - do_test_adherence_to_hb_interval
    - do_test_consumer_group_heartbeat_fatal_errors
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    - do_test_metadata_unknown_topic_id_tests
    - do_test_consumer_group_heartbeat_fenced_errors
    - do_test_quick_unsubscribe_tests
    - do_test_consumer_group_heartbeat_retriable_errors
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0147_consumer_group_consumer_mock(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:43,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:48,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:50,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:51,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:54,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:56,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:58,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:60,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:64,1
    - Dst: RdKafka::Consumer*::metadata
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:67,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:67,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:69,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:70,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:74,1
    - Dst: RdKafka::Consumer*::c_ptr
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:74,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:74,1
    - Dst: RdKafka::Consumer*::start
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:77,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:79,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:79,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:82,1
    - Dst: RdKafka::Consumer*::consume
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:84,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:84,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:85,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:86,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:87,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:87,1
    - Dst: RdKafka::Consumer*::consume
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:91,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:92,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:93,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:94,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:94,1
    - Dst: RdKafka::Consumer*::stop
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:97,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:107,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:109,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:110,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:113,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:115,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:118,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:118,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:120,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:122,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:122,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:124,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:126,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:127,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:127,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:128,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:129,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:130,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:130,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:134,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:135,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:136,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:137,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:137,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 41
    functionDepth: 8
    functionLinenumber: 41
    functionLinenumberEnd: 144
    functionName: do_test_empty_topic_consumer
    functionSourceFile: /src/librdkafka/tests/0067-empty_topic.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - RdKafka::Message*::err
    - RdKafka::Consumer*::metadata
    - test_wait_topic_exists
    - RdKafka::KafkaConsumer*::consume
    - Test::conf_set
    - RdKafka::Consumer*::start
    - std::string::c_str
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - tmout_multip
    - Test::Fail
    - RdKafka::Consumer*::consume
    - RdKafka::Consumer*::stop
    - std::vector::push_back
    - test_mk_topic_name
    - RdKafka::Consumer*::c_ptr
    - RdKafka::KafkaConsumer*::assign
    linkageType: ''
    returnType: void
    signature: void do_test_empty_topic_consumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_empty_topic_consumer
      Src: /src/librdkafka/tests/0067-empty_topic.cpp:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 9
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: main_0067_empty_topic
    functionSourceFile: /src/librdkafka/tests/0067-empty_topic.cpp
    functionUses: 0
    functionsReached:
    - do_test_empty_topic_consumer
    linkageType: ''
    returnType: int
    signature: int main_0067_empty_topic(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: MyCb::MyCb
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_init
    linkageType: ''
    returnType: void
    signature: void MyCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: MyCb::called
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: bool
    signature: bool called()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::oauthbearer_set_token_failure
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:51,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:54,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - oauthbearer_config
    argTypes:
    - RdKafka::Handle*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: MyCb::oauthbearer_token_refresh_cb
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - RdKafka::Handle*::oauthbearer_set_token_failure
    - Test::Say
    linkageType: ''
    returnType: void
    signature: "void oauthbearer_token_refresh_cb(RdKafka::Handle *handle,\n                                    const
      std::string &oauthbearer_config)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: MyCb::MyCb
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_init
    linkageType: ''
    returnType: void
    signature: void MyCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: MyCb::called
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: bool
    signature: bool called()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::oauthbearer_set_token_failure
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:51,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:54,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - oauthbearer_config
    argTypes:
    - RdKafka::Handle*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: MyCb::oauthbearer_token_refresh_cb
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - RdKafka::Handle*::oauthbearer_set_token_failure
    - Test::Say
    linkageType: ''
    returnType: void
    signature: "void oauthbearer_token_refresh_cb(RdKafka::Handle *handle,\n                                    const
      std::string &oauthbearer_config)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:64,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:68,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:70,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:71,1
    - Dst: MyCb::MyCb
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:75,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:76,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:77,1
    - Dst: RdKafka::Conf*::enable_sasl_queue
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:80,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:81,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:83,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:85,1
    - Dst: RdKafka::Producer*::sasl_background_callbacks_enable
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:89,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:91,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:91,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:96,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:98,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:98,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:102,1
    - Dst: MyCb::called
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:102,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:105,1
    - Dst: MyCb::called
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:105,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - use_background_queue
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 111
    functionName: do_test
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 1
    functionsReached:
    - RdKafka::Conf*::enable_sasl_queue
    - RdKafka::Error*::str
    - Test::Fail
    - RdKafka::Conf*::set
    - SUB_TEST
    - TEST_ASSERT
    - thrd_create
    - RdKafka::Producer*::sasl_background_callbacks_enable
    - SUB_TEST_PASS
    - MyCb::called
    - std::string::empty
    - RdKafka::Producer*::clusterid
    - Test::conf_set
    - MyCb::MyCb
    linkageType: ''
    returnType: void
    signature: void do_test(bool use_background_queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_check_builtin
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:115,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:116,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:120,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0128-sasl_callback_queue.cpp:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: main_0128_sasl_callback_queue
    functionSourceFile: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
    functionUses: 0
    functionsReached:
    - do_test
    - test_check_builtin
    - Test::Skip
    linkageType: ''
    returnType: int
    signature: int main_0128_sasl_callback_queue(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:44,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:44,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:46,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:49,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:51,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:54,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:55,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:58,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:60,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:65,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:65,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:68,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:68,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:75,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:80,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:80,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:82,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:87,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:87,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:90,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:92,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:101,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:102,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:104,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:109,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:113,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:113,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:113,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:114,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:114,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:117,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:123,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:123,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:123,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:124,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:124,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:131,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:135,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:138,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:143,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:143,1
    - Dst: test_kafka_cmd
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:145,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:150,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:150,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:152,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 153
    functionName: do_test_fetch_unauth
    functionSourceFile: /src/librdkafka/tests/0119-consumer_auth.cpp
    functionUses: 0
    functionsReached:
    - test_kafka_cmd
    - Test::conf_init
    - RdKafka::Message*::err
    - TEST_ASSERT
    - Test::create_topic_wait_exists
    - RdKafka::KafkaConsumer*::consume
    - Test::subscribe
    - test_produce_msgs_easy
    - Test::conf_set
    - RdKafka::Message*::errstr
    - std::string::c_str
    - thrd_create
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - RdKafka::Conf*::get
    - Test::Fail
    - rd_sleep
    - tostr
    - RdKafka::Message*::partition
    - RdKafka::Message*::topic_name
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_fetch_unauth()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:158,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:159,1
    - Dst: do_test_fetch_unauth
      Src: /src/librdkafka/tests/0119-consumer_auth.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 166
    functionName: main_0119_consumer_auth
    functionSourceFile: /src/librdkafka/tests/0119-consumer_auth.cpp
    functionUses: 0
    functionsReached:
    - do_test_fetch_unauth
    - test_needs_auth
    - Test::Skip
    linkageType: ''
    returnType: int
    signature: int main_0119_consumer_auth(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0020-destroy_hang.c:48,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0020-destroy_hang.c:60,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0020-destroy_hang.c:65,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0020-destroy_hang.c:67,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0020-destroy_hang.c:69,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0020-destroy_hang.c:73,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0020-destroy_hang.c:80,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0020-destroy_hang.c:83,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0020-destroy_hang.c:85,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0020-destroy_hang.c:87,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0020-destroy_hang.c:90,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0020-destroy_hang.c:91,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0020-destroy_hang.c:91,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0020-destroy_hang.c:92,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0020-destroy_hang.c:94,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0020-destroy_hang.c:95,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0020-destroy_hang.c:98,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0020-destroy_hang.c:103,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0020-destroy_hang.c:106,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0020-destroy_hang.c:114,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0020-destroy_hang.c:119,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0020-destroy_hang.c:121,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0020-destroy_hang.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 47
    functionDepth: 7
    functionLinenumber: 47
    functionLinenumberEnd: 128
    functionName: nonexist_part
    functionSourceFile: /src/librdkafka/tests/0020-destroy_hang.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_close
    - test_consume_msgs_easy
    - test_conf_init
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_topic_partition_list_new
    - TIMING_START
    - rd_kafka_topic_partition_list_add
    - rd_kafka_err2str
    - rd_kafka_committed
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_destroy
    - test_create_consumer
    - TEST_FAIL
    - tmout_multip
    - test_str_id_generate
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: int nonexist_part(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0020-destroy_hang.c:138,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0020-destroy_hang.c:139,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0020-destroy_hang.c:141,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0020-destroy_hang.c:143,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0020-destroy_hang.c:145,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0020-destroy_hang.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: producer_groupid
    functionSourceFile: /src/librdkafka/tests/0020-destroy_hang.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - TEST_SAY
    - test_conf_set
    linkageType: ''
    returnType: int
    signature: int producer_groupid(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0020-destroy_hang.c:154,1
    - Dst: nonexist_part
      Src: /src/librdkafka/tests/0020-destroy_hang.c:156,1
    - Dst: producer_groupid
      Src: /src/librdkafka/tests/0020-destroy_hang.c:157,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0020-destroy_hang.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: main_0020_destroy_hang
    functionSourceFile: /src/librdkafka/tests/0020-destroy_hang.c
    functionUses: 0
    functionsReached:
    - producer_groupid
    - nonexist_part
    - TEST_FAIL
    - test_conf_init
    linkageType: ''
    returnType: int
    signature: int main_0020_destroy_hang(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0086-purge.c:84,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/0086-purge.c:88,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0086-purge.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 9
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 93
    functionName: on_request_sent
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - cnd_broadcast
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_request_sent(rd_kafka_t *rk,\n                                           int
      sockfd,\n                                           const char *brokername,\n
      \                                          int32_t brokerid,\n                                           int16_t
      ApiKey,\n                                           int16_t ApiVersion,\n                                           int32_t
      CorrId,\n                                           size_t size,\n                                           void
      *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0086-purge.c:108,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/0086-purge.c:110,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0086-purge.c:111,1
    - Dst: test_socket_sockem_set
      Src: /src/librdkafka/tests/0086-purge.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 115
    functionName: on_response_received
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 1
    functionsReached:
    - test_socket_sockem_set
    - cnd_broadcast
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_response_received(rd_kafka_t *rk,\n                                                int
      sockfd,\n                                                const char *brokername,\n
      \                                               int32_t brokerid,\n                                                int16_t
      ApiKey,\n                                                int16_t ApiVersion,\n
      \                                               int32_t CorrId,\n                                                size_t
      size,\n                                                int64_t rtt,\n                                                rd_kafka_resp_err_t
      err,\n                                                void *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_request_sent
      Src: /src/librdkafka/tests/0086-purge.c:123,1
    - Dst: rd_kafka_interceptor_add_on_response_received
      Src: /src/librdkafka/tests/0086-purge.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 130
    functionName: on_new_producer
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_request_sent
    - rd_kafka_interceptor_add_on_response_received
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_producer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:140,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:144,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0086-purge.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:153,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0086-purge.c:156,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0086-purge.c:157,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0086-purge.c:160,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0086-purge.c:162,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0086-purge.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 168
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 15
    functionsReached:
    - rd_kafka_err2name
    - TEST_FAIL_LATER
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - memcpy
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0086-purge.c:182,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0086-purge.c:186,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/tests/0086-purge.c:187,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0086-purge.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:190,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0086-purge.c:191,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0086-purge.c:193,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - what
    - line
    - rk
    - purge_flags
    - waitmsgs
    - exp_remain
    - reason
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - int
    - struct waitmsgs*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 197
    functionName: purge_and_expect
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_poll
    - rd_kafka_purge
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void purge_and_expect(const char *what,\n                             int
      line,\n                             rd_kafka_t *rk,\n                             int
      purge_flags,\n                             struct waitmsgs *waitmsgs,\n                             int
      exp_remain,\n                             const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: gapless_is_not_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gapless_is_not_fatal_cb(rd_kafka_t *rk,\n                                   rd_kafka_resp_err_t
      err,\n                                   const char *reason)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0086-purge.c:211,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0086-purge.c:220,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0086-purge.c:225,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0086-purge.c:227,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:229,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:230,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:231,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:232,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:234,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0086-purge.c:236,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0086-purge.c:242,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0086-purge.c:243,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0086-purge.c:250,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0086-purge.c:251,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/0086-purge.c:252,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/0086-purge.c:253,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0086-purge.c:255,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0086-purge.c:258,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0086-purge.c:262,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0086-purge.c:264,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0086-purge.c:278,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0086-purge.c:279,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0086-purge.c:280,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0086-purge.c:281,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0086-purge.c:282,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0086-purge.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:284,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0086-purge.c:285,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0086-purge.c:299,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0086-purge.c:300,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:302,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0086-purge.c:304,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0086-purge.c:307,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0086-purge.c:308,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0086-purge.c:310,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0086-purge.c:313,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0086-purge.c:318,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0086-purge.c:321,1
    - Dst: purge_and_expect
      Src: /src/librdkafka/tests/0086-purge.c:323,1
    - Dst: purge_and_expect
      Src: /src/librdkafka/tests/0086-purge.c:327,1
    - Dst: purge_and_expect
      Src: /src/librdkafka/tests/0086-purge.c:332,1
    - Dst: purge_and_expect
      Src: /src/librdkafka/tests/0086-purge.c:336,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0086-purge.c:342,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0086-purge.c:344,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 4
    argNames:
    - what
    - remote
    - idempotence
    - gapless
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 209
    functionDepth: 10
    functionLinenumber: 209
    functionLinenumberEnd: 345
    functionName: do_test_purge
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - TEST_ASSERT
    - cnd_init
    - TIMING_ASSERT_LATER
    - mtx_init
    - rd_kafka_conf_interceptor_add_on_new
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - cnd_timedwait_ms
    - test_socket_enable
    - mtx_unlock
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - mtx_lock
    - purge_and_expect
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - TEST_LATER_CHECK
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TEST_SKIP
    - TIMING_START
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_purge(const char *what, int remote, int idempotence, int
      gapless)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0086-purge.c:350,1
    - Dst: do_test_purge
      Src: /src/librdkafka/tests/0086-purge.c:352,1
    - Dst: do_test_purge
      Src: /src/librdkafka/tests/0086-purge.c:356,1
    - Dst: do_test_purge
      Src: /src/librdkafka/tests/0086-purge.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 11
    functionLinenumber: 348
    functionLinenumberEnd: 362
    functionName: main_0086_purge_remote
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - do_test_purge
    - TEST_BRKVER
    linkageType: ''
    returnType: int
    signature: int main_0086_purge_remote(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_purge
      Src: /src/librdkafka/tests/0086-purge.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 11
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: main_0086_purge_local
    functionSourceFile: /src/librdkafka/tests/0086-purge.c
    functionUses: 0
    functionsReached:
    - do_test_purge
    linkageType: ''
    returnType: int
    signature: int main_0086_purge_local(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: socket_errno
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socket_errno()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: socket_errno
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: socket_errno()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: strdupa
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdupa(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: mtx_init
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mtx_init(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: mtx_destroy
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mtx_destroy(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: mtx_lock
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mtx_lock(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: mtx_unlock
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mtx_unlock(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - THRD
    - ','
    - START_ROUTINE
    - ','
    - ARG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: thrd_create
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: thrd_create(THRD, START_ROUTINE, ARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - THRD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: thrd_join0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: thrd_join0(THRD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: sockem_close0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockem_close0(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - S
    - ','
    - A
    - ','
    - AL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: sockem_connect0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockem_connect0(S, A, AL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: sockem_close0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockem_close0(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - S
    - ','
    - A
    - ','
    - AL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: sockem_connect0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockem_connect0(S, A, AL)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/tests/sockem.c:176,1
    - Dst: GetTickCount64
      Src: /src/librdkafka/tests/sockem.c:179,1
    - Dst: clock_gettime
      Src: /src/librdkafka/tests/sockem.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: sockem_clock
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - GetTickCount64
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: int64_t
    signature: int64_t sockem_clock(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/sockem.c:192,1
    - Dst: getenv
      Src: /src/librdkafka/tests/sockem.c:193,1
    - Dst: strstr
      Src: /src/librdkafka/tests/sockem.c:196,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/sockem.c:197,1
    - Dst: dlsym
      Src: /src/librdkafka/tests/sockem.c:200,1
    - Dst: dlsym
      Src: /src/librdkafka/tests/sockem.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: sockem_init
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getenv
    - dlsym
    - strstr
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void sockem_init(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/tests/sockem.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - skm
    - now
    argTypes:
    - sockem_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: sockem_calc_waittime
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - TAILQ_FIRST
    linkageType: ''
    returnType: int
    signature: int sockem_calc_waittime(sockem_t *skm, int64_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/tests/sockem.c:234,1
    - Dst: free
      Src: /src/librdkafka/tests/sockem.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - skm
    - sb
    argTypes:
    - sockem_t*
    - sockem_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: sockem_buf_destroy
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - free
    linkageType: ''
    returnType: void
    signature: void sockem_buf_destroy(sockem_t *skm, sockem_buf_t *sb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/sockem.c:252,1
    - Dst: sockem_clock
      Src: /src/librdkafka/tests/sockem.c:257,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/sockem.c:259,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/tests/sockem.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - skm
    - size
    - data
    argTypes:
    - sockem_t*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 264
    functionName: sockem_buf_add
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - memcpy
    - TAILQ_INSERT_TAIL
    - sockem_clock
    - malloc
    linkageType: ''
    returnType: sockem_buf_t
    signature: 'sockem_buf_t *

      sockem_buf_add(sockem_t *skm, size_t size, const void *data)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sockem_clock
      Src: /src/librdkafka/tests/sockem.c:274,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/tests/sockem.c:288,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:297,1
    - Dst: send
      Src: /src/librdkafka/tests/sockem.c:299,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:301,1
    - Dst: sockem_buf_destroy
      Src: /src/librdkafka/tests/sockem.c:318,1
    - Dst: sockem_clock
      Src: /src/librdkafka/tests/sockem.c:320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - skm
    - ofd
    argTypes:
    - sockem_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 328
    functionName: sockem_fwd_bufs
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - TAILQ_FIRST
    - send
    - mtx_unlock
    - sockem_buf_destroy
    - sockem_clock
    linkageType: ''
    returnType: int
    signature: int sockem_fwd_bufs(sockem_t *skm, int ofd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: recv
      Src: /src/librdkafka/tests/sockem.c:339,1
    - Dst: socket_errno
      Src: /src/librdkafka/tests/sockem.c:341,1
    - Dst: send
      Src: /src/librdkafka/tests/sockem.c:353,1
    - Dst: sockem_buf_add
      Src: /src/librdkafka/tests/sockem.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - skm
    - ifd
    - ofd
    - direct
    argTypes:
    - sockem_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 362
    functionName: sockem_recv_fwd
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - send
    - socket_errno
    - sockem_buf_add
    - recv
    linkageType: ''
    returnType: int
    signature: int sockem_recv_fwd(sockem_t *skm, int ifd, int ofd, int direct)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket_errno
      Src: /src/librdkafka/tests/sockem.c:371,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:374,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - skm
    argTypes:
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 386
    functionName: sockem_close_all
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - socket_errno
    - sockem_close0
    linkageType: ''
    returnType: void
    signature: void sockem_close_all(sockem_t *skm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - skm
    argTypes:
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    functionName: sockem_conf_use
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sockem_conf_use(sockem_t *skm)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:409,1
    - Dst: sockem_conf_use
      Src: /src/librdkafka/tests/sockem.c:412,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:414,1
    - Dst: malloc
      Src: /src/librdkafka/tests/sockem.c:417,1
    - Dst: accept
      Src: /src/librdkafka/tests/sockem.c:420,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:422,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/sockem.c:427,1
    - Dst: strerror
      Src: /src/librdkafka/tests/sockem.c:428,1
    - Dst: socket_errno
      Src: /src/librdkafka/tests/sockem.c:428,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:429,1
    - Dst: assert
      Src: /src/librdkafka/tests/sockem.c:430,1
    - Dst: memset
      Src: /src/librdkafka/tests/sockem.c:434,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:438,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:440,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:445,1
    - Dst: sockem_calc_waittime
      Src: /src/librdkafka/tests/sockem.c:449,1
    - Dst: sockem_clock
      Src: /src/librdkafka/tests/sockem.c:449,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:451,1
    - Dst: poll
      Src: /src/librdkafka/tests/sockem.c:452,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:457,1
    - Dst: sockem_conf_use
      Src: /src/librdkafka/tests/sockem.c:458,1
    - Dst: sockem_fwd_bufs
      Src: /src/librdkafka/tests/sockem.c:460,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:461,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:465,1
    - Dst: sockem_recv_fwd
      Src: /src/librdkafka/tests/sockem.c:472,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:486,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:490,1
    - Dst: sockem_close_all
      Src: /src/librdkafka/tests/sockem.c:491,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:493,1
    - Dst: free
      Src: /src/librdkafka/tests/sockem.c:494,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (cs != -1)
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/librdkafka/tests/sockem.c
    constantsTouched: []
    func_position:
      end: 498
      start: 403
    functionDepth: 4
    functionLinenumber: 403
    functionLinenumberEnd: 498
    functionName: sockem_run
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - socket_errno
    - sockem_fwd_bufs
    - sockem_close0
    - mtx_lock
    - strerror
    - sockem_recv_fwd
    - free
    - poll
    - memset
    - sockem_conf_use
    - sockem_clock
    - sockem_calc_waittime
    - assert
    - mtx_unlock
    - sockem_close_all
    - accept
    - malloc
    linkageType: ''
    returnType: void
    signature: void *sockem_run(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sockem_connect0
      Src: /src/librdkafka/tests/sockem.c:509,1
    - Dst: socket_errno
      Src: /src/librdkafka/tests/sockem.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - s
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 525
    functionName: sockem_do_connect
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - socket_errno
    - sockem_connect0
    linkageType: ''
    returnType: int
    signature: int sockem_do_connect(int s, const struct sockaddr *addr, socklen_t
      addrlen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/librdkafka/tests/sockem.c:538,1
    - Dst: socket
      Src: /src/librdkafka/tests/sockem.c:541,1
    - Dst: bind
      Src: /src/librdkafka/tests/sockem.c:545,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:546,1
    - Dst: getsockname
      Src: /src/librdkafka/tests/sockem.c:551,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:552,1
    - Dst: listen
      Src: /src/librdkafka/tests/sockem.c:556,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:557,1
    - Dst: socket
      Src: /src/librdkafka/tests/sockem.c:562,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:564,1
    - Dst: sockem_do_connect
      Src: /src/librdkafka/tests/sockem.c:569,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:570,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:571,1
    - Dst: calloc
      Src: /src/librdkafka/tests/sockem.c:576,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/tests/sockem.c:581,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/sockem.c:582,1
    - Dst: va_start
      Src: /src/librdkafka/tests/sockem.c:593,1
    - Dst: sockem_vset
      Src: /src/librdkafka/tests/sockem.c:594,1
    - Dst: va_end
      Src: /src/librdkafka/tests/sockem.c:595,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/sockem.c:596,1
    - Dst: va_end
      Src: /src/librdkafka/tests/sockem.c:599,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:601,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/sockem.c:605,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:606,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/sockem.c:607,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:610,1
    - Dst: sockem_do_connect
      Src: /src/librdkafka/tests/sockem.c:613,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/sockem.c:615,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:619,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/librdkafka/tests/sockem.c:620,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:621,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:623,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 3
    argNames:
    - sockfd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 627
    functionName: sockem_connect
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 1
    functionsReached:
    - sockem_do_connect
    - bind
    - socket
    - sockem_close0
    - calloc
    - mtx_lock
    - va_start
    - LIST_INSERT_HEAD
    - sockem_vset
    - thrd_create
    - pthread_once
    - sockem_close
    - mtx_init
    - va_end
    - TAILQ_INIT
    - getsockname
    - mtx_unlock
    - listen
    linkageType: ''
    returnType: sockem_t
    signature: "sockem_t *sockem_connect(int sockfd,\n                         const
      struct sockaddr *addr,\n                         socklen_t addrlen,\n                         ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/tests/sockem.c:636,1
    - Dst: sockem_buf_destroy
      Src: /src/librdkafka/tests/sockem.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - skm
    argTypes:
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 638
    functionName: sockem_bufs_purge
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 0
    functionsReached:
    - sockem_buf_destroy
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void sockem_bufs_purge(sockem_t *skm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:642,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:643,1
    - Dst: LIST_REMOVE
      Src: /src/librdkafka/tests/sockem.c:645,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:646,1
    - Dst: sockem_close_all
      Src: /src/librdkafka/tests/sockem.c:653,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:655,1
    - Dst: thrd_join0
      Src: /src/librdkafka/tests/sockem.c:657,1
    - Dst: sockem_bufs_purge
      Src: /src/librdkafka/tests/sockem.c:659,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/sockem.c:661,1
    - Dst: free
      Src: /src/librdkafka/tests/sockem.c:664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - skm
    argTypes:
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 665
    functionName: sockem_close
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 2
    functionsReached:
    - sockem_bufs_purge
    - mtx_lock
    - free
    - thrd_join0
    - mtx_destroy
    - mtx_unlock
    - sockem_close_all
    - LIST_REMOVE
    linkageType: ''
    returnType: void
    signature: void sockem_close(sockem_t *skm)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:674,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:674,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:676,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:676,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:678,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:680,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:682,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:684,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/sockem.c:686,1
    - Dst: strchr
      Src: /src/librdkafka/tests/sockem.c:688,1
    - Dst: strdupa
      Src: /src/librdkafka/tests/sockem.c:689,1
    - Dst: strchr
      Src: /src/librdkafka/tests/sockem.c:691,1
    - Dst: strchr
      Src: /src/librdkafka/tests/sockem.c:692,1
    - Dst: sockem_set0
      Src: /src/librdkafka/tests/sockem.c:699,1
    - Dst: atoi
      Src: /src/librdkafka/tests/sockem.c:699,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - skm
    - key
    - val
    argTypes:
    - sockem_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 710
    functionName: sockem_set0
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 1
    functionsReached:
    - strcmp
    - atoi
    - strchr
    - sockem_set0
    - strdupa
    linkageType: ''
    returnType: int
    signature: int sockem_set0(sockem_t *skm, const char *key, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:720,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/sockem.c:721,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/sockem.c:722,1
    - Dst: sockem_set0
      Src: /src/librdkafka/tests/sockem.c:723,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:724,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - skm
    - ap
    argTypes:
    - sockem_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: sockem_vset
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - sockem_set0
    - va_arg
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int sockem_vset(sockem_t *skm, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/tests/sockem.c:737,1
    - Dst: sockem_vset
      Src: /src/librdkafka/tests/sockem.c:738,1
    - Dst: va_end
      Src: /src/librdkafka/tests/sockem.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - skm
    argTypes:
    - sockem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: sockem_set
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 3
    functionsReached:
    - va_end
    - va_start
    - sockem_vset
    linkageType: ''
    returnType: int
    signature: int sockem_set(sockem_t *skm, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/librdkafka/tests/sockem.c:748,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:750,1
    - Dst: LIST_FOREACH
      Src: /src/librdkafka/tests/sockem.c:751,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 757
    functionName: sockem_find
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 2
    functionsReached:
    - mtx_unlock
    - pthread_once
    - mtx_lock
    - LIST_FOREACH
    linkageType: ''
    returnType: sockem_t
    signature: sockem_t *sockem_find(int sockfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/librdkafka/tests/sockem.c:774,1
    - Dst: sockem_connect
      Src: /src/librdkafka/tests/sockem.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sockfd
    - addr
    - addrlen
    argTypes:
    - int
    - struct sockaddr*
    - socklen_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 781
    functionName: connect
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 3
    functionsReached:
    - pthread_once
    - sockem_connect
    linkageType: ''
    returnType: int
    signature: int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/librdkafka/tests/sockem.c:789,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem.c:791,1
    - Dst: sockem_find
      Src: /src/librdkafka/tests/sockem.c:792,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/sockem.c:795,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem.c:796,1
    - Dst: sockem_close0
      Src: /src/librdkafka/tests/sockem.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 799
    functionName: close
    functionSourceFile: /src/librdkafka/tests/sockem.c
    functionUses: 29
    functionsReached:
    - sockem_close0
    - mtx_lock
    - pthread_once
    - sockem_close
    - sockem_find
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: int close(int fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0055-producer_latency.c:64,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:65,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0055-producer_latency.c:70,1
    - Dst: free
      Src: /src/librdkafka/tests/0055-producer_latency.c:72,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:74,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 81
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 16
    functionsReached:
    - free
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/tests/0055-producer_latency.c:98,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0055-producer_latency.c:102,1
    - Dst: isspace
      Src: /src/librdkafka/tests/0055-producer_latency.c:103,1
    - Dst: strtol
      Src: /src/librdkafka/tests/0055-producer_latency.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:107,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - json
    - json_len
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 121
    functionName: stats_cb
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 1
    functionsReached:
    - strtol
    - isspace
    - TEST_ASSERT
    - strstr
    - strlen
    linkageType: ''
    returnType: int
    signature: int stats_cb(rd_kafka_t *rk, char *json, size_t json_len, void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:134,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0055-producer_latency.c:142,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0055-producer_latency.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - latconf
    argTypes:
    - struct latconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 161
    functionName: verify_latency
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - TEST_FAIL_LATER
    linkageType: ''
    returnType: int
    signature: int verify_latency(struct latconf *latconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0055-producer_latency.c:166,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0055-producer_latency.c:168,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0055-producer_latency.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:169,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:169,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0055-producer_latency.c:170,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:172,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - latconf
    - rk
    argTypes:
    - struct latconf*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: measure_rtt
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - test_clock
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: void
    signature: void measure_rtt(struct latconf *latconf, rd_kafka_t *rk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0055-producer_latency.c:187,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0055-producer_latency.c:189,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0055-producer_latency.c:191,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0055-producer_latency.c:192,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/tests/0055-producer_latency.c:193,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0055-producer_latency.c:194,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:198,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0055-producer_latency.c:200,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0055-producer_latency.c:201,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/tests/0055-producer_latency.c:206,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0055-producer_latency.c:208,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:211,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0055-producer_latency.c:211,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:212,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0055-producer_latency.c:212,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:215,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0055-producer_latency.c:218,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0055-producer_latency.c:219,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0055-producer_latency.c:219,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0055-producer_latency.c:220,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0055-producer_latency.c:221,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0055-producer_latency.c:223,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:224,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:227,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0055-producer_latency.c:227,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0055-producer_latency.c:230,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0055-producer_latency.c:230,1
    - Dst: measure_rtt
      Src: /src/librdkafka/tests/0055-producer_latency.c:234,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:236,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:242,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0055-producer_latency.c:242,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0055-producer_latency.c:244,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0055-producer_latency.c:245,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0055-producer_latency.c:247,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0055-producer_latency.c:248,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0055-producer_latency.c:248,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0055-producer_latency.c:249,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0055-producer_latency.c:250,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0055-producer_latency.c:251,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0055-producer_latency.c:253,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:254,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0055-producer_latency.c:258,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0055-producer_latency.c:262,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:263,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0055-producer_latency.c:263,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0055-producer_latency.c:264,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0055-producer_latency.c:270,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:272,1
    - Dst: verify_latency
      Src: /src/librdkafka/tests/0055-producer_latency.c:274,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0055-producer_latency.c:281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 2
    argNames:
    - topic
    - latconf
    argTypes:
    - char*
    - struct latconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 179
    functionDepth: 6
    functionLinenumber: 179
    functionLinenumberEnd: 282
    functionName: test_producer_latency
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - measure_rtt
    - verify_latency
    - TIMING_ASSERT_LATER
    - rd_kafka_conf_set_stats_cb
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_conf_set_opaque
    - RD_KAFKA_V_PARTITION
    - rd_kafka_conf_get
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - test_clock
    - malloc
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - strcmp
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_poll
    - test_conf_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void test_producer_latency(const char *topic, struct latconf *latconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - latconf
    argTypes:
    - struct latconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 294
    functionName: find_min
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float find_min(const struct latconf *latconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - latconf
    argTypes:
    - struct latconf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 305
    functionName: find_max
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float find_max(const struct latconf *latconf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0055-producer_latency.c:308,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0055-producer_latency.c:341,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0055-producer_latency.c:346,1
    - Dst: test_producer_latency
      Src: /src/librdkafka/tests/0055-producer_latency.c:349,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:351,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:352,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0055-producer_latency.c:357,1
    - Dst: find_min
      Src: /src/librdkafka/tests/0055-producer_latency.c:359,1
    - Dst: find_max
      Src: /src/librdkafka/tests/0055-producer_latency.c:360,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0055-producer_latency.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 307
    functionDepth: 10
    functionLinenumber: 307
    functionLinenumberEnd: 368
    functionName: main_0055_producer_latency
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - find_max
    - test_producer_latency
    - TEST_LATER_CHECK
    - test_create_topic_wait_exists
    - TEST_SAY
    - TEST_SKIP
    - test_mk_topic_name
    - find_min
    linkageType: ''
    returnType: int
    signature: int main_0055_producer_latency(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0055-producer_latency.c:374,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0055-producer_latency.c:378,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:380,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:382,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 384
    functionName: dr_msg_cb_first_message
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - TIMING_ASSERT_LATER
    - rd_kafka_err2str
    - TEST_ASSERT
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void dr_msg_cb_first_message(rd_kafka_t *rk,\n                                    const
      rd_kafka_message_t *rkmessage,\n                                    void *opaque)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0055-producer_latency.c:421,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0055-producer_latency.c:422,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0055-producer_latency.c:424,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0055-producer_latency.c:425,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0055-producer_latency.c:426,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0055-producer_latency.c:427,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0055-producer_latency.c:428,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0055-producer_latency.c:430,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0055-producer_latency.c:434,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0055-producer_latency.c:435,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0055-producer_latency.c:441,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0055-producer_latency.c:443,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0055-producer_latency.c:445,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:447,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:448,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0055-producer_latency.c:452,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0055-producer_latency.c:453,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0055-producer_latency.c:454,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0055-producer_latency.c:455,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0055-producer_latency.c:456,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0055-producer_latency.c:457,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:458,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:460,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0055-producer_latency.c:473,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0055-producer_latency.c:474,1
    - Dst: rd_kafka_produceva
      Src: /src/librdkafka/tests/0055-producer_latency.c:474,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0055-producer_latency.c:480,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0055-producer_latency.c:487,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0055-producer_latency.c:488,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:490,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:491,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0055-producer_latency.c:496,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0055-producer_latency.c:497,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:498,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0055-producer_latency.c:500,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0055-producer_latency.c:507,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:509,1
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0055-producer_latency.c:511,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0055-producer_latency.c:513,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0055-producer_latency.c:518,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0055-producer_latency.c:521,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0055-producer_latency.c:522,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0055-producer_latency.c:524,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0055-producer_latency.c:526,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0055-producer_latency.c:527,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 79
    argCount: 1
    argNames:
    - case_number
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 395
    functionDepth: 6
    functionLinenumber: 395
    functionLinenumberEnd: 528
    functionName: test_producer_latency_first_message
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - TEST_ASSERT
    - test_mock_cluster_new
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - rd_kafka_produce_batch
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - rd_kafka_produceva
    - rd_kafka_mock_stop_request_tracking
    - TEST_CALL_ERROR__
    - rd_kafka_produce
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - SUB_TEST
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_usleep
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - rd_kafka_mock_start_request_tracking
    - TEST_LATER_CHECK
    - test_conf_init
    - TIMING_START
    - RD_KAFKA_V_TOPIC
    - rd_kafka_mock_request_api_key
    - rd_kafka_poll
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: void test_producer_latency_first_message(int case_number)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0055-producer_latency.c:531,1
    - Dst: test_producer_latency_first_message
      Src: /src/librdkafka/tests/0055-producer_latency.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 530
    functionDepth: 7
    functionLinenumber: 530
    functionLinenumberEnd: 539
    functionName: main_0055_producer_latency_mock
    functionSourceFile: /src/librdkafka/tests/0055-producer_latency.c
    functionUses: 0
    functionsReached:
    - test_producer_latency_first_message
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0055_producer_latency_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: prepare_timestamps
    functionSourceFile: /src/librdkafka/tests/0052-msg_timestamps.c
    functionUses: 0
    functionsReached:
    - rd_gettimeofday
    linkageType: ''
    returnType: void
    signature: void prepare_timestamps(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:75,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:76,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:77,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:78,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:79,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:80,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:81,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:82,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:86,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:86,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:87,1
    - Dst: test_prepare_msg
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:92,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:95,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:96,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:97,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:98,1
    - Dst: RD_KAFKA_V_TIMESTAMP
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:99,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:100,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:101,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:103,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:104,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:107,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:109,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - topic
    - partition
    - testid
    - msgcnt
    - broker_version
    - codec
    argTypes:
    - char*
    - int
    - uint64_t
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 6
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: produce_msgs
    functionSourceFile: /src/librdkafka/tests/0052-msg_timestamps.c
    functionUses: 6
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - test_prepare_msg
    - RD_KAFKA_V_KEY
    - RD_KAFKA_V_TIMESTAMP
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - tsprintf
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - rd_kafka_poll
    - test_conf_set
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void produce_msgs(const char *topic,\n                         int
      partition,\n                         uint64_t testid,\n                         int
      msgcnt,\n                         const char *broker_version,\n                         const
      char *codec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:122,1
    - Dst: test_consume_msgs_easy_mv
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:123,1
    - Dst: test_msgver_verify0
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:126,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - topic
    - partition
    - testid
    - msgcnt
    - exp_timestamp
    argTypes:
    - char*
    - int
    - uint64_t
    - int
    - struct timestamp_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 114
    functionDepth: 5
    functionLinenumber: 114
    functionLinenumberEnd: 135
    functionName: consume_msgs_verify_timestamps
    functionSourceFile: /src/librdkafka/tests/0052-msg_timestamps.c
    functionUses: 0
    functionsReached:
    - test_msgver_clear
    - test_msgver_verify0
    - test_msgver_init
    - test_consume_msgs_easy_mv
    linkageType: ''
    returnType: void
    signature: "void consume_msgs_verify_timestamps(const char *topic,\n                               int
      partition,\n                               uint64_t testid,\n                               int
      msgcnt,\n                               const struct timestamp_range *exp_timestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:144,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:144,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:148,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:150,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:151,1
    - Dst: test_conf_match
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:152,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:153,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:161,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:162,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:164,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:169,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:171,1
    - Dst: produce_msgs
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:172,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:174,1
    - Dst: consume_msgs_verify_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - broker_tstype
    - broker_version
    - codec
    - exp_timestamps
    argTypes:
    - char*
    - char*
    - char*
    - struct timestamp_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 8
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: test_timestamps
    functionSourceFile: /src/librdkafka/tests/0052-msg_timestamps.c
    functionUses: 0
    functionsReached:
    - produce_msgs
    - tsprintf
    - consume_msgs_verify_timestamps
    - TEST_SAY
    - test_id_generate
    - test_timeout_set
    - test_mk_topic_name
    - test_kafka_topics
    - strncmp
    - test_wait_topic_exists
    - test_conf_match
    linkageType: ''
    returnType: void
    signature: "void test_timestamps(const char *broker_tstype,\n                            const
      char *broker_version,\n                            const char *codec,\n                            const
      struct timestamp_range *exp_timestamps)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:187,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:190,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:191,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:195,1
    - Dst: prepare_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:216,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:218,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:219,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:221,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:223,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:227,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:228,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:230,1
    - Dst: test_timestamps
      Src: /src/librdkafka/tests/0052-msg_timestamps.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 184
    functionDepth: 9
    functionLinenumber: 184
    functionLinenumberEnd: 238
    functionName: main_0052_msg_timestamps
    functionSourceFile: /src/librdkafka/tests/0052-msg_timestamps.c
    functionUses: 0
    functionsReached:
    - test_timestamps
    - test_needs_auth
    - TEST_SKIP
    - test_can_create_topics
    - TEST_BRKVER
    - prepare_timestamps
    linkageType: ''
    returnType: int
    signature: int main_0052_msg_timestamps(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0075-retry.c:70,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0075-retry.c:74,1
    - Dst: test_socket_find
      Src: /src/librdkafka/tests/0075-retry.c:75,1
    - Dst: printf
      Src: /src/librdkafka/tests/0075-retry.c:85,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0075-retry.c:90,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0075-retry.c:93,1
    - Dst: assert
      Src: /src/librdkafka/tests/0075-retry.c:95,1
    - Dst: printf
      Src: /src/librdkafka/tests/0075-retry.c:96,1
    - Dst: sockem_set
      Src: /src/librdkafka/tests/0075-retry.c:100,1
    - Dst: cnd_signal
      Src: /src/librdkafka/tests/0075-retry.c:102,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts:
    - condition: (ctrl.skm)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/librdkafka/tests/0075-retry.c
    constantsTouched: []
    func_position:
      end: 108
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 108
    functionName: ctrl_thrd_main
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 0
    functionsReached:
    - printf
    - mtx_lock
    - test_socket_find
    - cnd_timedwait_ms
    - sockem_set
    - cnd_signal
    - assert
    - mtx_unlock
    - test_clock
    linkageType: ''
    returnType: int
    signature: int ctrl_thrd_main(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0075-retry.c:117,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:123,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:128,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/0075-retry.c:135,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - test
    - skm
    - id
    argTypes:
    - struct test*
    - sockem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: connect_cb
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 3
    functionsReached:
    - cnd_broadcast
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int connect_cb(struct test *test, sockem_t *skm, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:147,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0075-retry.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 154
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:160,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0075-retry.c:162,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0075-retry.c:163,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/0075-retry.c:166,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:170,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0075-retry.c:171,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - after
    - delay
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 174
    functionName: set_delay
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 1
    functionsReached:
    - mtx_lock
    - TEST_SAY
    - cnd_broadcast
    - cnd_timedwait_ms
    - mtx_unlock
    - test_clock
    linkageType: ''
    returnType: void
    signature: void set_delay(int after, int delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0075-retry.c:188,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/0075-retry.c:189,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:192,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0075-retry.c:194,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0075-retry.c:196,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:197,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:198,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:199,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:200,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:208,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0075-retry.c:212,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0075-retry.c:213,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0075-retry.c:217,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0075-retry.c:218,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:220,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0075-retry.c:221,1
    - Dst: cnd_wait
      Src: /src/librdkafka/tests/0075-retry.c:223,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:224,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:226,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0075-retry.c:230,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0075-retry.c:230,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0075-retry.c:231,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0075-retry.c:232,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0075-retry.c:233,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0075-retry.c:235,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0075-retry.c:236,1
    - Dst: set_delay
      Src: /src/librdkafka/tests/0075-retry.c:238,1
    - Dst: set_delay
      Src: /src/librdkafka/tests/0075-retry.c:242,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:247,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0075-retry.c:251,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0075-retry.c:255,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0075-retry.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0075-retry.c:256,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0075-retry.c:257,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0075-retry.c:258,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0075-retry.c:260,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0075-retry.c:261,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0075-retry.c:264,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0075-retry.c:266,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0075-retry.c:267,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/tests/0075-retry.c:269,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0075-retry.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 44
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 180
    functionDepth: 10
    functionLinenumber: 180
    functionLinenumberEnd: 271
    functionName: do_test_low_socket_timeout
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - cnd_init
    - mtx_init
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - cnd_destroy
    - test_socket_enable
    - mtx_unlock
    - TEST_FAIL
    - rd_kafka_metadata
    - cnd_wait
    - test_create_handle
    - mtx_lock
    - thrd_create
    - mtx_destroy
    - test_create_producer_topic
    - tmout_multip
    - set_delay
    - thrd_join
    - test_conf_init
    - test_conf_set
    - rd_kafka_metadata_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_low_socket_timeout(const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0075-retry.c:274,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0075-retry.c:276,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0075-retry.c:280,1
    - Dst: do_test_low_socket_timeout
      Src: /src/librdkafka/tests/0075-retry.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 11
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: main_0075_retry
    functionSourceFile: /src/librdkafka/tests/0075-retry.c
    functionUses: 0
    functionsReached:
    - test_needs_auth
    - test_mk_topic_name
    - do_test_low_socket_timeout
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0075_retry(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:42,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:54,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:57,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:58,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:61,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:66,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:67,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:70,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:71,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:74,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:77,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:80,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:83,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:85,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:88,1
    - Dst: test_consumer_unassign
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:92,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:98,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:102,1
    - Dst: rd_kafka_consumer_get_offset
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:103,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:105,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:107,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:109,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:110,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:111,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:112,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:114,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:117,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/xxxx-assign_partition.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 122
    functionName: main_0016_assign_partition
    functionSourceFile: /src/librdkafka/tests/xxxx-assign_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll
    - rd_kafka_destroy
    - test_produce_msgs
    - rd_kafka_topic_conf_set
    - rd_kafka_err2str
    - TEST_SAY
    - test_consumer_close
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_consumer_get_offset
    - test_consumer_assign
    - test_consumer_unassign
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_create_producer_topic
    - rd_kafka_topic_name
    - TIMING_STOP
    - test_create_producer
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0016_assign_partition(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:41,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:43,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:47,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:49,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:50,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:52,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:53,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:55,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:56,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:58,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:59,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:60,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:61,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:63,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:64,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:66,1
    - Dst: test_create_partitions
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:67,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:70,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:72,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:73,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:75,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:76,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:77,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:79,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:80,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:82,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:83,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0112-assign_unknown_part.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 40
    functionDepth: 10
    functionLinenumber: 40
    functionLinenumberEnd: 87
    functionName: main_0112_assign_unknown_part
    functionSourceFile: /src/librdkafka/tests/0112-assign_unknown_part.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - test_consumer_assign
    - rd_sleep
    - test_conf_init
    - TEST_SAY
    - test_produce_msgs_easy
    - test_id_generate
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - test_consumer_close
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_destroy
    - test_create_partitions
    - test_create_consumer
    linkageType: ''
    returnType: int
    signature: int main_0112_assign_unknown_part(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:64,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:67,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:68,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 78
    functionName: dr_single_partition_cb
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_single_partition_cb(rd_kafka_t *rk,\n                                   void
      *payload,\n                                   size_t len,\n                                   rd_kafka_resp_err_t
      err,\n                                   void *opaque,\n                                   void
      *msg_opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0011-produce_batch.c:94,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0011-produce_batch.c:98,1
    - Dst: memset
      Src: /src/librdkafka/tests/0011-produce_batch.c:104,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0011-produce_batch.c:106,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0011-produce_batch.c:109,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0011-produce_batch.c:112,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:114,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:115,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0011-produce_batch.c:117,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:117,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:119,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0011-produce_batch.c:119,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:122,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:124,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0011-produce_batch.c:126,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:129,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:130,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0011-produce_batch.c:137,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:145,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:146,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:152,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:157,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:161,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:164,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:165,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0011-produce_batch.c:173,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:176,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:179,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:183,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:186,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:186,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:187,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0011-produce_batch.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 190
    functionName: test_single_partition
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - rd_kafka_conf_set_dr_cb
    - TEST_SAY
    - rd_kafka_err2str
    - memset
    - rd_strerror
    - TEST_FAIL
    - malloc
    - test_create_handle
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - free
    - calloc
    - test_conf_init
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_single_partition(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:206,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:209,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:210,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: dr_partitioner_cb
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_partitioner_cb(rd_kafka_t *rk,\n                              void
      *payload,\n                              size_t len,\n                              rd_kafka_resp_err_t
      err,\n                              void *opaque,\n                              void
      *msg_opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0011-produce_batch.c:234,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0011-produce_batch.c:236,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0011-produce_batch.c:239,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0011-produce_batch.c:242,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:244,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:245,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0011-produce_batch.c:247,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:247,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:249,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0011-produce_batch.c:249,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:252,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:254,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0011-produce_batch.c:256,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:259,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:260,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0011-produce_batch.c:264,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:272,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:273,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:279,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:284,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:288,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:291,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:292,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0011-produce_batch.c:299,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:302,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:305,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:309,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:312,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:312,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:313,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0011-produce_batch.c:315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 221
    functionDepth: 6
    functionLinenumber: 221
    functionLinenumberEnd: 316
    functionName: test_partitioner
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - rd_kafka_conf_set_dr_cb
    - TEST_SAY
    - rd_kafka_err2str
    - rd_strerror
    - TEST_FAIL
    - malloc
    - test_create_handle
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - free
    - calloc
    - test_conf_init
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_partitioner(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:322,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:325,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:326,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:329,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0011-produce_batch.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 338
    functionName: dr_per_message_partition_cb
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - free
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void dr_per_message_partition_cb(rd_kafka_t *rk,\n                                        const
      rd_kafka_message_t *rkmessage,\n                                        void
      *opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0011-produce_batch.c:356,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0011-produce_batch.c:358,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0011-produce_batch.c:361,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0011-produce_batch.c:364,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:366,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:367,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:368,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0011-produce_batch.c:369,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0011-produce_batch.c:372,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:374,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0011-produce_batch.c:374,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:377,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:378,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:379,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:381,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0011-produce_batch.c:383,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:386,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:387,1
    - Dst: jitter
      Src: /src/librdkafka/tests/0011-produce_batch.c:389,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0011-produce_batch.c:393,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:402,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:403,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:409,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:414,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:418,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:421,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:422,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0011-produce_batch.c:429,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:432,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:437,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:446,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:447,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:450,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:453,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:453,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:454,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0011-produce_batch.c:456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 341
    functionDepth: 10
    functionLinenumber: 341
    functionLinenumberEnd: 457
    functionName: test_per_message_partition_flag
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - jitter
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - rd_strerror
    - TEST_FAIL
    - malloc
    - test_create_handle
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_kafka_conf_set_dr_msg_cb
    - free
    - calloc
    - test_conf_init
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_per_message_partition_flag(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:463,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:466,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:467,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 476
    functionName: dr_partitioner_wo_per_message_flag_cb
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_partitioner_wo_per_message_flag_cb(rd_kafka_t *rk,\n                                      const
      rd_kafka_message_t *rkmessage,\n                                      void *opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0011-produce_batch.c:495,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0011-produce_batch.c:497,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0011-produce_batch.c:500,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0011-produce_batch.c:502,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0011-produce_batch.c:505,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:507,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:508,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0011-produce_batch.c:510,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:510,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:512,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0011-produce_batch.c:512,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:515,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:517,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0011-produce_batch.c:519,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:522,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:523,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0011-produce_batch.c:528,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:536,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0011-produce_batch.c:537,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:543,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:548,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:552,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:555,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:556,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0011-produce_batch.c:563,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:566,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:569,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:572,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:579,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:582,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:582,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:583,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0011-produce_batch.c:585,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 482
    functionDepth: 6
    functionLinenumber: 482
    functionLinenumberEnd: 586
    functionName: test_message_partitioner_wo_per_message_flag
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - TEST_SAY
    - rd_kafka_err2str
    - rd_strerror
    - TEST_FAIL
    - malloc
    - test_create_handle
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_kafka_conf_set_dr_msg_cb
    - free
    - calloc
    - test_conf_init
    - test_conf_set
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: void
    signature: void test_message_partitioner_wo_per_message_flag(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 603
    functionName: dr_message_single_partition_record_fail
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_message_single_partition_record_fail(rd_kafka_t *rk,\n                                        const
      rd_kafka_message_t *rkmessage,\n                                        void
      *opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:625,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0011-produce_batch.c:629,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0011-produce_batch.c:637,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0011-produce_batch.c:639,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0011-produce_batch.c:642,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0011-produce_batch.c:647,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:649,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:652,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0011-produce_batch.c:654,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:656,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0011-produce_batch.c:656,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0011-produce_batch.c:657,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0011-produce_batch.c:659,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0011-produce_batch.c:661,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:665,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0011-produce_batch.c:667,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0011-produce_batch.c:670,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:673,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:674,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:677,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:678,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0011-produce_batch.c:679,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0011-produce_batch.c:680,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0011-produce_batch.c:686,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:690,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:695,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:699,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:703,1
    - Dst: free
      Src: /src/librdkafka/tests/0011-produce_batch.c:704,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:705,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0011-produce_batch.c:713,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:714,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0011-produce_batch.c:718,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0011-produce_batch.c:720,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0011-produce_batch.c:722,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0011-produce_batch.c:724,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0011-produce_batch.c:728,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:732,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0011-produce_batch.c:734,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0011-produce_batch.c:737,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0011-produce_batch.c:737,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0011-produce_batch.c:738,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0011-produce_batch.c:739,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 613
    functionDepth: 8
    functionLinenumber: 613
    functionLinenumberEnd: 740
    functionName: test_message_single_partition_record_fail
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - TEST_ASSERT
    - rd_kafka_name
    - test_wait_topic_exists
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - TEST_SAY
    - rd_strerror
    - TEST_FAIL
    - malloc
    - test_create_handle
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_kafka_conf_set_dr_msg_cb
    - free
    - calloc
    - rd_sleep
    - test_conf_init
    - test_conf_set
    - test_mk_topic_name
    - test_DeleteTopics_simple
    - strlen
    - test_IncrementalAlterConfigs_simple
    linkageType: ''
    returnType: void
    signature: void test_message_single_partition_record_fail(int variation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_message_partitioner_wo_per_message_flag
      Src: /src/librdkafka/tests/0011-produce_batch.c:744,1
    - Dst: test_single_partition
      Src: /src/librdkafka/tests/0011-produce_batch.c:745,1
    - Dst: test_partitioner
      Src: /src/librdkafka/tests/0011-produce_batch.c:746,1
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0011-produce_batch.c:747,1
    - Dst: test_per_message_partition_flag
      Src: /src/librdkafka/tests/0011-produce_batch.c:748,1
    - Dst: test_message_single_partition_record_fail
      Src: /src/librdkafka/tests/0011-produce_batch.c:750,1
    - Dst: test_message_single_partition_record_fail
      Src: /src/librdkafka/tests/0011-produce_batch.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 743
    functionDepth: 11
    functionLinenumber: 743
    functionLinenumberEnd: 753
    functionName: main_0011_produce_batch
    functionSourceFile: /src/librdkafka/tests/0011-produce_batch.c
    functionUses: 0
    functionsReached:
    - test_message_partitioner_wo_per_message_flag
    - test_message_single_partition_record_fail
    - test_per_message_partition_flag
    - test_can_create_topics
    - test_single_partition
    - test_partitioner
    linkageType: ''
    returnType: int
    signature: int main_0011_produce_batch(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:42,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0076-produce_retry.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:81,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0076-produce_retry.c:86,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0076-produce_retry.c:88,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0076-produce_retry.c:91,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0076-produce_retry.c:91,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:92,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:93,1
    - Dst: sockem_ctrl_init
      Src: /src/librdkafka/tests/0076-produce_retry.c:99,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:101,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:103,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:104,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:109,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:114,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:116,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:124,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0076-produce_retry.c:125,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0076-produce_retry.c:126,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0076-produce_retry.c:129,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0076-produce_retry.c:130,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0076-produce_retry.c:131,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0076-produce_retry.c:134,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0076-produce_retry.c:134,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0076-produce_retry.c:135,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0076-produce_retry.c:135,1
    - Dst: sockem_ctrl_set_delay
      Src: /src/librdkafka/tests/0076-produce_retry.c:138,1
    - Dst: sockem_ctrl_set_delay
      Src: /src/librdkafka/tests/0076-produce_retry.c:142,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0076-produce_retry.c:148,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:152,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:153,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:156,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0076-produce_retry.c:157,1
    - Dst: sockem_ctrl_term
      Src: /src/librdkafka/tests/0076-produce_retry.c:160,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 4
    argNames:
    - topic
    - idempotence
    - try_fail
    - should_fail
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 69
    functionDepth: 8
    functionLinenumber: 69
    functionLinenumberEnd: 166
    functionName: do_test_produce_retries
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_consume_msgs_easy
    - TEST_ASSERT
    - test_wait_topic_exists
    - rd_kafka_destroy
    - test_produce_msgs
    - TEST_SAY
    - rd_kafka_err2str
    - test_socket_enable
    - sockem_ctrl_init
    - test_conf_get
    - test_create_handle
    - strcmp
    - test_auto_create_topic_rkt
    - test_id_generate
    - sockem_ctrl_set_delay
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - sockem_ctrl_term
    - test_conf_init
    - test_conf_set
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_retries(const char *topic,\n                                    int
      idempotence,\n                                    int try_fail,\n                                    int
      should_fail)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0076-produce_retry.c:193,1
    - Dst: printf
      Src: /src/librdkafka/tests/0076-produce_retry.c:197,1
    - Dst: closesocket
      Src: /src/librdkafka/tests/0076-produce_retry.c:200,1
    - Dst: close
      Src: /src/librdkafka/tests/0076-produce_retry.c:202,1
    - Dst: recv
      Src: /src/librdkafka/tests/0076-produce_retry.c:208,1
    - Dst: printf
      Src: /src/librdkafka/tests/0076-produce_retry.c:209,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0076-produce_retry.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 9
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 218
    functionName: on_request_sent
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 1
    functionsReached:
    - closesocket
    - printf
    - mtx_lock
    - close
    - mtx_unlock
    - recv
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_request_sent(rd_kafka_t *rk,\n                                           int
      sockfd,\n                                           const char *brokername,\n
      \                                          int32_t brokerid,\n                                           int16_t
      ApiKey,\n                                           int16_t ApiVersion,\n                                           int32_t
      CorrId,\n                                           size_t size,\n                                           void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_request_sent
      Src: /src/librdkafka/tests/0076-produce_retry.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: on_new_producer
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_request_sent
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_producer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:248,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0076-produce_retry.c:255,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0076-produce_retry.c:257,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0076-produce_retry.c:258,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:259,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:260,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:262,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:265,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:270,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0076-produce_retry.c:273,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0076-produce_retry.c:276,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0076-produce_retry.c:279,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0076-produce_retry.c:280,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0076-produce_retry.c:281,1
    - Dst: test_produce_sync
      Src: /src/librdkafka/tests/0076-produce_retry.c:283,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0076-produce_retry.c:287,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:289,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0076-produce_retry.c:290,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0076-produce_retry.c:293,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0076-produce_retry.c:294,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:296,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0076-produce_retry.c:299,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0076-produce_retry.c:300,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0076-produce_retry.c:302,1
    - Dst: test_get_partition_count
      Src: /src/librdkafka/tests/0076-produce_retry.c:305,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0076-produce_retry.c:305,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:307,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:308,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:310,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0076-produce_retry.c:311,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0076-produce_retry.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - topic
    - idempotence
    - try_fail
    - should_fail
    argTypes:
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 236
    functionDepth: 8
    functionLinenumber: 236
    functionLinenumberEnd: 324
    functionName: do_test_produce_retries_disconnect
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_consume_msgs_easy
    - TEST_ASSERT
    - mtx_init
    - test_wait_topic_exists
    - rd_kafka_conf_interceptor_add_on_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - test_produce_sync
    - test_get_partition_count
    - mtx_unlock
    - TEST_FAIL
    - test_create_handle
    - mtx_lock
    - test_id_generate
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_retries_disconnect(const char *topic,\n                                               int
      idempotence,\n                                               int try_fail,\n
      \                                              int should_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:333,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0076-produce_retry.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - requests
    - request_cnt
    argTypes:
    - rd_kafka_mock_request_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 335
    functionName: free_mock_requests
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void free_mock_requests(rd_kafka_mock_request_t **requests,\n                               size_t
      request_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0076-produce_retry.c:355,1
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0076-produce_retry.c:358,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0076-produce_retry.c:361,1
    - Dst: free_mock_requests
      Src: /src/librdkafka/tests/0076-produce_retry.c:365,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0076-produce_retry.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - mcluster
    - num
    - confidence_interval_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 369
    functionName: wait_produce_requests_done
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - free_mock_requests
    - rd_usleep
    - rd_kafka_mock_get_requests
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: int
    signature: "int wait_produce_requests_done(rd_kafka_mock_cluster_t *mcluster,\n
      \                                     int num,\n                                      int
      confidence_interval_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0076-produce_retry.c:381,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0076-produce_retry.c:383,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0076-produce_retry.c:385,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0076-produce_retry.c:386,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0076-produce_retry.c:388,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0076-produce_retry.c:389,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0076-produce_retry.c:390,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0076-produce_retry.c:392,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0076-produce_retry.c:393,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0076-produce_retry.c:395,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0076-produce_retry.c:397,1
    - Dst: wait_produce_requests_done
      Src: /src/librdkafka/tests/0076-produce_retry.c:399,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0076-produce_retry.c:400,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:404,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:405,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0076-produce_retry.c:406,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0076-produce_retry.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - mcluster
    - bootstraps
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 375
    functionDepth: 6
    functionLinenumber: 375
    functionLinenumberEnd: 408
    functionName: do_test_produce_retry_invalid_msg
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_mock_start_request_tracking
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - rd_kafka_mock_push_request_errors
    - wait_produce_requests_done
    - test_conf_init
    - TEST_ASSERT
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_conf_set_dr_msg_cb
    - test_create_producer_topic
    - rd_kafka_mock_stop_request_tracking
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_retry_invalid_msg(rd_kafka_mock_cluster_t *mcluster,\n
      \                                             const char *bootstraps)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0076-produce_retry.c:411,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0076-produce_retry.c:413,1
    - Dst: do_test_produce_retries
      Src: /src/librdkafka/tests/0076-produce_retry.c:418,1
    - Dst: do_test_produce_retries
      Src: /src/librdkafka/tests/0076-produce_retry.c:420,1
    - Dst: do_test_produce_retries
      Src: /src/librdkafka/tests/0076-produce_retry.c:423,1
    - Dst: do_test_produce_retries_disconnect
      Src: /src/librdkafka/tests/0076-produce_retry.c:428,1
    - Dst: do_test_produce_retries_disconnect
      Src: /src/librdkafka/tests/0076-produce_retry.c:430,1
    - Dst: do_test_produce_retries_disconnect
      Src: /src/librdkafka/tests/0076-produce_retry.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 410
    functionDepth: 9
    functionLinenumber: 410
    functionLinenumberEnd: 436
    functionName: main_0076_produce_retry
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - TEST_BRKVER
    - do_test_produce_retries
    - test_mk_topic_name
    - do_test_produce_retries_disconnect
    linkageType: ''
    returnType: int
    signature: int main_0076_produce_retry(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0076-produce_retry.c:442,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0076-produce_retry.c:443,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0076-produce_retry.c:447,1
    - Dst: do_test_produce_retry_invalid_msg
      Src: /src/librdkafka/tests/0076-produce_retry.c:448,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0076-produce_retry.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 7
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: main_0076_produce_retry_mock
    functionSourceFile: /src/librdkafka/tests/0076-produce_retry.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - do_test_produce_retry_invalid_msg
    - test_needs_auth
    - test_mock_cluster_destroy
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0076_produce_retry_mock(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:61,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0072-headers_ut.c:64,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/0072-headers_ut.c:66,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:70,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:71,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:73,1
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/tests/0072-headers_ut.c:79,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0072-headers_ut.c:83,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0072-headers_ut.c:89,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:90,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0072-headers_ut.c:94,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:100,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0072-headers_ut.c:107,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:110,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0072-headers_ut.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:121,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:131,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0072-headers_ut.c:131,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0072-headers_ut.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:137,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:142,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0072-headers_ut.c:142,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:149,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - what
    - expected
    - rkmessage
    argTypes:
    - char*
    - struct expect*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 155
    functionName: expect_check
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_header_get_all
    - rd_kafka_message_headers
    - strcmp
    - rd_kafka_err2str
    - TEST_ASSERT
    - strlen
    - memcpy
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: "int expect_check(const char *what,\n                        const
      struct expect *expected,\n                        const rd_kafka_message_t *rkmessage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:175,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:177,1
    - Dst: expect_check
      Src: /src/librdkafka/tests/0072-headers_ut.c:179,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/tests/0072-headers_ut.c:183,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:184,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:187,1
    - Dst: rd_kafka_message_set_headers
      Src: /src/librdkafka/tests/0072-headers_ut.c:190,1
    - Dst: expect_check
      Src: /src/librdkafka/tests/0072-headers_ut.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 25
    functionsReached:
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_headers_new
    - rd_kafka_message_set_headers
    - rd_kafka_header_add
    - expect_check
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get
      Src: /src/librdkafka/tests/0072-headers_ut.c:210,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:212,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0072-headers_ut.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:223,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0072-headers_ut.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - what
    - hdrs
    - name
    - expected
    - cnt
    argTypes:
    - char*
    - rd_kafka_headers_t*
    - char*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: expect_iter
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - strcmp
    - rd_kafka_header_get
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void expect_iter(const char *what,\n                        const
      rd_kafka_headers_t *hdrs,\n                        const char *name,\n                        const
      char **expected,\n                        size_t cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_check
      Src: /src/librdkafka/tests/0072-headers_ut.c:261,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/0072-headers_ut.c:263,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:267,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:268,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:271,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:273,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:274,1
    - Dst: expect_iter
      Src: /src/librdkafka/tests/0072-headers_ut.c:278,1
    - Dst: expect_iter
      Src: /src/librdkafka/tests/0072-headers_ut.c:279,1
    - Dst: expect_iter
      Src: /src/librdkafka/tests/0072-headers_ut.c:280,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:282,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:284,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:285,1
    - Dst: rd_kafka_header_remove
      Src: /src/librdkafka/tests/0072-headers_ut.c:288,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:290,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:291,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:294,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:296,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:297,1
    - Dst: rd_kafka_header_get_last
      Src: /src/librdkafka/tests/0072-headers_ut.c:301,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:302,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:302,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:303,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0072-headers_ut.c:303,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0072-headers_ut.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 308
    functionName: on_send1
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_header_remove
    - rd_kafka_message_headers
    - rd_kafka_header_get_last
    - strcmp
    - rd_kafka_err2str
    - TEST_ASSERT
    - expect_iter
    - rd_kafka_header_cnt
    - strlen
    - rd_kafka_header_add
    - expect_check
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send1(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_check
      Src: /src/librdkafka/tests/0072-headers_ut.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 324
    functionName: on_send2
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 0
    functionsReached:
    - expect_check
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send2(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0072-headers_ut.c:335,1
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0072-headers_ut.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: on_new
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 3
    functionsReached:
    - rd_kafka_interceptor_add_on_send
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new(rd_kafka_t *rk,\n                                  const
      rd_kafka_conf_t *conf,\n                                  void *ic_opaque,\n
      \                                 char *errstr,\n                                  size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0072-headers_ut.c:342,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0072-headers_ut.c:350,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0072-headers_ut.c:351,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0072-headers_ut.c:352,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0072-headers_ut.c:354,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0072-headers_ut.c:356,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0072-headers_ut.c:360,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0072-headers_ut.c:361,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0072-headers_ut.c:361,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0072-headers_ut.c:362,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:363,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:363,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/tests/0072-headers_ut.c:369,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:371,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:372,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:378,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:379,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:380,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:381,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:382,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0072-headers_ut.c:383,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:384,1
    - Dst: rd_kafka_headers_copy
      Src: /src/librdkafka/tests/0072-headers_ut.c:387,1
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/tests/0072-headers_ut.c:389,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:390,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/tests/0072-headers_ut.c:394,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0072-headers_ut.c:400,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0072-headers_ut.c:401,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0072-headers_ut.c:402,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0072-headers_ut.c:403,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:404,1
    - Dst: RD_KAFKA_V_HEADERS
      Src: /src/librdkafka/tests/0072-headers_ut.c:405,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:406,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:407,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:409,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0072-headers_ut.c:412,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0072-headers_ut.c:413,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0072-headers_ut.c:414,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0072-headers_ut.c:415,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0072-headers_ut.c:416,1
    - Dst: RD_KAFKA_V_HEADERS
      Src: /src/librdkafka/tests/0072-headers_ut.c:417,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:418,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:419,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0072-headers_ut.c:422,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0072-headers_ut.c:423,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0072-headers_ut.c:424,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0072-headers_ut.c:425,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:426,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:427,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:428,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:429,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:430,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0072-headers_ut.c:431,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:432,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0072-headers_ut.c:433,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0072-headers_ut.c:434,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0072-headers_ut.c:435,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0072-headers_ut.c:443,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0072-headers_ut.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 341
    functionDepth: 6
    functionLinenumber: 341
    functionLinenumberEnd: 448
    functionName: main_0072_headers_ut
    functionSourceFile: /src/librdkafka/tests/0072-headers_ut.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - RD_KAFKA_V_HEADER
    - TEST_ASSERT
    - rd_kafka_headers_new
    - rd_kafka_headers_copy
    - rd_kafka_conf_interceptor_add_on_new
    - rd_kafka_destroy
    - rd_kafka_err2str
    - RD_KAFKA_V_HEADERS
    - rd_kafka_header_add
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - rd_kafka_headers_destroy
    - rd_kafka_header_cnt
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - rd_kafka_conf_new
    - RD_KAFKA_V_TOPIC
    - test_conf_set
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: int
    signature: int main_0072_headers_ut(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0025-timers.c:50,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0025-timers.c:58,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0025-timers.c:61,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0025-timers.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rk
    - json
    - json_len
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: stats_cb
    functionSourceFile: /src/librdkafka/tests/0025-timers.c
    functionUses: 2
    functionsReached:
    - TEST_WARN
    - strcmp
    - TEST_SAY
    - test_clock
    linkageType: ''
    returnType: int
    signature: int stats_cb(rd_kafka_t *rk, char *json, size_t json_len, void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/tests/0025-timers.c:91,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0025-timers.c:95,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0025-timers.c:97,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0025-timers.c:98,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/tests/0025-timers.c:99,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0025-timers.c:101,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0025-timers.c:102,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0025-timers.c:103,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0025-timers.c:105,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0025-timers.c:113,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0025-timers.c:114,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0025-timers.c:115,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0025-timers.c:117,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0025-timers.c:118,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0025-timers.c:123,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0025-timers.c:126,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0025-timers.c:134,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0025-timers.c:137,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0025-timers.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 85
    functionDepth: 6
    functionLinenumber: 85
    functionLinenumberEnd: 141
    functionName: do_test_stats_timer
    functionSourceFile: /src/librdkafka/tests/0025-timers.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - TIMING_DURATION
    - test_conf_init
    - TIMING_START
    - TEST_SAY
    - rd_kafka_poll
    - memset
    - TIMING_STOP
    - TEST_WARN
    - test_conf_set
    - TEST_FAIL
    - rd_kafka_conf_set_stats_cb
    linkageType: ''
    returnType: void
    signature: void do_test_stats_timer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_stats_timer
      Src: /src/librdkafka/tests/0025-timers.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 7
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: main_0025_timers
    functionSourceFile: /src/librdkafka/tests/0025-timers.c
    functionUses: 0
    functionsReached:
    - do_test_stats_timer
    linkageType: ''
    returnType: int
    signature: int main_0025_timers(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct args*::c::closed
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:54,1
    - Dst: struct args*::queue::consume
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: run_polling_thread
    functionSourceFile: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    functionUses: 0
    functionsReached:
    - struct args*::c::closed
    - struct args*::queue::consume
    linkageType: ''
    returnType: int
    signature: int run_polling_thread(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:70,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - thrd
    - args
    argTypes:
    - thrd_t*
    - struct args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: start_polling_thread
    functionSourceFile: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - thrd_create
    linkageType: ''
    returnType: void
    signature: void start_polling_thread(thrd_t *thrd, struct args *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:76,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - thrd
    - args
    argTypes:
    - thrd_t
    - struct args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: stop_polling_thread
    functionSourceFile: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    functionUses: 0
    functionsReached:
    - thrd_join
    - Test::Fail
    linkageType: ''
    returnType: void
    signature: void stop_polling_thread(thrd_t thrd, struct args *args)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tostr
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:86,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:89,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:89,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:94,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:103,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:104,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:107,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:107,1
    - Dst: Test::produce_msgs
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:110,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:116,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:117,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:118,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:119,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:121,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:123,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:128,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:130,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:131,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:131,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:136,1
    - Dst: RdKafka::KafkaConsumer*::unsubscribe
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:145,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:146,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:146,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:150,1
    - Dst: start_polling_thread
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:155,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:159,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:160,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:161,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:161,1
    - Dst: stop_polling_thread
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:163,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:165,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:167,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:168,1
    - Dst: RdKafka::Error*::code
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:169,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:170,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:171,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:177,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:178,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:178,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:181,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:182,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:183,1
    - Dst: RdKafka::KafkaConsumer*::commitAsync
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:189,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:190,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:191,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:195,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - do_subscribe
    - do_unsubscribe
    - do_close
    - with_queue
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 198
    functionName: do_test_consumer_close
    functionSourceFile: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::KafkaConsumer*::commitAsync
    - RdKafka::Error*::str
    - Test::conf_init
    - RdKafka::KafkaConsumer*::consume
    - test_mock_cluster_new
    - Test::conf_set
    - start_polling_thread
    - stop_polling_thread
    - std::string::c_str
    - SUB_TEST
    - thrd_create
    - RdKafka::err2str
    - test_mock_cluster_destroy
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - SUB_TEST_PASS
    - Test::Say
    - RdKafka::KafkaConsumer*::unsubscribe
    - Test::Fail
    - Test::produce_msgs
    - tostr
    - std::vector::push_back
    - RdKafka::Error*::code
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer_close(bool do_subscribe,\n                                   bool
      do_unsubscribe,\n                                   bool do_close,\n                                   bool
      with_queue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:202,1
    - Dst: do_test_consumer_close
      Src: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: main_0116_kafkaconsumer_close
    functionSourceFile: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    functionUses: 0
    functionsReached:
    - do_test_consumer_close
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0116_kafkaconsumer_close(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0080-admin_ut.c:52,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:53,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:56,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:56,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0080-admin_ut.c:58,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/0080-admin_ut.c:59,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0080-admin_ut.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - rkev
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_event_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: background_event_cb
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - rd_sleep
    - TEST_ASSERT
    - cnd_broadcast
    - rd_kafka_event_name
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void background_event_cb(rd_kafka_t *rk, rd_kafka_event_t *rkev, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0080-admin_ut.c:65,1
    - Dst: cnd_wait
      Src: /src/librdkafka/tests/0080-admin_ut.c:67,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0080-admin_ut.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: wait_background_event_cb
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - cnd_wait
    linkageType: ''
    returnType: rd_kafka_event_t
    signature: rd_kafka_event_t *wait_background_event_cb(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:102,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:103,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:105,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:112,1
    - Dst: jitter
      Src: /src/librdkafka/tests/0080-admin_ut.c:114,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:118,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0080-admin_ut.c:126,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:130,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:130,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0080-admin_ut.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:134,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:134,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0080-admin_ut.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:138,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:138,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0080-admin_ut.c:158,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:162,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:165,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0080-admin_ut.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:171,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0080-admin_ut.c:175,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:177,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:178,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0080-admin_ut.c:184,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:187,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:188,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0080-admin_ut.c:194,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:197,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:198,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:205,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:208,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:210,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:210,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:213,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:216,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:217,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:218,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:219,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:224,1
    - Dst: wait_background_event_cb
      Src: /src/librdkafka/tests/0080-admin_ut.c:225,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:228,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:229,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:232,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:233,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:234,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:234,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:235,1
    - Dst: rd_kafka_event_CreateTopics_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:238,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:239,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:240,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:242,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:243,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:247,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:248,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:249,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:251,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:252,1
    - Dst: rd_kafka_CreateTopics_result_topics
      Src: /src/librdkafka/tests/0080-admin_ut.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:256,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:260,1
    - Dst: rd_kafka_NewTopic_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:262,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:265,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:268,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_background_event_cb
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 271
    functionName: do_test_CreateTopics
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - jitter
    - rd_kafka_event_CreateTopics_result
    - rd_kafka_CreateTopics_result_topics
    - rd_kafka_queue_poll
    - rd_kafka_CreateTopics
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - wait_background_event_cb
    - rd_kafka_event_destroy
    - rd_kafka_NewTopic_destroy_array
    - TIMING_DURATION
    - rd_kafka_NewTopic_set_replica_assignment
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_NewTopic_set_config
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - rd_kafka_NewTopic_new
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_CreateTopics(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      with_background_event_cb,\n                                 int with_options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:301,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:302,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:304,1
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:307,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:308,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:311,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:315,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:317,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:317,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:321,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:325,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:326,1
    - Dst: rd_kafka_DeleteTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:327,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:328,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:331,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:332,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:333,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:334,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:335,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:335,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:336,1
    - Dst: rd_kafka_event_DeleteTopics_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:339,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:340,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:341,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:343,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:344,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:348,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:350,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:352,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:353,1
    - Dst: rd_kafka_DeleteTopics_result_topics
      Src: /src/librdkafka/tests/0080-admin_ut.c:356,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:357,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:361,1
    - Dst: rd_kafka_DeleteTopic_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:363,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:366,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:369,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 373
    functionName: do_test_DeleteTopics
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - rd_kafka_DeleteTopics
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_DeleteTopics_result
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_DeleteTopic_destroy_array
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteTopics_result_topics
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_DeleteTopic_new
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteTopics(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      with_options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:403,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:404,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:406,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0080-admin_ut.c:409,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:409,1
    - Dst: rd_kafka_DeleteGroup_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:410,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:414,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:418,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:420,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:420,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:424,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:428,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:429,1
    - Dst: rd_kafka_DeleteGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:430,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:431,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:437,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:438,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:439,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:440,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:441,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:441,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:442,1
    - Dst: rd_kafka_event_DeleteGroups_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:445,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:446,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:447,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:449,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:450,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:454,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:455,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:456,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:458,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:459,1
    - Dst: rd_kafka_DeleteGroups_result_groups
      Src: /src/librdkafka/tests/0080-admin_ut.c:462,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:463,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:470,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:470,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:471,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:475,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:475,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:475,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:479,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:480,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:483,1
    - Dst: rd_kafka_DeleteGroup_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:487,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0080-admin_ut.c:488,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:492,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:495,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:498,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - destroy
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 499
    functionName: do_test_DeleteGroups
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_group_result_error
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_DeleteGroup_destroy
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteGroups_result_groups
    - rd_kafka_DeleteGroups
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_group_result_name
    - strcmp
    - rd_kafka_event_name
    - rd_kafka_event_DeleteGroups_result
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_free
    - rd_kafka_DeleteGroup_new
    - TIMING_START
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteGroups(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      with_options,\n                                 rd_bool_t destroy)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:525,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:526,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:528,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:541,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_states
      Src: /src/librdkafka/tests/0080-admin_ut.c:545,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:547,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:547,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:550,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_types
      Src: /src/librdkafka/tests/0080-admin_ut.c:553,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:555,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:555,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:558,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_types
      Src: /src/librdkafka/tests/0080-admin_ut.c:562,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:564,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:564,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:567,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0080-admin_ut.c:570,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:570,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:575,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:579,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:580,1
    - Dst: rd_kafka_ListConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:581,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:582,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:588,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:589,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:590,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:591,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:592,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:593,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:593,1
    - Dst: rd_kafka_event_ListConsumerGroups_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:596,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:597,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:598,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:600,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:601,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:605,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:606,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:607,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:610,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:610,1
    - Dst: rd_kafka_ListConsumerGroups_result_errors
      Src: /src/librdkafka/tests/0080-admin_ut.c:613,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:614,1
    - Dst: rd_kafka_ListConsumerGroups_result_valid
      Src: /src/librdkafka/tests/0080-admin_ut.c:616,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:617,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:620,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:621,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:622,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:625,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:626,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:628,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:632,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:635,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - destroy
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 637
    functionName: do_test_ListConsumerGroups
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_ListConsumerGroups_result_valid
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_event_ListConsumerGroups_result
    - rd_kafka_ListConsumerGroups
    - rd_kafka_ListConsumerGroups_result_errors
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_queue_new
    - rd_kafka_AdminOptions_set_match_consumer_group_states
    - rd_kafka_event_error
    - rd_kafka_AdminOptions_set_match_consumer_group_types
    linkageType: ''
    returnType: void
    signature: "void do_test_ListConsumerGroups(const char *what,\n                                       rd_kafka_t
      *rk,\n                                       rd_kafka_queue_t *useq,\n                                       int
      with_options,\n                                       rd_bool_t destroy)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:667,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:668,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:670,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0080-admin_ut.c:673,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:673,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:677,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:681,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:683,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:683,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0080-admin_ut.c:685,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/0080-admin_ut.c:687,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:690,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:691,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0080-admin_ut.c:692,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:698,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:702,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:703,1
    - Dst: rd_kafka_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:704,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:706,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:712,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:713,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:714,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:715,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:716,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:717,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:717,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:720,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:721,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:722,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:724,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:725,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:729,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:730,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:731,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:734,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:734,1
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/tests/0080-admin_ut.c:739,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:740,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:749,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:750,1
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/tests/0080-admin_ut.c:751,1
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/tests/0080-admin_ut.c:755,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:756,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0080-admin_ut.c:757,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:757,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:761,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:762,1
    - Dst: rd_kafka_ConsumerGroupDescription_authorized_operations
      Src: /src/librdkafka/tests/0080-admin_ut.c:764,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:766,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:771,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0080-admin_ut.c:775,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:779,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:782,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - destroy
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 786
    functionName: do_test_DescribeConsumerGroups
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - rd_kafka_event_DescribeConsumerGroups_result
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_ConsumerGroupDescription_error
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - TEST_FAIL
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - rd_kafka_ConsumerGroupDescription_authorized_operations
    - SUB_TEST_QUICK
    - rd_free
    - rd_kafka_ConsumerGroupDescription_group_id
    - rd_kafka_DescribeConsumerGroups_result_groups
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_DescribeConsumerGroups
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeConsumerGroups(const char *what,\n                                           rd_kafka_t
      *rk,\n                                           rd_kafka_queue_t *useq,\n                                           int
      with_options,\n                                           rd_bool_t destroy)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:816,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:817,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:819,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0080-admin_ut.c:822,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:822,1
    - Dst: rd_kafka_TopicCollection_of_topic_names
      Src: /src/librdkafka/tests/0080-admin_ut.c:825,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:829,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:833,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:835,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:835,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0080-admin_ut.c:837,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/0080-admin_ut.c:839,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:842,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:843,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0080-admin_ut.c:844,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:850,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:854,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:855,1
    - Dst: rd_kafka_DescribeTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:856,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:857,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:860,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:861,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:862,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:863,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:864,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:864,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:865,1
    - Dst: rd_kafka_event_DescribeTopics_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:868,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:869,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:870,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:872,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:873,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:877,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:878,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:879,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:881,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:882,1
    - Dst: rd_kafka_DescribeTopics_result_topics
      Src: /src/librdkafka/tests/0080-admin_ut.c:885,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:886,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:890,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0080-admin_ut.c:893,1
    - Dst: rd_kafka_TopicCollection_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:895,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:898,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:901,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:904,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 905
    functionName: do_test_DescribeTopics
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_DescribeTopics_result_topics
    - fprintf
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_DescribeTopics
    - TEST_FAIL
    - rd_kafka_event_opaque
    - rd_kafka_event_DescribeTopics_result
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_TopicCollection_of_topic_names
    - rd_kafka_TopicCollection_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_free
    - TIMING_START
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeTopics(const char *what,\n                                   rd_kafka_t
      *rk,\n                                   rd_kafka_queue_t *useq,\n                                   int
      with_options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:929,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:930,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:932,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:935,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:939,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:941,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:941,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0080-admin_ut.c:943,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/0080-admin_ut.c:945,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:948,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:949,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0080-admin_ut.c:950,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:956,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:960,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:961,1
    - Dst: rd_kafka_DescribeCluster
      Src: /src/librdkafka/tests/0080-admin_ut.c:962,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:963,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:966,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:967,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:968,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:969,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:970,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:971,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:971,1
    - Dst: rd_kafka_event_DescribeCluster_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:974,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:975,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:976,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:978,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:979,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:983,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:984,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:985,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:987,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:988,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:990,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:993,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:996,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:998,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 999
    functionName: do_test_DescribeCluster
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - TEST_FAIL
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DescribeCluster
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_queue_new
    - rd_kafka_event_DescribeCluster_result
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeCluster(const char *what,\n                                    rd_kafka_t
      *rk,\n                                    rd_kafka_queue_t *useq,\n                                    int
      with_options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1021,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1022,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1024,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0080-admin_ut.c:1027,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1027,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1031,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1036,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1038,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1038,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1042,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1046,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1049,1
    - Dst: rd_kafka_DeleteRecords_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1052,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1053,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1055,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1056,1
    - Dst: rd_kafka_DeleteRecords
      Src: /src/librdkafka/tests/0080-admin_ut.c:1057,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1058,1
    - Dst: rd_kafka_DeleteRecords_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1060,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1066,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1067,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1068,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1069,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1070,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1070,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1071,1
    - Dst: rd_kafka_event_DeleteRecords_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1074,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1075,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1076,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1078,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1079,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1083,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1084,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1086,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1091,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1094,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0080-admin_ut.c:1097,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1101,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - destroy
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1102
    functionName: do_test_DeleteRecords
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_DeleteRecords
    - TIMING_ASSERT
    - rd_kafka_DeleteRecords_new
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteRecords_destroy
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - rd_kafka_event_DeleteRecords_result
    - SUB_TEST_QUICK
    - rd_free
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteRecords(const char *what,\n                                  rd_kafka_t
      *rk,\n                                  rd_kafka_queue_t *useq,\n                                  int
      with_options,\n                                  rd_bool_t destroy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1122,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1123,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1125,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1129,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1130,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1131,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1132,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1133,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1135,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1139,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1144,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1146,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1146,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1150,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1154,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1155,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:1157,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1159,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1162,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1163,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1164,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1165,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1166,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1167,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1167,1
    - Dst: rd_kafka_event_DeleteConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1170,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1171,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1172,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1174,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1175,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1179,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1180,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1182,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1185,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1188,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1190,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1196
    functionName: do_test_DeleteConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - rd_kafka_DeleteConsumerGroupOffsets_new
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_DeleteConsumerGroupOffsets_result
    - rd_kafka_queue_destroy
    - TIMING_ASSERT
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DeleteConsumerGroupOffsets
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_queue_new
    - rd_kafka_DeleteConsumerGroupOffsets_destroy_array
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteConsumerGroupOffsets(const char *what,\n                                               rd_kafka_t
      *rk,\n                                               rd_kafka_queue_t *useq,\n
      \                                              int with_options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1218,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1222,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1226,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1230,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1231,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1234,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1238,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1238,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1243,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1247,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1247,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1252,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1256,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1256,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1261,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1266,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1267,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1269,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1271,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1278,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1283,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1284,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1286,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1288,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1296,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1301,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1302,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1304,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1305,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1312,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1317,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1318,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1320,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1322,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1327,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1204
    functionDepth: 2
    functionLinenumber: 1204
    functionLinenumberEnd: 1328
    functionName: do_test_AclBinding
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_ASSERT
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - SUB_TEST_PASS
    - rd_kafka_AclBinding_new
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_AclBinding()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1350,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1354,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1358,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1362,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1363,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1366,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1370,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1371,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1374,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1378,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1379,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1382,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1386,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1387,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1391,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1396,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1398,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1400,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1402,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1409,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1414,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1416,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1418,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1420,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1428,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1433,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1435,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1437,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1438,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1445,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1450,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1452,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1454,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1456,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1461,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1336
    functionDepth: 2
    functionLinenumber: 1336
    functionLinenumberEnd: 1462
    functionName: do_test_AclBindingFilter
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AclBindingFilter_new
    - strcmp
    - TEST_ASSERT
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_AclBindingFilter()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1494,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1494,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1497,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1503,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1504,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1512,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1515,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1517,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1517,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1520,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1523,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1524,1
    - Dst: rd_kafka_CreateAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:1525,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1526,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1531,1
    - Dst: wait_background_event_cb
      Src: /src/librdkafka/tests/0080-admin_ut.c:1532,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1535,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1536,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1539,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1540,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1541,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1541,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1542,1
    - Dst: rd_kafka_event_CreateAcls_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1545,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1546,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1547,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1549,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1550,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1554,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:1555,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1556,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1558,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1559,1
    - Dst: rd_kafka_CreateAcls_result_acls
      Src: /src/librdkafka/tests/0080-admin_ut.c:1562,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1563,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1567,1
    - Dst: rd_kafka_AclBinding_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1569,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1572,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1575,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_background_event_cb
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1471
    functionDepth: 2
    functionLinenumber: 1471
    functionLinenumberEnd: 1580
    functionName: do_test_CreateAcls
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_CreateAcls_result_acls
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - wait_background_event_cb
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_CreateAcls
    - rd_kafka_event_CreateAcls_result
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - rd_kafka_AclBinding_destroy_array
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_CreateAcls(const char *what,\n                               rd_kafka_t
      *rk,\n                               rd_kafka_queue_t *useq,\n                               rd_bool_t
      with_background_event_cb,\n                               rd_bool_t with_options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1609,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1610,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1612,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1617,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1618,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1624,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1627,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1629,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1629,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1632,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1635,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1636,1
    - Dst: rd_kafka_DescribeAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:1637,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1638,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1643,1
    - Dst: wait_background_event_cb
      Src: /src/librdkafka/tests/0080-admin_ut.c:1644,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1647,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1648,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1651,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1652,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1653,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1653,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1654,1
    - Dst: rd_kafka_event_DescribeAcls_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1657,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1658,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1659,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1661,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1662,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1666,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:1667,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1668,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1670,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1671,1
    - Dst: rd_kafka_DescribeAcls_result_acls
      Src: /src/librdkafka/tests/0080-admin_ut.c:1674,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1675,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1679,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1681,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1684,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1687,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_background_event_cb
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1588
    functionDepth: 2
    functionLinenumber: 1588
    functionLinenumberEnd: 1690
    functionName: do_test_DescribeAcls
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AclBindingFilter_new
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - wait_background_event_cb
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DescribeAcls
    - rd_kafka_DescribeAcls_result_acls
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - rd_kafka_event_DescribeAcls_result
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeAcls(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 rd_bool_t
      with_background_event_cb,\n                                 rd_bool_t with_options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1722,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1722,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1725,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1731,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1732,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1740,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1743,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1745,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1745,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1748,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1751,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1752,1
    - Dst: rd_kafka_DeleteAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:1753,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1755,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1760,1
    - Dst: wait_background_event_cb
      Src: /src/librdkafka/tests/0080-admin_ut.c:1761,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1764,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1765,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1768,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1769,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1770,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1770,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1771,1
    - Dst: rd_kafka_event_DeleteAcls_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1774,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1775,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1776,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1778,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1779,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1783,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:1784,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1785,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1787,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1788,1
    - Dst: rd_kafka_DeleteAcls_result_responses
      Src: /src/librdkafka/tests/0080-admin_ut.c:1792,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1793,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1797,1
    - Dst: rd_kafka_AclBinding_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1799,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1802,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1805,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:1809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_background_event_cb
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1699
    functionDepth: 2
    functionLinenumber: 1699
    functionLinenumberEnd: 1810
    functionName: do_test_DeleteAcls
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_AclBindingFilter_new
    - rd_kafka_queue_poll
    - rd_kafka_DeleteAcls_result_responses
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - wait_background_event_cb
    - rd_kafka_DeleteAcls
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_DeleteAcls_result
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - rd_kafka_AclBinding_destroy_array
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteAcls(const char *what,\n                               rd_kafka_t
      *rk,\n                               rd_kafka_queue_t *useq,\n                               rd_bool_t
      with_background_event_cb,\n                               rd_bool_t with_options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:1836,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1837,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1839,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1844,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1845,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1847,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1849,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1851,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1853,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1857,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1858,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1860,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1864,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1865,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1868,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1871,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1874,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1877,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1879,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1883,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1884,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1887,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:1890,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1894,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1896,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:1900,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:1905,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1907,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:1907,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:1911,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1916,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1917,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:1919,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1921,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1922,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1926,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1927,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1928,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1929,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1930,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1931,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1931,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1933,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1934,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1935,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1937,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:1938,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1939,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1940,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1942,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1943,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1943,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1949,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1952,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1953,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:1955,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1957,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1958,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1961,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1962,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1963,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1964,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1965,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1966,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:1966,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:1968,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1969,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1970,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:1972,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:1973,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1974,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1975,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:1977,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1978,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:1979,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:1983,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1986,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1987,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:1989,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:1991,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:1992,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:1995,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:1996,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1997,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:1998,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:1999,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2000,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:2000,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2002,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2003,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2004,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2006,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2007,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2008,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2009,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2011,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2012,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2012,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2016,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2019,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2020,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2022,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:2024,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2026,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2027,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2028,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2029,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2030,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2031,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:2031,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2033,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2034,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2035,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2036,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2037,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2040,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2041,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2042,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2043,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2045,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2046,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2046,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2052,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2055,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2058,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2060,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 108
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - with_options
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 2066
    functionName: do_test_AlterConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - TIMING_ASSERT
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AlterConsumerGroupOffsets_destroy_array
    - rd_kafka_event_AlterConsumerGroupOffsets_result
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_AlterConsumerGroupOffsets
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_AlterConsumerGroupOffsets_new
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_AlterConsumerGroupOffsets(const char *what,\n                                              rd_kafka_t
      *rk,\n                                              rd_kafka_queue_t *useq,\n
      \                                             int with_options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2092,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2093,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2095,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2099,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2100,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2101,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2102,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2104,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2107,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2110,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2113,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2114,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2116,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2118,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2119,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2120,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2121,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2122,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2124,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2128,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2133,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2135,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2135,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2139,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2143,1
    - Dst: rd_kafka_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2145,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2147,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2150,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2151,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2152,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2155,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2156,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2158,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2159,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2160,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2166,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2169,1
    - Dst: rd_kafka_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2172,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2174,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2177,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2178,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2179,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2182,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2183,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2185,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2186,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2186,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2191,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2194,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2195,1
    - Dst: rd_kafka_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2197,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2199,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:2201,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2204,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2205,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2206,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2207,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2208,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2209,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:2209,1
    - Dst: rd_kafka_event_ListConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2212,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2213,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2214,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2216,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2217,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2221,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2222,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2224,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2225,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2225,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2232,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2235,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2238,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - null_toppars
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2069
    functionDepth: 1
    functionLinenumber: 2069
    functionLinenumberEnd: 2243
    functionName: do_test_ListConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_event_ListConsumerGroupOffsets_result
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - TIMING_ASSERT
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_ListConsumerGroupOffsets_new
    - rd_kafka_ListConsumerGroupOffsets
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - TIMING_START
    - rd_kafka_ListConsumerGroupOffsets_destroy_array
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_ListConsumerGroupOffsets(const char *what,\n                                             rd_kafka_t
      *rk,\n                                             rd_kafka_queue_t *useq,\n
      \                                            int with_options,\n                                             rd_bool_t
      null_toppars)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2253,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2255,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2264,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0080-admin_ut.c:2266,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2266,1
    - Dst: rd_kafka_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:2269,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0080-admin_ut.c:2269,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2271,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2273,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2276,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2277,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2279,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2279,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2281,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2284,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - what
    - rk
    - useq
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2287
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2287
    functionName: do_test_DescribeUserScramCredentials
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - rd_kafka_DescribeUserScramCredentials
    - test_wait_admin_result
    - rd_kafka_err2str
    - TEST_ASSERT
    - RD_ARRAY_SIZE
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_queue_destroy
    - SUB_TEST_PASS
    - rd_kafka_queue_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeUserScramCredentials(const char *what,\n                                                 rd_kafka_t
      *rk,\n                                                 rd_kafka_queue_t *useq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2297,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2299,1
    - Dst: rd_kafka_UserScramCredentialUpsertion_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2306,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2309,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0080-admin_ut.c:2311,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2311,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:2314,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2316,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0080-admin_ut.c:2317,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2318,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2320,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2323,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2324,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2326,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2326,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2328,1
    - Dst: rd_kafka_UserScramCredentialDeletion_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2332,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2334,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0080-admin_ut.c:2336,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2336,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:2342,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2344,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2347,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2348,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2350,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2350,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2352,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:2357,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0080-admin_ut.c:2358,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2359,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2362,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2363,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2365,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2365,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2367,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2370,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0080-admin_ut.c:2371,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2372,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2375,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - what
    - rk
    - useq
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2289
    functionDepth: 1
    functionLinenumber: 2289
    functionLinenumberEnd: 2378
    functionName: do_test_AlterUserScramCredentials
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - rd_kafka_UserScramCredentialUpsertion_new
    - test_wait_admin_result
    - rd_kafka_AlterUserScramCredentials
    - rd_kafka_UserScramCredentialAlteration_destroy_array
    - rd_kafka_err2str
    - TEST_ASSERT
    - RD_ARRAY_SIZE
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_UserScramCredentialDeletion_new
    - rd_kafka_queue_destroy
    - SUB_TEST_PASS
    - rd_kafka_queue_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void do_test_AlterUserScramCredentials(const char *what,\n                                              rd_kafka_t
      *rk,\n                                              rd_kafka_queue_t *useq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2398,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2399,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2401,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2403,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2404,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2405,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2406,1
    - Dst: rd_kafka_ElectLeaders_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2407,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2408,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2410,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2411,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2412,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2413,1
    - Dst: rd_kafka_ElectLeaders_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2415,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2416,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2419,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2424,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2426,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0080-admin_ut.c:2426,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2430,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2435,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2436,1
    - Dst: rd_kafka_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:2437,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:2438,1
    - Dst: rd_kafka_ElectLeaders_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2439,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2442,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2443,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2444,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2445,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2446,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2446,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:2447,1
    - Dst: rd_kafka_event_ElectLeaders_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2450,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2451,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2452,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2454,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2455,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2456,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2457,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2459,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2460,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2460,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2464,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2467,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2468,1
    - Dst: rd_kafka_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:2469,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0080-admin_ut.c:2470,1
    - Dst: rd_kafka_ElectLeaders_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2471,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2474,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2475,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2476,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2477,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2478,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2478,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0080-admin_ut.c:2479,1
    - Dst: rd_kafka_event_ElectLeaders_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2482,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2483,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2484,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2485,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2486,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2489,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2490,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2491,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2492,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2494,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2495,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0080-admin_ut.c:2495,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2501,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2504,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2506,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2508,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 66
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - with_options
    - election_type
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_kafka_ElectionType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2380
    functionDepth: 1
    functionLinenumber: 2380
    functionLinenumberEnd: 2509
    functionName: do_test_ElectLeaders
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - TIMING_ASSERT
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_opaque
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_ElectLeaders_result
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_ElectLeaders_new
    - SUB_TEST_QUICK
    - rd_kafka_ElectLeaders_destroy
    - rd_kafka_ElectLeaders
    - TIMING_START
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_ElectLeaders(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      with_options,\n                                 rd_kafka_ElectionType_t election_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2540,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2542,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2543,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2545,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0080-admin_ut.c:2547,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2550,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2551,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2552,1
    - Dst: test_DeleteGroups_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2553,1
    - Dst: test_DeleteRecords_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2554,1
    - Dst: test_CreatePartitions_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2555,1
    - Dst: test_DeleteConsumerGroupOffsets_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2556,1
    - Dst: test_DeleteConsumerGroupOffsets_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2558,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0080-admin_ut.c:2560,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2562,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2568,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2569,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2571,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2571,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2572,1
    - Dst: rd_kafka_event_opaque
      Src: /src/librdkafka/tests/0080-admin_ut.c:2574,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2575,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2577,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0080-admin_ut.c:2577,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0080-admin_ut.c:2579,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2580,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2582,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2587,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2521
    functionDepth: 3
    functionLinenumber: 2521
    functionLinenumberEnd: 2591
    functionName: do_test_mix
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - test_CreatePartitions_simple
    - test_DeleteConsumerGroupOffsets_simple
    - test_CreateTopics_simple
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_event_type
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_event_opaque
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - test_DeleteGroups_simple
    - test_DeleteRecords_simple
    - test_DeleteTopics_simple
    linkageType: ''
    returnType: void
    signature: void do_test_mix(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2609,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2612,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2614,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2617,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2618,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2626,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2628,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0080-admin_ut.c:2631,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0080-admin_ut.c:2635,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2641,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0080-admin_ut.c:2642,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2644,1
    - Dst: rd_kafka_AlterConfigs
      Src: /src/librdkafka/tests/0080-admin_ut.c:2647,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2649,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2652,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2652,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2654,1
    - Dst: rd_kafka_event_AlterConfigs_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2656,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2657,1
    - Dst: rd_kafka_AlterConfigs_result_resources
      Src: /src/librdkafka/tests/0080-admin_ut.c:2659,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2660,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2663,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/0080-admin_ut.c:2666,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2668,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/tests/0080-admin_ut.c:2669,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2671,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2674,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0080-admin_ut.c:2674,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0080-admin_ut.c:2676,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/0080-admin_ut.c:2678,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2679,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/0080-admin_ut.c:2681,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2682,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2685,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2688
    functionName: do_test_configs
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigResource_set_config
    - TEST_ASSERT
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - test_wait_admin_result
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AlterConfigs
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_ConfigResource_destroy_array
    - rd_kafka_DescribeConfigs_result_resources
    - SUB_TEST_PASS
    - rd_kafka_DescribeConfigs
    - SUB_TEST_QUICK
    - rd_kafka_AlterConfigs_result_resources
    - rd_kafka_event_DescribeConfigs_result
    - rd_kafka_ConfigResource_new
    - rd_kafka_event_AlterConfigs_result
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_configs(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0080-admin_ut.c:2703,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0080-admin_ut.c:2706,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2709,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2710,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0080-admin_ut.c:2711,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2712,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0080-admin_ut.c:2713,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2716,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2717,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0080-admin_ut.c:2720,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2722,1
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2724,1
    - Dst: rd_kafka_DeleteTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2725,1
    - Dst: rd_kafka_DeleteTopic_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2726,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0080-admin_ut.c:2730,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2731,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0080-admin_ut.c:2732,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2734,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0080-admin_ut.c:2736,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2739,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0080-admin_ut.c:2740,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2741,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0080-admin_ut.c:2742,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0080-admin_ut.c:2744,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - cltype
    - with_mainq
    argTypes:
    - rd_kafka_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2748
    functionName: do_test_unclean_destroy
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_DeleteTopics
    - TEST_ASSERT
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - TEST_SAY
    - test_consumer_group_protocol
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_DeleteTopic_destroy
    - SUB_TEST_QUICK
    - TIMING_STOP
    - test_conf_init
    - TIMING_START
    - rd_kafka_DeleteTopic_new
    - test_timeout_set
    - test_conf_set
    - rd_kafka_queue_get_main
    - rd_kafka_new
    - rd_kafka_queue_new
    linkageType: ''
    returnType: void
    signature: void do_test_unclean_destroy(rd_kafka_type_t cltype, int with_mainq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2774
    functionName: do_test_options
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_test_options(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0080-admin_ut.c:2917,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2920,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2921,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0080-admin_ut.c:2922,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0080-admin_ut.c:2923,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0080-admin_ut.c:2924,1
    - Dst: rd_kafka_conf_set_background_event_cb
      Src: /src/librdkafka/tests/0080-admin_ut.c:2927,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0080-admin_ut.c:2929,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0080-admin_ut.c:2930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - cltype
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2933
      start: 2912
    functionDepth: 5
    functionLinenumber: 2912
    functionLinenumberEnd: 2933
    functionName: create_admin_client
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_background_event_cb
    - test_conf_init
    - TEST_ASSERT
    - test_consumer_group_protocol
    - test_conf_set
    - rd_kafka_new
    linkageType: ''
    returnType: rd_kafka_t
    signature: rd_kafka_t *create_admin_client(rd_kafka_type_t cltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0080-admin_ut.c:2940,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/0080-admin_ut.c:2941,1
    - Dst: do_test_unclean_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2943,1
    - Dst: do_test_unclean_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:2944,1
    - Dst: create_admin_client
      Src: /src/librdkafka/tests/0080-admin_ut.c:2946,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0080-admin_ut.c:2948,1
    - Dst: rd_kafka_queue_get_background
      Src: /src/librdkafka/tests/0080-admin_ut.c:2949,1
    - Dst: do_test_options
      Src: /src/librdkafka/tests/0080-admin_ut.c:2951,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2953,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2954,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2956,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2957,1
    - Dst: do_test_DeleteTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2959,1
    - Dst: do_test_DeleteTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2960,1
    - Dst: do_test_DeleteTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2961,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2963,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2965,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2967,1
    - Dst: do_test_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2969,1
    - Dst: do_test_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2971,1
    - Dst: do_test_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2973,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2976,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2977,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0080-admin_ut.c:2978,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0080-admin_ut.c:2980,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0080-admin_ut.c:2981,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0080-admin_ut.c:2982,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2984,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2985,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:2986,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0080-admin_ut.c:2988,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0080-admin_ut.c:2989,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0080-admin_ut.c:2990,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2992,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2994,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:2995,1
    - Dst: do_test_AclBinding
      Src: /src/librdkafka/tests/0080-admin_ut.c:2997,1
    - Dst: do_test_AclBindingFilter
      Src: /src/librdkafka/tests/0080-admin_ut.c:2998,1
    - Dst: do_test_CreateAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3000,1
    - Dst: do_test_CreateAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3002,1
    - Dst: do_test_CreateAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3003,1
    - Dst: do_test_DescribeAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3005,1
    - Dst: do_test_DescribeAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3007,1
    - Dst: do_test_DescribeAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3009,1
    - Dst: do_test_DeleteAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3012,1
    - Dst: do_test_DeleteAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3014,1
    - Dst: do_test_DeleteAcls
      Src: /src/librdkafka/tests/0080-admin_ut.c:3015,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3017,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3019,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3020,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3022,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3024,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3026,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3028,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3030,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0080-admin_ut.c:3032,1
    - Dst: do_test_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:3035,1
    - Dst: do_test_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:3036,1
    - Dst: do_test_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:3038,1
    - Dst: do_test_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0080-admin_ut.c:3039,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3041,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3043,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3045,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3047,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3049,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3051,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3053,1
    - Dst: do_test_ElectLeaders
      Src: /src/librdkafka/tests/0080-admin_ut.c:3055,1
    - Dst: do_test_mix
      Src: /src/librdkafka/tests/0080-admin_ut.c:3058,1
    - Dst: do_test_configs
      Src: /src/librdkafka/tests/0080-admin_ut.c:3060,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3062,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3063,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3065,1
    - Dst: create_admin_client
      Src: /src/librdkafka/tests/0080-admin_ut.c:3070,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0080-admin_ut.c:3071,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0080-admin_ut.c:3072,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3074,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3075,1
    - Dst: create_admin_client
      Src: /src/librdkafka/tests/0080-admin_ut.c:3077,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0080-admin_ut.c:3078,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0080-admin_ut.c:3079,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3081,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3082,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3086,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/tests/0080-admin_ut.c:3087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 86
    argCount: 1
    argNames:
    - cltype
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 2936
    functionDepth: 6
    functionLinenumber: 2936
    functionLinenumberEnd: 3088
    functionName: do_test_apis
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - cnd_init
    - do_test_DescribeConsumerGroups
    - do_test_AclBinding
    - mtx_init
    - rd_kafka_queue_destroy
    - do_test_DescribeUserScramCredentials
    - do_test_DeleteGroups
    - rd_kafka_destroy
    - do_test_AlterUserScramCredentials
    - do_test_ListConsumerGroupOffsets
    - do_test_DescribeAcls
    - do_test_DeleteTopics
    - cnd_destroy
    - do_test_options
    - do_test_ElectLeaders
    - do_test_DeleteRecords
    - do_test_ListConsumerGroups
    - do_test_DeleteAcls
    - do_test_DescribeCluster
    - create_admin_client
    - mtx_destroy
    - do_test_configs
    - rd_kafka_queue_get_background
    - do_test_CreateTopics
    - do_test_DescribeTopics
    - do_test_AclBindingFilter
    - do_test_unclean_destroy
    - do_test_CreateAcls
    - do_test_DeleteConsumerGroupOffsets
    - rd_kafka_queue_get_main
    - do_test_mix
    - do_test_AlterConsumerGroupOffsets
    linkageType: ''
    returnType: void
    signature: void do_test_apis(rd_kafka_type_t cltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_apis
      Src: /src/librdkafka/tests/0080-admin_ut.c:3092,1
    - Dst: do_test_apis
      Src: /src/librdkafka/tests/0080-admin_ut.c:3093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3095
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3095
    functionName: main_0080_admin_ut
    functionSourceFile: /src/librdkafka/tests/0080-admin_ut.c
    functionUses: 0
    functionsReached:
    - do_test_apis
    linkageType: ''
    returnType: int
    signature: int main_0080_admin_ut(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/tests/0070-null_empty.cpp:42,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0070-null_empty.cpp:46,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:46,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0070-null_empty.cpp:53,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:53,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0070-null_empty.cpp:57,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0070-null_empty.cpp:58,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:58,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0070-null_empty.cpp:65,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:65,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0070-null_empty.cpp:72,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:72,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - exp
    - actual
    - len
    - what
    argTypes:
    - char*
    - char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 75
    functionName: check_equal
    functionSourceFile: /src/librdkafka/tests/0070-null_empty.cpp
    functionUses: 0
    functionsReached:
    - Test::FailLater
    - tostr
    - Test::Say
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int check_equal(const char *exp,\n                       const char
      *actual,\n                       size_t len,\n                       std::string
      what)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0070-null_empty.cpp:79,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0070-null_empty.cpp:82,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:82,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0070-null_empty.cpp:87,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0070-null_empty.cpp:88,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0070-null_empty.cpp:90,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0070-null_empty.cpp:94,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:96,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0070-null_empty.cpp:107,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:107,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0070-null_empty.cpp:110,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0070-null_empty.cpp:112,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0070-null_empty.cpp:114,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:116,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0070-null_empty.cpp:116,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0070-null_empty.cpp:119,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0070-null_empty.cpp:119,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:120,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0070-null_empty.cpp:122,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:122,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0070-null_empty.cpp:133,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0070-null_empty.cpp:134,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0070-null_empty.cpp:135,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0070-null_empty.cpp:137,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0070-null_empty.cpp:139,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:141,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0070-null_empty.cpp:146,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0070-null_empty.cpp:146,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0070-null_empty.cpp:148,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:150,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0070-null_empty.cpp:150,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0070-null_empty.cpp:151,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0070-null_empty.cpp:156,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0070-null_empty.cpp:156,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0070-null_empty.cpp:157,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:158,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:158,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:159,1
    - Dst: check_equal
      Src: /src/librdkafka/tests/0070-null_empty.cpp:162,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/tests/0070-null_empty.cpp:162,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/tests/0070-null_empty.cpp:162,1
    - Dst: RdKafka::Message*::key_len
      Src: /src/librdkafka/tests/0070-null_empty.cpp:163,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:164,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0070-null_empty.cpp:165,1
    - Dst: check_equal
      Src: /src/librdkafka/tests/0070-null_empty.cpp:168,1
    - Dst: RdKafka::Message*::key_pointer
      Src: /src/librdkafka/tests/0070-null_empty.cpp:168,1
    - Dst: RdKafka::Message*::key_len
      Src: /src/librdkafka/tests/0070-null_empty.cpp:168,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:169,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0070-null_empty.cpp:170,1
    - Dst: check_equal
      Src: /src/librdkafka/tests/0070-null_empty.cpp:174,1
    - Dst: RdKafka::Message*::payload
      Src: /src/librdkafka/tests/0070-null_empty.cpp:174,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0070-null_empty.cpp:174,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:175,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0070-null_empty.cpp:176,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0070-null_empty.cpp:180,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:180,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0070-null_empty.cpp:183,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0070-null_empty.cpp:183,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0070-null_empty.cpp:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - api_version_request
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 78
    functionDepth: 4
    functionLinenumber: 78
    functionLinenumberEnd: 187
    functionName: do_test_null_empty
    functionSourceFile: /src/librdkafka/tests/0070-null_empty.cpp
    functionUses: 0
    functionsReached:
    - check_equal
    - RdKafka::Message*::payload
    - RdKafka::Message*::key_len
    - Test::conf_init
    - RdKafka::Message*::len
    - RdKafka::Message*::err
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::Message*::key
    - Test::conf_set
    - RdKafka::Message*::errstr
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - tmout_multip
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - tostr
    - std::vector::push_back
    - RdKafka::Message*::offset
    - test_mk_topic_name
    - strlen
    - RdKafka::KafkaConsumer*::assign
    - RdKafka::Message*::key_pointer
    linkageType: ''
    returnType: void
    signature: void do_test_null_empty(bool api_version_request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0070-null_empty.cpp:192,1
    - Dst: do_test_null_empty
      Src: /src/librdkafka/tests/0070-null_empty.cpp:193,1
    - Dst: do_test_null_empty
      Src: /src/librdkafka/tests/0070-null_empty.cpp:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 5
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: main_0070_null_empty
    functionSourceFile: /src/librdkafka/tests/0070-null_empty.cpp
    functionUses: 0
    functionsReached:
    - do_test_null_empty
    - TEST_BRKVER
    linkageType: ''
    returnType: int
    signature: int main_0070_null_empty(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:55,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:57,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:61,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:66,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:67,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:69,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:71,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:73,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:73,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:75,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:76,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:77,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:79,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:81,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:82,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:83,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:86,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:87,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:89,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:91,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:92,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - test_name
    - base_conf
    argTypes:
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 46
    functionDepth: 10
    functionLinenumber: 46
    functionLinenumberEnd: 94
    functionName: do_test_produce_consumer_with_OIDC
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - test_create_consumer
    - test_create_handle
    - test_consumer_subscribe
    - SUB_TEST_SKIP
    - test_getenv
    - SUB_TEST
    - test_id_generate
    - SUB_TEST_PASS
    - rd_usleep
    - rd_kafka_conf_set_dr_msg_cb
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_consumer_with_OIDC(const char *test_name,\n                                   const
      rd_kafka_conf_t *base_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:101,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:101,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:105,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:105,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: auth_error_cb
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_yield
    linkageType: ''
    returnType: void
    signature: void auth_error_cb(rd_kafka_t *rk, int err, const char *reason, void
      *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:122,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:124,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:127,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:132,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:135,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:137,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:139,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:141,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:144,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:146,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:147,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - base_conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 7
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: do_test_produce_consumer_with_OIDC_expired_token_should_fail
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_error_cb
    - rd_kafka_destroy
    - test_consumer_poll_no_msgs
    - rd_kafka_conf_dup
    - SUB_TEST_SKIP
    - test_getenv
    - SUB_TEST
    - TEST_ASSERT
    - test_id_generate
    - test_consumer_close
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_consumer_with_OIDC_expired_token_should_fail(\n
      \   const rd_kafka_conf_t *base_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:163,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:165,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:168,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:175,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:176,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:178,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:180,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:182,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:184,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:186,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:188,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:189,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - test_name
    - base_conf
    argTypes:
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 156
    functionDepth: 7
    functionLinenumber: 156
    functionLinenumberEnd: 191
    functionName: do_test_produce_consumer_with_OIDC_should_fail
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_error_cb
    - rd_kafka_destroy
    - test_consumer_poll_no_msgs
    - rd_kafka_conf_dup
    - SUB_TEST_SKIP
    - test_getenv
    - SUB_TEST
    - TEST_ASSERT
    - test_id_generate
    - test_consumer_close
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_consumer_with_OIDC_should_fail(\n    const char
      *test_name,\n    const rd_kafka_conf_t *base_conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:205,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:207,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:210,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:215,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:219,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:221,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:223,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:225,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:227,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:229,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:231,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:232,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - base_conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 198
    functionDepth: 7
    functionLinenumber: 198
    functionLinenumberEnd: 234
    functionName: do_test_produce_consumer_with_OIDC_should_fail_invalid_token_endpoint
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_error_cb
    - rd_kafka_destroy
    - test_consumer_poll_no_msgs
    - rd_kafka_conf_dup
    - SUB_TEST_SKIP
    - test_getenv
    - SUB_TEST
    - TEST_ASSERT
    - test_id_generate
    - test_consumer_close
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_consumer_with_OIDC_should_fail_invalid_token_endpoint(\n
      \   const rd_kafka_conf_t *base_conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - variation
    argTypes:
    - oidc_configuration_jwt_bearer_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: oidc_configuration_jwt_bearer_variation_name
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: "char *oidc_configuration_jwt_bearer_variation_name(\n    oidc_configuration_jwt_bearer_variation_t
      variation)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:280,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:282,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:284,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:286,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:287,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:291,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:294,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:300,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:303,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:313,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:320,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:323,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:330,1
    - Dst: test_read_file
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:330,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:333,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:340,1
    - Dst: test_read_file
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:340,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:343,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:346,1
    - Dst: rd_assert
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:351,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:355,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:356,1
    - Dst: oidc_configuration_jwt_bearer_variation_name
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:357,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - conf
    - variation
    argTypes:
    - rd_kafka_conf_t*
    - oidc_configuration_jwt_bearer_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 359
    functionName: oidc_configuration_jwt_bearer
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_conf_dup
    - test_getenv
    - test_read_file
    - TEST_ASSERT
    - TEST_WARN
    - test_conf_set
    - oidc_configuration_jwt_bearer_variation_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: "rd_kafka_conf_t *oidc_configuration_jwt_bearer(\n    rd_kafka_conf_t
      *conf,\n    oidc_configuration_jwt_bearer_variation_t variation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: oidc_configuration_jwt_bearer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:370,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:374,1
    - Dst: oidc_configuration_jwt_bearer_variation_name
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:376,1
    - Dst: do_test_produce_consumer_with_OIDC
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:380,1
    - Dst: do_test_produce_consumer_with_OIDC_should_fail
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:383,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 361
    functionDepth: 11
    functionLinenumber: 361
    functionLinenumberEnd: 387
    functionName: do_test_produce_consumer_with_OIDC_jwt_bearer
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - do_test_produce_consumer_with_OIDC
    - tsprintf
    - oidc_configuration_jwt_bearer
    - oidc_configuration_jwt_bearer_variation_name
    - do_test_produce_consumer_with_OIDC_should_fail
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_produce_consumer_with_OIDC_jwt_bearer(rd_kafka_conf_t
      *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - variation
    argTypes:
    - oidc_configuration_metadata_authentication_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 416
    functionName: oidc_configuration_metadata_authentication_variation_name
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: "char *oidc_configuration_metadata_authentication_variation_name(\n
      \   oidc_configuration_metadata_authentication_variation_t variation)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:421,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:424,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:427,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:433,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:436,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:442,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:445,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:451,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:454,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - conf
    - variation
    argTypes:
    - rd_kafka_conf_t*
    - oidc_configuration_metadata_authentication_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 464
    functionName: oidc_configuration_metadata_authentication
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - test_conf_set
    - rd_kafka_conf_dup
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: "rd_kafka_conf_t *oidc_configuration_metadata_authentication(\n    rd_kafka_conf_t
      *conf,\n    oidc_configuration_metadata_authentication_variation_t variation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oidc_configuration_metadata_authentication
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:479,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:481,1
    - Dst: oidc_configuration_metadata_authentication_variation_name
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:483,1
    - Dst: do_test_produce_consumer_with_OIDC
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:488,1
    - Dst: do_test_produce_consumer_with_OIDC_should_fail
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:491,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 467
    functionDepth: 11
    functionLinenumber: 467
    functionLinenumberEnd: 495
    functionName: do_test_produce_consumer_with_OIDC_metadata_authentication
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - do_test_produce_consumer_with_OIDC
    - tsprintf
    - oidc_configuration_metadata_authentication
    - do_test_produce_consumer_with_OIDC_should_fail
    - oidc_configuration_metadata_authentication_variation_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: "void do_test_produce_consumer_with_OIDC_metadata_authentication(\n
      \   rd_kafka_conf_t *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:502,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:504,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:505,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:506,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:507,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:511,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:512,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:513,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:514,1
    - Dst: do_test_produce_consumer_with_OIDC
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:518,1
    - Dst: do_test_produce_consumer_with_OIDC_should_fail_invalid_token_endpoint
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:519,1
    - Dst: do_test_produce_consumer_with_OIDC_expired_token_should_fail
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:521,1
    - Dst: do_test_produce_consumer_with_OIDC_jwt_bearer
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:522,1
    - Dst: do_test_produce_consumer_with_OIDC_metadata_authentication
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:523,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0126-oauthbearer_oidc.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 497
    functionDepth: 12
    functionLinenumber: 497
    functionLinenumberEnd: 528
    functionName: main_0126_oauthbearer_oidc
    functionSourceFile: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - do_test_produce_consumer_with_OIDC_expired_token_should_fail
    - do_test_produce_consumer_with_OIDC
    - test_conf_init
    - TEST_SKIP
    - rd_strcasecmp
    - strstr
    - do_test_produce_consumer_with_OIDC_metadata_authentication
    - do_test_produce_consumer_with_OIDC_should_fail_invalid_token_endpoint
    - rd_kafka_conf_destroy
    - test_conf_get
    - do_test_produce_consumer_with_OIDC_jwt_bearer
    linkageType: ''
    returnType: int
    signature: int main_0126_oauthbearer_oidc(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0083-cb_event.c:53,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0083-cb_event.c:55,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0083-cb_event.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rk_p
    - opaque
    argTypes:
    - rd_kafka_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: event_cb
    functionSourceFile: /src/librdkafka/tests/0083-cb_event.c
    functionUses: 5
    functionsReached:
    - mtx_lock
    - mtx_unlock
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void event_cb(rd_kafka_t *rk_p, void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0083-cb_event.c:66,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0083-cb_event.c:69,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0083-cb_event.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - timeout_secs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: wait_event_cb
    functionSourceFile: /src/librdkafka/tests/0083-cb_event.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_sleep
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int wait_event_cb(int timeout_secs)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0083-cb_event.c:95,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0083-cb_event.c:97,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0083-cb_event.c:98,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0083-cb_event.c:100,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0083-cb_event.c:101,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0083-cb_event.c:102,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0083-cb_event.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0083-cb_event.c:103,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0083-cb_event.c:104,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0083-cb_event.c:105,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0083-cb_event.c:107,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0083-cb_event.c:108,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0083-cb_event.c:109,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0083-cb_event.c:110,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0083-cb_event.c:112,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0083-cb_event.c:113,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0083-cb_event.c:114,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0083-cb_event.c:116,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0083-cb_event.c:118,1
    - Dst: rd_kafka_queue_cb_event_enable
      Src: /src/librdkafka/tests/0083-cb_event.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:134,1
    - Dst: wait_event_cb
      Src: /src/librdkafka/tests/0083-cb_event.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0083-cb_event.c:136,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:140,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0083-cb_event.c:142,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0083-cb_event.c:144,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:146,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0083-cb_event.c:148,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0083-cb_event.c:149,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0083-cb_event.c:150,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0083-cb_event.c:152,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0083-cb_event.c:155,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0083-cb_event.c:157,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0083-cb_event.c:159,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0083-cb_event.c:163,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0083-cb_event.c:165,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0083-cb_event.c:171,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0083-cb_event.c:182,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0083-cb_event.c:184,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:188,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0083-cb_event.c:189,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:192,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:194,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0083-cb_event.c:203,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:209,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:210,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0083-cb_event.c:211,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0083-cb_event.c:221,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:223,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:224,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:226,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0083-cb_event.c:227,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:228,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0083-cb_event.c:230,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 78
    functionDepth: 8
    functionLinenumber: 78
    functionLinenumberEnd: 233
    functionName: main_0083_cb_event
    functionSourceFile: /src/librdkafka/tests/0083-cb_event.c
    functionUses: 0
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - rd_kafka_queue_poll
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - mtx_init
    - rd_kafka_event_type
    - test_wait_topic_exists
    - rd_kafka_queue_destroy
    - wait_event_cb
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_destroy
    - test_consumer_unassign_by_rebalance_protocol
    - test_produce_msgs
    - rd_kafka_conf_set_events
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_event_topic_partition_list
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_auto_create_topic_rkt
    - test_id_generate
    - rd_kafka_consumer_close
    - mtx_destroy
    - test_create_producer_topic
    - rd_kafka_event_name
    - tmout_multip
    - test_create_producer
    - test_conf_init
    - rd_kafka_queue_cb_event_enable
    - rd_kafka_queue_get_consumer
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_event_error
    linkageType: ''
    returnType: int
    signature: int main_0083_cb_event(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:63,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0045-subscribe_update.c:64,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0045-subscribe_update.c:66,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:67,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:67,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0045-subscribe_update.c:70,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:70,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:71,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:73,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:74,1
    - Dst: va_start
      Src: /src/librdkafka/tests/0045-subscribe_update.c:76,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0045-subscribe_update.c:78,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0045-subscribe_update.c:79,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:81,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0045-subscribe_update.c:84,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0045-subscribe_update.c:86,1
    - Dst: va_end
      Src: /src/librdkafka/tests/0045-subscribe_update.c:95,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:97,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0045-subscribe_update.c:102,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0045-subscribe_update.c:104,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - pfx
    - rk
    - queue
    - topic_cnt
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 106
    functionName: await_assignment
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - TEST_FAIL_LATER
    - va_start
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_event_topic_partition_list
    - test_print_partition_list
    - rd_kafka_event_destroy
    - test_wait_event
    - rd_kafka_topic_partition_list_find
    - va_end
    - TEST_FAIL
    - va_arg
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void await_assignment(const char *pfx,\n                             rd_kafka_t
      *rk,\n                             rd_kafka_queue_t *queue,\n                             int
      topic_cnt,\n                             ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:117,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0045-subscribe_update.c:118,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0045-subscribe_update.c:120,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:121,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:121,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0045-subscribe_update.c:124,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:124,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:125,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0045-subscribe_update.c:127,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pfx
    - rk
    - queue
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: await_revoke
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_consumer_unassign_by_rebalance_protocol
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_event_topic_partition_list
    - rd_kafka_event_destroy
    - test_wait_event
    - TEST_FAIL
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void await_revoke(const char *pfx, rd_kafka_t *rk, rd_kafka_queue_t
      *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:141,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0045-subscribe_update.c:143,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:146,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:146,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0045-subscribe_update.c:147,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:147,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pfx
    - rk
    - queue
    - timeout_ms
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: await_no_rebalance
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - test_wait_event
    - rd_kafka_event_name
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void await_no_rebalance(const char *pfx,\n                               rd_kafka_t
      *rk,\n                               rd_kafka_queue_t *queue,\n                               int
      timeout_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:169,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0045-subscribe_update.c:172,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:176,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0045-subscribe_update.c:176,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:180,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0045-subscribe_update.c:181,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:181,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:183,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/tests/0045-subscribe_update.c:184,1
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0045-subscribe_update.c:185,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0045-subscribe_update.c:185,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:186,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:191,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - pfx
    - rk
    - queue
    - timeout_ms
    - min_events
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 204
    functionName: await_rebalance
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rebalance_protocol
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_event_topic_partition_list
    - test_rebalance_cb
    - rd_kafka_event_type
    - test_wait_event
    - rd_kafka_event_name
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void await_rebalance(const char *pfx,\n                            rd_kafka_t
      *rk,\n                            rd_kafka_queue_t *queue,\n                            int
      timeout_ms,\n                            int min_events)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:207,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:207,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:220,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:222,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:225,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:227,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:228,1
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:228,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:229,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:231,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:232,1
    - Dst: await_no_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:235,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:237,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:238,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:240,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/0045-subscribe_update.c:248,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:249,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:251,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:253,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:254,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:255,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:257,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 206
    functionDepth: 10
    functionLinenumber: 206
    functionLinenumberEnd: 260
    functionName: do_test_non_exist_and_partchange
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - await_assignment
    - test_kafka_topics
    - test_create_consumer
    - test_consumer_subscribe
    - test_str_id_generate_tmp
    - await_revoke
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - await_no_rebalance
    linkageType: ''
    returnType: void
    signature: void do_test_non_exist_and_partchange(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:265,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:265,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:266,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:266,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:267,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:267,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:268,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:268,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:269,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:269,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:286,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:288,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:291,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:293,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:294,1
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:294,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:295,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:297,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:298,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:300,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:302,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:302,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:304,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:307,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:308,1
    - Dst: await_no_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:311,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:313,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:314,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:316,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:317,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/tests/0045-subscribe_update.c:320,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:321,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:322,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:325,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:329,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:330,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:331,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:333,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:334,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:335,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:336,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:337,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 264
    functionDepth: 10
    functionLinenumber: 264
    functionLinenumberEnd: 340
    functionName: do_test_regex
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - await_assignment
    - test_create_consumer
    - rd_kafka_rebalance_protocol
    - test_consumer_subscribe
    - test_str_id_generate_tmp
    - await_revoke
    - strcmp
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - tsprintf
    - test_consumer_group_protocol_classic
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_mk_topic_name
    - test_conf_set
    - await_no_rebalance
    linkageType: ''
    returnType: void
    signature: void do_test_regex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:346,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:346,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:347,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:347,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:367,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:369,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:372,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:374,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:375,1
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:375,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:376,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:378,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:379,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:381,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:382,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:384,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:385,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:386,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:388,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:390,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:391,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0045-subscribe_update.c:392,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:393,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:395,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:398,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/0045-subscribe_update.c:399,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:401,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:403,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:406,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/0045-subscribe_update.c:407,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:409,1
    - Dst: await_no_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:413,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:415,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:416,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:417,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:419,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:420,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 345
    functionDepth: 10
    functionLinenumber: 345
    functionLinenumberEnd: 423
    functionName: do_test_topic_remove
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - rd_kafka_subscribe
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - test_consumer_close
    - await_assignment
    - test_kafka_topics
    - test_create_consumer
    - test_str_id_generate_tmp
    - await_revoke
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - await_no_rebalance
    linkageType: ''
    returnType: void
    signature: void do_test_topic_remove(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:445,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:447,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:448,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:450,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:451,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:452,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:455,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:457,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:459,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:459,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:464,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:467,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:468,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0045-subscribe_update.c:468,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0045-subscribe_update.c:471,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:477,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0045-subscribe_update.c:479,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:482,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:483,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:485,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - assignment_strategy
    - lots_of_topics
    argTypes:
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 434
    functionDepth: 7
    functionLinenumber: 434
    functionLinenumberEnd: 488
    functionName: do_test_regex_many_mock
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_consumer_poll_no_msgs
    - rd_snprintf
    - tsprintf
    - test_conf_init
    - SUB_TEST
    - TEST_SAY
    - test_consumer_wait_assignment
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    - rd_usleep
    linkageType: ''
    returnType: void
    signature: "void do_test_regex_many_mock(const char *assignment_strategy,\n                                    rd_bool_t
      lots_of_topics)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:504,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:516,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:518,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:519,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:522,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:523,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:524,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:527,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:528,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0045-subscribe_update.c:528,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:532,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:533,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:536,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:539,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:541,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:542,1
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:542,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:543,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:545,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:546,1
    - Dst: await_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:548,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:548,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:554,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:555,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:556,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:557,1
    - Dst: await_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:561,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:561,1
    - Dst: await_no_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:564,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:565,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:568,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:569,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:570,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:571,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:573,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 4
    argNames:
    - assignment_strategy
    - use_regex
    - use_client_rack
    - use_replica_rack
    argTypes:
    - char*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 498
    functionDepth: 7
    functionLinenumber: 498
    functionLinenumberEnd: 574
    functionName: do_test_replica_rack_change_mock
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - await_rebalance
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_mock_broker_set_rack
    - test_create_consumer
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - test_str_id_generate_tmp
    - SUB_TEST
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - tsprintf
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - await_no_rebalance
    linkageType: ''
    returnType: void
    signature: "void do_test_replica_rack_change_mock(const char *assignment_strategy,\n
      \                                            rd_bool_t use_regex,\n                                             rd_bool_t
      use_client_rack,\n                                             rd_bool_t use_replica_rack)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:590,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:592,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:593,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:595,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:596,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:598,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:599,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0045-subscribe_update.c:599,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:603,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:604,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:607,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:609,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:613,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:614,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:616,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:617,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0045-subscribe_update.c:618,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:620,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:621,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:622,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:624,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:626,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:627,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:628,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0045-subscribe_update.c:631,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0045-subscribe_update.c:632,1
    - Dst: await_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:635,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:635,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:638,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:639,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:644,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:646,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:649,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:650,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:654,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:655,1
    - Dst: rd_kafka_mock_broker_set_rack
      Src: /src/librdkafka/tests/0045-subscribe_update.c:656,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0045-subscribe_update.c:659,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0045-subscribe_update.c:660,1
    - Dst: await_rebalance
      Src: /src/librdkafka/tests/0045-subscribe_update.c:663,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:663,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:666,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:667,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:672,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0045-subscribe_update.c:674,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:677,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:678,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:680,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:681,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:682,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:683,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:684,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:685,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:687,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 52
    argCount: 1
    argNames:
    - assignment_strategy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 579
    functionDepth: 7
    functionLinenumber: 579
    functionLinenumberEnd: 688
    functionName: do_test_replica_rack_change_leader_no_rack_mock
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_queue_destroy
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - rd_kafka_conf_set_events
    - await_rebalance
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_mock_broker_set_rack
    - test_create_consumer
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - SUB_TEST
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - tsprintf
    - test_conf_init
    - rd_kafka_poll
    - rd_kafka_queue_get_consumer
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void do_test_replica_rack_change_leader_no_rack_mock(\n    const char
      *assignment_strategy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:695,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:695,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:696,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:696,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:697,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:697,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:698,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:699,1
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0045-subscribe_update.c:699,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:704,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:727,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:728,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:730,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:731,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:733,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:734,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:736,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0045-subscribe_update.c:738,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:739,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:740,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:743,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:744,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:746,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:749,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:750,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:752,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:755,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:756,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:758,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:761,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:762,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:764,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:767,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:768,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:769,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0045-subscribe_update.c:772,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:775,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:779,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:780,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:782,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:785,1
    - Dst: test_consumer_subscribe_multi
      Src: /src/librdkafka/tests/0045-subscribe_update.c:786,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:788,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:789,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:795,1
    - Dst: await_assignment
      Src: /src/librdkafka/tests/0045-subscribe_update.c:797,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:802,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:803,1
    - Dst: await_revoke
      Src: /src/librdkafka/tests/0045-subscribe_update.c:804,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:807,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:808,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:809,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:811,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:812,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:814,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:816,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:817,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:818,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:819,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 694
    functionDepth: 10
    functionLinenumber: 694
    functionLinenumberEnd: 822
    functionName: do_test_resubscribe_with_regex
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_delete_topic
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - await_assignment
    - test_create_consumer
    - test_consumer_subscribe
    - test_str_id_generate_tmp
    - await_revoke
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - rd_kafka_unsubscribe
    - tsprintf
    - test_consumer_group_protocol_classic
    - test_conf_init
    - rd_sleep
    - rd_kafka_queue_get_consumer
    - test_mk_topic_name
    - test_consumer_subscribe_multi
    linkageType: ''
    returnType: void
    signature: void do_test_resubscribe_with_regex()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0045-subscribe_update.c:844,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:849,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:850,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:850,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0045-subscribe_update.c:854,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0045-subscribe_update.c:856,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0045-subscribe_update.c:857,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0045-subscribe_update.c:859,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:860,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0045-subscribe_update.c:860,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0045-subscribe_update.c:862,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0045-subscribe_update.c:865,1
    - Dst: RD_MIN
      Src: /src/librdkafka/tests/0045-subscribe_update.c:872,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:877,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:883,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:887,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:895,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:898,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:898,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:899,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:902,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:902,1
    - Dst: test_consumer_wait_assignment_topic_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:904,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:908,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:913,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0045-subscribe_update.c:914,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:916,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0045-subscribe_update.c:919,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:920,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0045-subscribe_update.c:922,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - with_rebalance_cb
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 834
    functionDepth: 8
    functionLinenumber: 834
    functionLinenumberEnd: 924
    functionName: do_test_subscribe_many_updates
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - test_CreateTopics_simple
    - rd_kafka_topic_partition_list_add
    - test_wait_topic_exists
    - test_consumer_wait_assignment_topic_partition_list
    - rd_kafka_subscribe
    - rd_kafka_destroy
    - RD_MIN
    - TEST_SAY
    - test_consumer_close
    - test_create_consumer
    - TEST_CALL_ERR__
    - rd_kafka_conf_set_rebalance_cb
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - rd_kafka_unsubscribe
    - rd_sleep
    - test_conf_init
    - test_mk_topic_name
    - test_DeleteTopics_simple
    linkageType: ''
    returnType: void
    signature: void do_test_subscribe_many_updates(rd_bool_t with_rebalance_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0045-subscribe_update.c:849,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0045-subscribe_update.c:850,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0045-subscribe_update.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 851
    functionName: RD_ARRAY_FOREACH_INDEX
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - test_mk_topic_name
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void RD_ARRAY_FOREACH_INDEX(topic, topics, i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_MIN
      Src: /src/librdkafka/tests/0045-subscribe_update.c:872,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:877,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0045-subscribe_update.c:883,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:887,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0045-subscribe_update.c:895,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:898,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:898,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:899,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0045-subscribe_update.c:902,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0045-subscribe_update.c:902,1
    - Dst: test_consumer_wait_assignment_topic_partition_list
      Src: /src/librdkafka/tests/0045-subscribe_update.c:904,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0045-subscribe_update.c:908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 911
    functionName: RD_ARRAY_FOREACH_INDEX
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - TEST_CALL_ERR__
    - RD_MIN
    - rd_kafka_unsubscribe
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - test_consumer_wait_assignment_topic_partition_list
    - rd_kafka_subscribe
    linkageType: ''
    returnType: void
    signature: void RD_ARRAY_FOREACH_INDEX(topic, topics, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/tests/0045-subscribe_update.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 917
    functionName: RD_ARRAY_FOREACH_INDEX
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void RD_ARRAY_FOREACH_INDEX(topic, topics, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0045-subscribe_update.c:928,1
    - Dst: do_test_regex
      Src: /src/librdkafka/tests/0045-subscribe_update.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 926
    functionDepth: 11
    functionLinenumber: 926
    functionLinenumberEnd: 934
    functionName: main_0045_subscribe_update
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_can_create_topics
    - do_test_regex
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_update(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_non_exist_and_partchange
      Src: /src/librdkafka/tests/0045-subscribe_update.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 11
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: main_0045_subscribe_update_non_exist_and_partchange
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - do_test_non_exist_and_partchange
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_update_non_exist_and_partchange(int argc, char
      **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0045-subscribe_update.c:945,1
    - Dst: do_test_topic_remove
      Src: /src/librdkafka/tests/0045-subscribe_update.c:948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 11
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: main_0045_subscribe_update_topic_remove
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_can_create_topics
    - do_test_topic_remove
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_update_topic_remove(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0045-subscribe_update.c:955,1
    - Dst: do_test_regex_many_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:957,1
    - Dst: do_test_regex_many_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:958,1
    - Dst: do_test_regex_many_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 954
    functionDepth: 8
    functionLinenumber: 954
    functionLinenumberEnd: 962
    functionName: main_0045_subscribe_update_mock
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_regex_many_mock
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_update_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_resubscribe_with_regex
      Src: /src/librdkafka/tests/0045-subscribe_update.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 11
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: main_0045_resubscribe_with_regex
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - do_test_resubscribe_with_regex
    linkageType: ''
    returnType: int
    signature: int main_0045_resubscribe_with_regex(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_subscribe_many_updates
      Src: /src/librdkafka/tests/0045-subscribe_update.c:970,1
    - Dst: do_test_subscribe_many_updates
      Src: /src/librdkafka/tests/0045-subscribe_update.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 969
    functionDepth: 9
    functionLinenumber: 969
    functionLinenumberEnd: 973
    functionName: main_0045_subscribe_many_updates
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - do_test_subscribe_many_updates
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_many_updates(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0045-subscribe_update.c:979,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0045-subscribe_update.c:982,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0045-subscribe_update.c:983,1
    - Dst: do_test_replica_rack_change_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:990,1
    - Dst: do_test_replica_rack_change_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:993,1
    - Dst: do_test_replica_rack_change_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:996,1
    - Dst: do_test_replica_rack_change_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:999,1
    - Dst: do_test_replica_rack_change_leader_no_rack_mock
      Src: /src/librdkafka/tests/0045-subscribe_update.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 975
    functionDepth: 8
    functionLinenumber: 975
    functionLinenumberEnd: 1010
    functionName: main_0045_subscribe_update_racks_mock
    functionSourceFile: /src/librdkafka/tests/0045-subscribe_update.c
    functionUses: 0
    functionsReached:
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    - do_test_replica_rack_change_leader_no_rack_mock
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_replica_rack_change_mock
    linkageType: ''
    returnType: int
    signature: int main_0045_subscribe_update_racks_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:46,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:48,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:49,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:50,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:50,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:51,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:52,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: produce_concurrent_thread
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - rd_kafka_producev
    linkageType: ''
    returnType: int
    signature: int produce_concurrent_thread(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:63,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:72,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:74,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:76,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:77,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:81,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:85,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:86,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:90,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:100,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:102,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:104,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:106,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:109,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:110,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:111,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:112,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:113,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:115,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:116,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:119,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:122,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:125,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:128,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:131,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:133,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:135,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:137,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 139
    functionName: do_test_no_duplicates_during_offset_validation
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - rd_kafka_mock_broker_push_request_error_rtts
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_mock_cluster_destroy
    - test_id_generate
    - thrd_create
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - thrd_join
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_no_duplicates_during_offset_validation(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:151,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:157,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:159,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:159,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:161,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:162,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:165,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:170,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:173,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:175,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:176,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:177,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:178,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:179,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:180,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:182,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:183,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:186,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:188,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:191,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:192,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:197,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:198,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:199,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:204,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:206,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:208,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:210,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 147
    functionDepth: 7
    functionLinenumber: 147
    functionLinenumberEnd: 212
    functionName: do_test_permanent_error_retried
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_seek_partitions
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll
    - rd_kafka_err2name
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_topic_partition_set_leader_epoch
    linkageType: ''
    returnType: void
    signature: void do_test_permanent_error_retried(rd_kafka_resp_err_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:230,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:236,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:239,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:241,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:242,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:243,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:246,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:250,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:251,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:252,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:254,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:255,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:258,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:264,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:269,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:270,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:273,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:276,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:277,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:278,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:283,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:287,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:290,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:292,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:294,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 229
    functionDepth: 7
    functionLinenumber: 229
    functionLinenumberEnd: 296
    functionName: do_test_two_leader_changes
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_create_consumer
    - test_consumer_subscribe
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - rd_sleep
    - test_conf_init
    - rd_kafka_poll
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_two_leader_changes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:307,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:311,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:316,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:318,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:319,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:321,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:322,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:323,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:324,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:325,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:326,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:327,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:329,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:330,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:333,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:336,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:338,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:340,1
    - Dst: rd_kafka_offset_store
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:342,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:343,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:345,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:347,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:348,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:351,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:354,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:357,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:359,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:361,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:363,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:364,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:365,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:366,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:368,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:368,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:370,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:371,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:372,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:374,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:377,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:379,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:381,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:383,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:387,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:388,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:390,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:391,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:392,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:394,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:397,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:398,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:400,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:401,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:402,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:404,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:407,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:408,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:409,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:411,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:414,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:415,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:417,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:419,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:421,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:423,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 303
    functionDepth: 7
    functionLinenumber: 303
    functionLinenumberEnd: 425
    functionName: do_test_store_offset_without_leader_epoch
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_topic_new
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_offset_store
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - TEST_SAY
    - rd_kafka_committed
    - rd_kafka_offsets_store
    - rd_kafka_commit
    - test_create_consumer
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_topic_partition_set_leader_epoch
    linkageType: ''
    returnType: void
    signature: void do_test_store_offset_without_leader_epoch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:429,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 431
    functionName: is_broker_fetch_request
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_broker_fetch_request(rd_kafka_mock_request_t *request,\n
      \                                        void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:436,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: is_offset_for_leader_epoch_request
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_offset_for_leader_epoch_request(rd_kafka_mock_request_t
      *request,\n                                   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: is_metadata_request
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_metadata_request(rd_kafka_mock_request_t *request,\n
      \                                    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:461,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:467,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:478,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:480,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:481,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:482,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:485,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:489,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:490,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:491,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:492,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:494,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:495,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:497,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:498,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:499,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:501,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:502,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:504,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:508,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:509,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:511,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:515,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:519,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:520,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:521,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:523,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:525,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:526,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:528,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:531,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:532,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:534,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:538,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:542,1
    - Dst: rd_kafka_mock_partition_push_leader_response
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:544,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:547,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:549,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:550,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:552,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:557,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:559,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:564,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:565,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:567,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:571,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:573,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:574,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:576,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 460
    functionDepth: 7
    functionLinenumber: 460
    functionLinenumberEnd: 578
    functionName: do_test_leader_change_no_validation
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_push_leader_response
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - TEST_SAY
    - rd_kafka_mock_stop_request_tracking
    - test_create_consumer
    - test_consumer_subscribe
    - TEST_ASSERT_LATER
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - TEST_LATER_CHECK
    - test_conf_init
    - test_mock_wait_matching_requests
    - rd_kafka_poll
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_leader_change_no_validation(int variation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:583,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 588
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:610,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:616,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:621,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:623,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:624,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:625,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:628,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:632,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:633,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:634,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:635,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:637,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:638,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:641,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:642,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:643,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:645,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:646,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:648,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:652,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:653,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:655,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:659,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:663,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:664,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:665,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:667,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:669,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:670,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:672,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:675,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:676,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:678,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:682,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:686,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:690,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:703,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:711,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:713,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:715,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:716,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:718,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:721,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:723,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:725,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:728,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:731,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:732,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:734,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:737,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:743,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:745,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:751,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:753,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:754,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:756,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:757,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 609
    functionDepth: 7
    functionLinenumber: 609
    functionLinenumberEnd: 759
    functionName: do_test_leader_change_from_internal_broker
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - TEST_SAY
    - rd_kafka_mock_stop_request_tracking
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_topic_set_error
    - rd_kafka_mock_push_request_errors
    - TEST_ASSERT_LATER
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - TEST_LATER_CHECK
    - test_conf_init
    - test_mock_wait_matching_requests
    - rd_kafka_poll
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_leader_change_from_internal_broker(int variation)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:779,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:789,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:794,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:800,1
    - Dst: rd_kafka_offsets_for_times
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:805,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:809,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:816,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:820,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:823,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:829,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:839,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:845,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:849,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:856,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:862,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 868
    functionName: do_test_list_offsets_leader_change_rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offsets_for_times
    - test_consumer_assign_by_rebalance_protocol
    - test_consumer_unassign_by_rebalance_protocol
    - rd_kafka_mock_partition_set_leader
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_query_watermark_offsets
    - rd_kafka_topic_partition_set_leader_epoch
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void do_test_list_offsets_leader_change_rebalance_cb(\n    rd_kafka_t
      *rk,\n    rd_kafka_resp_err_t err,\n    rd_kafka_topic_partition_list_t *partitions,\n
      \   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:879,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:885,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:889,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:892,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:893,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:894,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:897,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:900,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:901,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:902,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:903,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:909,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:911,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:912,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:917,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:919,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:921,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:923,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 878
    functionDepth: 7
    functionLinenumber: 878
    functionLinenumberEnd: 925
    functionName: do_test_list_offsets_leader_change
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_consumer_poll_no_msgs
    - TEST_LATER_CHECK
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_conf_set_rebalance_cb
    - test_conf_init
    - test_mock_cluster_destroy
    - test_id_generate
    - rd_kafka_conf_set_opaque
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_list_offsets_leader_change(int variation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:929,1
    - Dst: do_test_no_duplicates_during_offset_validation
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:931,1
    - Dst: do_test_permanent_error_retried
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:933,1
    - Dst: do_test_permanent_error_retried
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:934,1
    - Dst: do_test_two_leader_changes
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:936,1
    - Dst: do_test_store_offset_without_leader_epoch
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:938,1
    - Dst: do_test_leader_change_no_validation
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:940,1
    - Dst: do_test_leader_change_no_validation
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:941,1
    - Dst: do_test_leader_change_from_internal_broker
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:943,1
    - Dst: do_test_leader_change_from_internal_broker
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:944,1
    - Dst: do_test_list_offsets_leader_change
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:946,1
    - Dst: do_test_list_offsets_leader_change
      Src: /src/librdkafka/tests/0139-offset_validation_mock.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 927
    functionDepth: 8
    functionLinenumber: 927
    functionLinenumberEnd: 950
    functionName: main_0139_offset_validation_mock
    functionSourceFile: /src/librdkafka/tests/0139-offset_validation_mock.c
    functionUses: 0
    functionsReached:
    - do_test_two_leader_changes
    - do_test_store_offset_without_leader_epoch
    - do_test_leader_change_no_validation
    - do_test_permanent_error_retried
    - do_test_leader_change_from_internal_broker
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_list_offsets_leader_change
    - do_test_no_duplicates_during_offset_validation
    linkageType: ''
    returnType: int
    signature: int main_0139_offset_validation_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:50,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:59,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:61,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:62,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:63,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:64,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:66,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:68,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:71,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:72,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:74,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:75,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:77,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:78,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:82,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:84,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:85,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:87,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:89,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:91,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:93,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0041-fetch_max_bytes.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 49
    functionDepth: 8
    functionLinenumber: 49
    functionLinenumberEnd: 97
    functionName: main_0041_fetch_max_bytes
    functionSourceFile: /src/librdkafka/tests/0041-fetch_max_bytes.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_create_producer
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - tsprintf
    - rd_kafka_topic_new
    - test_consumer_stop
    - test_conf_init
    - TEST_SAY
    - test_id_generate
    - test_timeout_set
    - test_consume_msgs
    - test_mk_topic_name
    - test_conf_set
    - test_create_producer_topic
    - test_wait_topic_exists
    - test_create_consumer
    - test_consumer_start
    linkageType: ''
    returnType: int
    signature: int main_0041_fetch_max_bytes(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:62,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:65,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:76,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:88,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:91,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:95,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:95,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:99,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:103,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:103,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:110,1
    - Dst: exit
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:114,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:118,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:122,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:122,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:126,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:127,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:130,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:133,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:136,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:137,1
    - Dst: test_wait_exit
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 153
    functionName: test_metadata_cpp
    functionSourceFile: /src/librdkafka/tests/xxxx-metadata.cpp
    functionUses: 0
    functionsReached:
    - exit
    - std::stringstream::str
    - RdKafka::Metadata*::topics
    - RdKafka::Conf*::set
    - rd_sleep
    - TEST_SAY
    - RdKafka::Producer*::metadata
    - thrd_create
    - test_mk_topic_name
    - test_wait_exit
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void test_metadata_cpp(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:156,1
    - Dst: test_metadata_cpp
      Src: /src/librdkafka/tests/xxxx-metadata.cpp:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 5
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/librdkafka/tests/xxxx-metadata.cpp
    functionUses: 3
    functionsReached:
    - test_metadata_cpp
    - test_conf_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0068-produce_timeout.c:43,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0068-produce_timeout.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0068-produce_timeout.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0068-produce_timeout.c:59,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0068-produce_timeout.c:62,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0068-produce_timeout.c:64,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/0068-produce_timeout.c:64,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/0068-produce_timeout.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0068-produce_timeout.c
    functionUses: 27
    functionsReached:
    - rd_kafka_message_status
    - rd_kafka_err2str
    - TEST_ASSERT_LATER
    - TEST_FAIL_LATER
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0068-produce_timeout.c:78,1
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0068-produce_timeout.c:86,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0068-produce_timeout.c:89,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0068-produce_timeout.c:90,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0068-produce_timeout.c:91,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0068-produce_timeout.c:93,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0068-produce_timeout.c:95,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0068-produce_timeout.c:96,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0068-produce_timeout.c:97,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0068-produce_timeout.c:101,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0068-produce_timeout.c:103,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0068-produce_timeout.c:106,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0068-produce_timeout.c:107,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0068-produce_timeout.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0068-produce_timeout.c:109,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0068-produce_timeout.c:110,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0068-produce_timeout.c:114,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0068-produce_timeout.c:117,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0068-produce_timeout.c:118,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0068-produce_timeout.c:120,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0068-produce_timeout.c:123,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0068-produce_timeout.c:125,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0068-produce_timeout.c:128,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0068-produce_timeout.c:129,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0068-produce_timeout.c:131,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0068-produce_timeout.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 136
    functionName: main_0068_produce_timeout
    functionSourceFile: /src/librdkafka/tests/0068-produce_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_create_handle
    - rd_kafka_flush
    - test_auto_create_topic_rkt
    - test_id_generate
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - TEST_LATER_CHECK
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - test_produce_msgs_nowait
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0068_produce_timeout(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_event_stats
      Src: /src/librdkafka/tests/0062-stats_event.c:48,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0062-stats_event.c:50,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0062-stats_event.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: handle_stats
    functionSourceFile: /src/librdkafka/tests/0062-stats_event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_stats
    - TEST_FAIL
    - TEST_SAY
    linkageType: ''
    returnType: void
    signature: void handle_stats(rd_kafka_event_t *rkev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0062-stats_event.c:64,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0062-stats_event.c:67,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0062-stats_event.c:68,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0062-stats_event.c:70,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0062-stats_event.c:73,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0062-stats_event.c:75,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0062-stats_event.c:79,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0062-stats_event.c:83,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0062-stats_event.c:84,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0062-stats_event.c:86,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0062-stats_event.c:87,1
    - Dst: handle_stats
      Src: /src/librdkafka/tests/0062-stats_event.c:88,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0062-stats_event.c:93,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0062-stats_event.c:94,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0062-stats_event.c:97,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0062-stats_event.c:99,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0062-stats_event.c:101,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0062-stats_event.c:102,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0062-stats_event.c:105,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0062-stats_event.c:106,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0062-stats_event.c:109,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0062-stats_event.c:112,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0062-stats_event.c:115,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0062-stats_event.c:121,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0062-stats_event.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 6
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: main_0062_stats_event
    functionSourceFile: /src/librdkafka/tests/0062-stats_event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - rd_kafka_queue_poll
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - TEST_SAY
    - TEST_FAIL
    - test_create_handle
    - strcmp
    - rd_kafka_event_name
    - TIMING_STOP
    - rd_kafka_conf_new
    - handle_stats
    - test_conf_init
    - TIMING_START
    - TEST_WARN
    - rd_kafka_queue_get_main
    linkageType: ''
    returnType: int
    signature: int main_0062_stats_event(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0022-consume_batch.c:56,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0022-consume_batch.c:58,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0022-consume_batch.c:62,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0022-consume_batch.c:62,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0022-consume_batch.c:64,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0022-consume_batch.c:71,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0022-consume_batch.c:74,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0022-consume_batch.c:78,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:84,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0022-consume_batch.c:85,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/tests/0022-consume_batch.c:88,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0022-consume_batch.c:91,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0022-consume_batch.c:92,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:99,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0022-consume_batch.c:105,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0022-consume_batch.c:106,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0022-consume_batch.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:109,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0022-consume_batch.c:114,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0022-consume_batch.c:115,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0022-consume_batch.c:115,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:126,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0022-consume_batch.c:129,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0022-consume_batch.c:131,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0022-consume_batch.c:132,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:135,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0022-consume_batch.c:136,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:139,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:141,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0022-consume_batch.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 144
    functionName: do_test_consume_batch
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_queue_destroy
    - rd_kafka_last_error
    - rd_kafka_consume_start_queue
    - rd_kafka_destroy
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_message_destroy
    - SUB_TEST
    - test_id_generate
    - SUB_TEST_PASS
    - rd_kafka_consume_batch_queue
    - rd_kafka_topic_name
    - rd_strdup
    - TIMING_STOP
    - rd_free
    - rd_kafka_consume_stop
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - test_create_topic_object
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0022-consume_batch.c:158,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/tests/0022-consume_batch.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: refresh_cb
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_oauthbearer_set_token_failure
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void refresh_cb(rd_kafka_t *rk, const char *oauthbearer_config, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0022-consume_batch.c:170,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0022-consume_batch.c:174,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0022-consume_batch.c:175,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0022-consume_batch.c:176,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/tests/0022-consume_batch.c:177,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0022-consume_batch.c:180,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0022-consume_batch.c:183,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0022-consume_batch.c:185,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0022-consume_batch.c:186,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:188,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0022-consume_batch.c:189,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:192,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 7
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: do_test_consume_batch_oauthbearer_cb
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - TEST_SAY
    - TEST_ASSERT
    - test_conf_set
    - rd_kafka_queue_get_main
    - test_create_consumer
    - rd_kafka_queue_destroy
    - rd_kafka_consume_batch_queue
    - rd_kafka_conf_set_oauthbearer_token_refresh_cb
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_oauthbearer_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0022-consume_batch.c:214,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0022-consume_batch.c:216,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0022-consume_batch.c:217,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0022-consume_batch.c:218,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0022-consume_batch.c:221,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0022-consume_batch.c:224,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0022-consume_batch.c:225,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0022-consume_batch.c:230,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:231,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0022-consume_batch.c:234,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:236,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0022-consume_batch.c:237,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:239,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0022-consume_batch.c:242,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0022-consume_batch.c:244,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0022-consume_batch.c:245,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:246,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0022-consume_batch.c:248,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:250,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:252,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0022-consume_batch.c:254,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0022-consume_batch.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 257
    functionName: do_test_consume_batch_non_existent_topic
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_message_destroy
    - test_conf_init
    - rd_kafka_topic_partition_list_new
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_get_consumer
    - rd_kafka_message_errstr
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_queue_destroy
    - SUB_TEST_PASS
    - rd_kafka_consume_batch_queue
    - test_create_consumer
    - rd_kafka_subscribe
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_non_existent_topic(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consume_batch
      Src: /src/librdkafka/tests/0022-consume_batch.c:261,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0022-consume_batch.c:265,1
    - Dst: do_test_consume_batch_non_existent_topic
      Src: /src/librdkafka/tests/0022-consume_batch.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 8
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: main_0022_consume_batch
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - test_consumer_group_protocol_classic
    - do_test_consume_batch
    - do_test_consume_batch_non_existent_topic
    linkageType: ''
    returnType: int
    signature: int main_0022_consume_batch(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consume_batch_oauthbearer_cb
      Src: /src/librdkafka/tests/0022-consume_batch.c:274,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0022-consume_batch.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 8
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: main_0022_consume_batch_local
    functionSourceFile: /src/librdkafka/tests/0022-consume_batch.c
    functionUses: 0
    functionsReached:
    - TEST_SKIP
    - do_test_consume_batch_oauthbearer_cb
    linkageType: ''
    returnType: int
    signature: int main_0022_consume_batch_local(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0036-partial_fetch.c:48,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0036-partial_fetch.c:57,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0036-partial_fetch.c:59,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0036-partial_fetch.c:60,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0036-partial_fetch.c:61,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0036-partial_fetch.c:62,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0036-partial_fetch.c:64,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0036-partial_fetch.c:66,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0036-partial_fetch.c:67,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0036-partial_fetch.c:69,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0036-partial_fetch.c:70,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0036-partial_fetch.c:73,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0036-partial_fetch.c:74,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0036-partial_fetch.c:75,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0036-partial_fetch.c:77,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0036-partial_fetch.c:79,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0036-partial_fetch.c:81,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0036-partial_fetch.c:83,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0036-partial_fetch.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 47
    functionDepth: 8
    functionLinenumber: 47
    functionLinenumberEnd: 87
    functionName: main_0036_partial_fetch
    functionSourceFile: /src/librdkafka/tests/0036-partial_fetch.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_create_producer
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - test_consumer_stop
    - rd_kafka_topic_new
    - TEST_SAY
    - test_conf_init
    - test_id_generate
    - test_consume_msgs
    - test_mk_topic_name
    - test_conf_set
    - test_create_producer_topic
    - test_wait_topic_exists
    - test_create_consumer
    - test_consumer_start
    linkageType: ''
    returnType: int
    signature: int main_0036_partial_fetch(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0017-compression.c:63,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0017-compression.c:66,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0017-compression.c:70,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0017-compression.c:70,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0017-compression.c:71,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0017-compression.c:75,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0017-compression.c:77,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0017-compression.c:81,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0017-compression.c:85,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0017-compression.c:88,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0017-compression.c:91,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0017-compression.c:95,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0017-compression.c:102,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0017-compression.c:103,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0017-compression.c:105,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0017-compression.c:109,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0017-compression.c:111,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0017-compression.c:114,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0017-compression.c:118,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0017-compression.c:127,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0017-compression.c:129,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0017-compression.c:132,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0017-compression.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 41
    functionDepth: 8
    functionLinenumber: 41
    functionLinenumberEnd: 140
    functionName: main_0017_compression
    functionSourceFile: /src/librdkafka/tests/0017-compression.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - test_consume_msgs
    - test_wait_topic_exists
    - rd_kafka_destroy
    - test_produce_msgs
    - test_consumer_stop
    - TEST_SAY
    - test_create_consumer
    - test_id_generate
    - test_create_producer_topic
    - rd_strdup
    - rd_free
    - test_create_producer
    - test_conf_init
    - test_timeout_set
    - test_mk_topic_name
    - test_conf_set
    - test_consumer_start
    linkageType: ''
    returnType: int
    signature: int main_0017_compression(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0134-ssl_provider.c:39,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0134-ssl_provider.c:42,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0134-ssl_provider.c:46,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0134-ssl_provider.c:47,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0134-ssl_provider.c:48,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0134-ssl_provider.c:50,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0134-ssl_provider.c:52,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0134-ssl_provider.c:56,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0134-ssl_provider.c:59,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0134-ssl_provider.c:62,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0134-ssl_provider.c:64,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0134-ssl_provider.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - providers
    - must_pass
    - must_fail
    argTypes:
    - char*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: test_providers
    functionSourceFile: /src/librdkafka/tests/0134-ssl_provider.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - TEST_SAY
    - test_conf_init
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - TEST_FAIL
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void test_providers(const char *providers,\n                           rd_bool_t
      must_pass,\n                           rd_bool_t must_fail)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0134-ssl_provider.c:74,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0134-ssl_provider.c:77,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0134-ssl_provider.c:79,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0134-ssl_provider.c:81,1
    - Dst: test_providers
      Src: /src/librdkafka/tests/0134-ssl_provider.c:86,1
    - Dst: test_providers
      Src: /src/librdkafka/tests/0134-ssl_provider.c:88,1
    - Dst: test_providers
      Src: /src/librdkafka/tests/0134-ssl_provider.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: main_0134_ssl_provider
    functionSourceFile: /src/librdkafka/tests/0134-ssl_provider.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - test_providers
    - test_conf_init
    - TEST_SKIP
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: int
    signature: int main_0134_ssl_provider(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_event_message_next
      Src: /src/librdkafka/tests/0039-event.c:50,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/tests/0039-event.c:51,1
    - Dst: free
      Src: /src/librdkafka/tests/0039-event.c:53,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0039-event.c:55,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0039-event.c:59,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0039-event.c:61,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:65,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0039-event.c:66,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0039-event.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: handle_drs
    functionSourceFile: /src/librdkafka/tests/0039-event.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - free
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_event_message_next
    - rd_kafka_message_broker_id
    - TEST_FAIL
    - rd_kafka_topic_name
    linkageType: ''
    returnType: void
    signature: void handle_drs(rd_kafka_event_t *rkev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0039-event.c:99,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0039-event.c:102,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0039-event.c:104,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0039-event.c:107,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0039-event.c:109,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0039-event.c:111,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0039-event.c:111,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:113,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0039-event.c:113,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0039-event.c:116,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0039-event.c:118,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0039-event.c:120,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0039-event.c:122,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0039-event.c:123,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:125,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0039-event.c:126,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0039-event.c:128,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:129,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0039-event.c:132,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0039-event.c:133,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0039-event.c:135,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0039-event.c:136,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0039-event.c:138,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0039-event.c:139,1
    - Dst: rd_kafka_event_message_count
      Src: /src/librdkafka/tests/0039-event.c:140,1
    - Dst: handle_drs
      Src: /src/librdkafka/tests/0039-event.c:141,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:144,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0039-event.c:145,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0039-event.c:148,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0039-event.c:150,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:153,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:156,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0039-event.c:159,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0039-event.c:162,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:165,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0039-event.c:165,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0039-event.c:166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 169
    functionName: main_0039_event_dr
    functionSourceFile: /src/librdkafka/tests/0039-event.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_queue_poll
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_outq_len
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - TEST_SAY
    - rd_strerror
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    - test_create_handle
    - rd_kafka_event_message_count
    - handle_drs
    - rd_kafka_event_name
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - test_conf_init
    - TIMING_START
    - rd_kafka_queue_get_main
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: int
    signature: int main_0039_event_dr(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0039-event.c:185,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0039-event.c:186,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0039-event.c:187,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0039-event.c:188,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0039-event.c:191,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0039-event.c:192,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0039-event.c:193,1
    - Dst: rd_kafka_set_log_queue
      Src: /src/librdkafka/tests/0039-event.c:193,1
    - Dst: memset
      Src: /src/librdkafka/tests/0039-event.c:197,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0039-event.c:201,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0039-event.c:202,1
    - Dst: rd_kafka_event_log
      Src: /src/librdkafka/tests/0039-event.c:204,1
    - Dst: rd_kafka_event_debug_contexts
      Src: /src/librdkafka/tests/0039-event.c:205,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:206,1
    - Dst: strchr
      Src: /src/librdkafka/tests/0039-event.c:210,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0039-event.c:211,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:218,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0039-event.c:219,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0039-event.c:222,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0039-event.c:226,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:227,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0039-event.c:227,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0039-event.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 174
    functionDepth: 6
    functionLinenumber: 174
    functionLinenumberEnd: 231
    functionName: main_0039_event_log
    functionSourceFile: /src/librdkafka/tests/0039-event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - rd_kafka_queue_poll
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_destroy
    - rd_kafka_set_log_queue
    - TEST_SAY
    - memset
    - TEST_FAIL
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_event_debug_contexts
    - strchr
    - rd_kafka_event_name
    - rd_kafka_conf_new
    - rd_kafka_queue_get_main
    - rd_kafka_event_log
    linkageType: ''
    returnType: int
    signature: int main_0039_event_log(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0039-event.c:246,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0039-event.c:248,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0039-event.c:249,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0039-event.c:252,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0039-event.c:254,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0039-event.c:258,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0039-event.c:259,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:261,1
    - Dst: rd_kafka_event_error_is_fatal
      Src: /src/librdkafka/tests/0039-event.c:262,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0039-event.c:264,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0039-event.c:265,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0039-event.c:265,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0039-event.c:266,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:270,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0039-event.c:271,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0039-event.c:274,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0039-event.c:277,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0039-event.c:280,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0039-event.c:280,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0039-event.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 284
    functionName: main_0039_event
    functionSourceFile: /src/librdkafka/tests/0039-event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_create_handle
    - rd_kafka_err2name
    - rd_kafka_event_error_string
    - rd_kafka_conf_set
    - rd_kafka_queue_poll
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - TEST_SAY
    - rd_kafka_event_error_is_fatal
    - rd_kafka_name
    - rd_kafka_queue_get_main
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_name
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    linkageType: ''
    returnType: int
    signature: int main_0039_event(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_version
      Src: /src/librdkafka/tests/0006-symbols.c:44,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/tests/0006-symbols.c:45,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/tests/0006-symbols.c:46,1
    - Dst: rd_kafka_get_err_descs
      Src: /src/librdkafka/tests/0006-symbols.c:47,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0006-symbols.c:48,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0006-symbols.c:49,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0006-symbols.c:50,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0006-symbols.c:51,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:52,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0006-symbols.c:53,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0006-symbols.c:54,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0006-symbols.c:55,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0006-symbols.c:56,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0006-symbols.c:57,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/tests/0006-symbols.c:58,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/0006-symbols.c:59,1
    - Dst: rd_kafka_conf_set_socket_cb
      Src: /src/librdkafka/tests/0006-symbols.c:60,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0006-symbols.c:61,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/tests/0006-symbols.c:62,1
    - Dst: rd_kafka_conf_set_throttle_cb
      Src: /src/librdkafka/tests/0006-symbols.c:63,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/tests/0006-symbols.c:64,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/tests/0006-symbols.c:65,1
    - Dst: rd_kafka_conf_set_open_cb
      Src: /src/librdkafka/tests/0006-symbols.c:67,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0006-symbols.c:69,1
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0006-symbols.c:70,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/tests/0006-symbols.c:71,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/tests/0006-symbols.c:72,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/tests/0006-symbols.c:73,1
    - Dst: rd_kafka_conf_properties_show
      Src: /src/librdkafka/tests/0006-symbols.c:74,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/0006-symbols.c:75,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/tests/0006-symbols.c:76,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:77,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0006-symbols.c:78,1
    - Dst: rd_kafka_topic_conf_set_opaque
      Src: /src/librdkafka/tests/0006-symbols.c:79,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/tests/0006-symbols.c:80,1
    - Dst: rd_kafka_topic_conf_set_partitioner_cb
      Src: /src/librdkafka/tests/0006-symbols.c:81,1
    - Dst: rd_kafka_topic_partition_available
      Src: /src/librdkafka/tests/0006-symbols.c:82,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/tests/0006-symbols.c:83,1
    - Dst: rd_kafka_msg_partitioner_random
      Src: /src/librdkafka/tests/0006-symbols.c:84,1
    - Dst: rd_kafka_msg_partitioner_consistent
      Src: /src/librdkafka/tests/0006-symbols.c:85,1
    - Dst: rd_kafka_msg_partitioner_consistent_random
      Src: /src/librdkafka/tests/0006-symbols.c:87,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0006-symbols.c:89,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:90,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0006-symbols.c:91,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0006-symbols.c:92,1
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/tests/0006-symbols.c:93,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0006-symbols.c:94,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:95,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0006-symbols.c:96,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:97,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0006-symbols.c:98,1
    - Dst: rd_kafka_message_timestamp
      Src: /src/librdkafka/tests/0006-symbols.c:99,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/tests/0006-symbols.c:100,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0006-symbols.c:101,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/tests/0006-symbols.c:102,1
    - Dst: rd_kafka_consume_batch
      Src: /src/librdkafka/tests/0006-symbols.c:103,1
    - Dst: rd_kafka_consume_callback
      Src: /src/librdkafka/tests/0006-symbols.c:104,1
    - Dst: rd_kafka_offset_store
      Src: /src/librdkafka/tests/0006-symbols.c:105,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0006-symbols.c:106,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0006-symbols.c:107,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0006-symbols.c:108,1
    - Dst: rd_kafka_brokers_add
      Src: /src/librdkafka/tests/0006-symbols.c:109,1
    - Dst: rd_kafka_set_log_level
      Src: /src/librdkafka/tests/0006-symbols.c:111,1
    - Dst: rd_kafka_log_print
      Src: /src/librdkafka/tests/0006-symbols.c:112,1
    - Dst: rd_kafka_log_syslog
      Src: /src/librdkafka/tests/0006-symbols.c:114,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0006-symbols.c:116,1
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/tests/0006-symbols.c:117,1
    - Dst: rd_kafka_thread_cnt
      Src: /src/librdkafka/tests/0006-symbols.c:118,1
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/tests/0006-symbols.c:119,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0006-symbols.c:120,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:121,1
    - Dst: rd_kafka_queue_get_partition
      Src: /src/librdkafka/tests/0006-symbols.c:122,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:123,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/tests/0006-symbols.c:124,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/tests/0006-symbols.c:125,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0006-symbols.c:126,1
    - Dst: rd_kafka_consume_callback_queue
      Src: /src/librdkafka/tests/0006-symbols.c:127,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/tests/0006-symbols.c:128,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0006-symbols.c:129,1
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/tests/0006-symbols.c:130,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/tests/0006-symbols.c:131,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:132,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0006-symbols.c:135,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0006-symbols.c:136,1
    - Dst: rd_kafka_subscription
      Src: /src/librdkafka/tests/0006-symbols.c:137,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0006-symbols.c:138,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0006-symbols.c:139,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0006-symbols.c:140,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0006-symbols.c:141,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0006-symbols.c:142,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/tests/0006-symbols.c:143,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0006-symbols.c:144,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0006-symbols.c:145,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0006-symbols.c:148,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0006-symbols.c:149,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0006-symbols.c:150,1
    - Dst: rd_kafka_topic_partition_list_add_range
      Src: /src/librdkafka/tests/0006-symbols.c:151,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/tests/0006-symbols.c:152,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/tests/0006-symbols.c:153,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0006-symbols.c:154,1
    - Dst: rd_kafka_topic_partition_list_set_offset
      Src: /src/librdkafka/tests/0006-symbols.c:155,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0006-symbols.c:156,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0006-symbols.c:157,1
    - Dst: rd_kafka_get_watermark_offsets
      Src: /src/librdkafka/tests/0006-symbols.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 108
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 163
    functionName: main_0006_symbols
    functionSourceFile: /src/librdkafka/tests/0006-symbols.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_properties_show
    - rd_kafka_conf_set_offset_commit_cb
    - rd_kafka_outq_len
    - rd_kafka_queue_destroy
    - rd_kafka_subscription
    - rd_kafka_subscribe
    - rd_kafka_conf_set_stats_cb
    - rd_kafka_topic_conf_get
    - rd_kafka_destroy
    - rd_kafka_consume_start
    - rd_kafka_conf_dup
    - rd_kafka_topic_conf_destroy
    - rd_kafka_dump
    - rd_kafka_message_errstr
    - rd_kafka_committed
    - rd_kafka_conf_get
    - rd_kafka_brokers_add
    - rd_kafka_consume_batch
    - rd_kafka_metadata
    - rd_kafka_get_watermark_offsets
    - rd_kafka_opaque
    - rd_kafka_topic_name
    - rd_kafka_unsubscribe
    - rd_kafka_assign
    - rd_kafka_commit_message
    - rd_kafka_topic_opaque
    - rd_kafka_set_log_level
    - rd_kafka_conf_set
    - rd_kafka_topic_partition_list_add
    - rd_kafka_conf_set_socket_cb
    - rd_kafka_consume_queue
    - rd_kafka_err2name
    - rd_kafka_topic_conf_set
    - rd_kafka_conf_set_opaque
    - rd_kafka_conf_set_log_cb
    - rd_kafka_produce
    - rd_kafka_topic_conf_dump
    - rd_kafka_position
    - rd_kafka_conf_dump_free
    - rd_kafka_conf_dump
    - rd_kafka_conf_set_throttle_cb
    - rd_kafka_topic_conf_new
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_thread_cnt
    - rd_kafka_assignment
    - rd_kafka_msg_partitioner_consistent_random
    - rd_kafka_topic_partition_list_del
    - rd_kafka_version
    - rd_kafka_offset_store
    - rd_kafka_consume_start_queue
    - rd_kafka_produce_batch
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_set_offset
    - rd_kafka_wait_destroyed
    - rd_kafka_yield
    - rd_kafka_topic_conf_set_opaque
    - rd_kafka_conf_set_rebalance_cb
    - rd_kafka_message_destroy
    - rd_kafka_consumer_close
    - rd_kafka_conf_set_open_cb
    - rd_kafka_consumer_poll
    - rd_kafka_mem_free
    - rd_kafka_consume_batch_queue
    - rd_kafka_topic_partition_list_add_range
    - rd_kafka_version_str
    - rd_kafka_conf_set_default_topic_conf
    - rd_kafka_log_syslog
    - rd_kafka_seek
    - rd_kafka_get_debug_contexts
    - rd_kafka_topic_conf_set_partitioner_cb
    - rd_kafka_consume
    - rd_kafka_get_err_descs
    - rd_kafka_conf_destroy
    - rd_kafka_memberid
    - rd_kafka_msg_partitioner_random
    - rd_kafka_consume_callback
    - rd_kafka_list_groups
    - rd_kafka_name
    - rd_kafka_topic_partition_available
    - rd_kafka_log_print
    - rd_kafka_last_error
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_topic_partition_list_del_by_idx
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_queue_get_partition
    - rd_kafka_commit
    - rd_kafka_message_timestamp
    - rd_kafka_msg_partitioner_consistent
    - rd_kafka_flush
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consume_callback_queue
    - rd_kafka_group_list_destroy
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_conf_new
    - rd_kafka_conf_set_error_cb
    - rd_kafka_consume_stop
    - rd_kafka_topic_conf_dup
    - rd_kafka_poll
    - rd_kafka_query_watermark_offsets
    - rd_kafka_new
    - rd_kafka_metadata_destroy
    linkageType: ''
    returnType: int
    signature: int main_0006_symbols(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getrusage
      Src: /src/librdkafka/tests/rusage.c:51,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/rusage.c:52,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/rusage.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ru
    argTypes:
    - struct rusage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: test_getrusage
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 0
    functionsReached:
    - getrusage
    - TEST_WARN
    - rd_strerror
    linkageType: ''
    returnType: int
    signature: int test_getrusage(struct rusage *ru)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TV
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: _tv2s
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tv2s(TV)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TV
    - ','
    - DURATION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: _tv2cpu
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tv2cpu(TV, DURATION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: timersub
      Src: /src/librdkafka/tests/rusage.c:77,1
    - Dst: timersub
      Src: /src/librdkafka/tests/rusage.c:78,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/rusage.c:87,1
    - Dst: _tv2s
      Src: /src/librdkafka/tests/rusage.c:93,1
    - Dst: _tv2cpu
      Src: /src/librdkafka/tests/rusage.c:93,1
    - Dst: _tv2s
      Src: /src/librdkafka/tests/rusage.c:94,1
    - Dst: _tv2cpu
      Src: /src/librdkafka/tests/rusage.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - start
    - end
    - duration
    argTypes:
    - struct rusage*
    - struct rusage*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 98
    functionName: test_rusage_calc
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 0
    functionsReached:
    - _tv2s
    - timersub
    - TEST_SAY
    - _tv2cpu
    linkageType: ''
    returnType: struct rusage
    signature: "struct rusage test_rusage_calc(const struct rusage *start,\n                                      const
      struct rusage *end,\n                                      double duration)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_dbl_zero
      Src: /src/librdkafka/tests/rusage.c:133,1
    - Dst: _tv2cpu
      Src: /src/librdkafka/tests/rusage.c:139,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/rusage.c:141,1
    - Dst: _tv2s
      Src: /src/librdkafka/tests/rusage.c:143,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/rusage.c:144,1
    - Dst: rd_dbl_zero
      Src: /src/librdkafka/tests/rusage.c:150,1
    - Dst: RD_MAX
      Src: /src/librdkafka/tests/rusage.c:153,1
    - Dst: _tv2cpu
      Src: /src/librdkafka/tests/rusage.c:157,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/rusage.c:159,1
    - Dst: _tv2s
      Src: /src/librdkafka/tests/rusage.c:161,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/rusage.c:162,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/rusage.c:168,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/rusage.c:171,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/rusage.c:183,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/rusage.c:190,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/tests/rusage.c:190,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/rusage.c:196,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - test
    - ru
    - duration
    argTypes:
    - struct test*
    - struct rusage*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 203
    functionName: test_rusage_check_thresholds
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 0
    functionsReached:
    - RD_MAX
    - rd_snprintf
    - rd_dbl_zero
    - _tv2s
    - TEST_ASSERT
    - RD_ARRAYSIZE
    - TEST_WARN
    - TEST_FAIL
    - _tv2cpu
    linkageType: ''
    returnType: int
    signature: "int test_rusage_check_thresholds(struct test *test,\n                                        const
      struct rusage *ru,\n                                        double duration)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_getrusage
      Src: /src/librdkafka/tests/rusage.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - struct test*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: test_rusage_start
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 1
    functionsReached:
    - test_getrusage
    linkageType: ''
    returnType: void
    signature: void test_rusage_start(struct test *test)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_getrusage
      Src: /src/librdkafka/tests/rusage.c:234,1
    - Dst: test_rusage_calc
      Src: /src/librdkafka/tests/rusage.c:243,1
    - Dst: test_rusage_check_thresholds
      Src: /src/librdkafka/tests/rusage.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - test
    - duration
    argTypes:
    - struct test*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: test_rusage_stop
    functionSourceFile: /src/librdkafka/tests/rusage.c
    functionUses: 1
    functionsReached:
    - test_rusage_check_thresholds
    - test_rusage_calc
    - test_getrusage
    linkageType: ''
    returnType: int
    signature: int test_rusage_stop(struct test *test, double duration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0046-rkt_cache.c:45,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0046-rkt_cache.c:48,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0046-rkt_cache.c:50,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0046-rkt_cache.c:55,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0046-rkt_cache.c:56,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0046-rkt_cache.c:58,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0046-rkt_cache.c:61,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0046-rkt_cache.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: main_0046_rkt_cache
    functionSourceFile: /src/librdkafka/tests/0046-rkt_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_create_producer
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - TEST_ASSERT
    - test_mk_topic_name
    - test_create_producer_topic
    linkageType: ''
    returnType: int
    signature: int main_0046_rkt_cache(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0138-admin_mock.c:71,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0138-admin_mock.c:73,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:75,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0138-admin_mock.c:77,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0138-admin_mock.c:79,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0138-admin_mock.c:81,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0138-admin_mock.c:83,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:87,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0138-admin_mock.c:89,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0138-admin_mock.c:89,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:96,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0138-admin_mock.c:97,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:100,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:102,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:103,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0138-admin_mock.c:104,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0138-admin_mock.c:106,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:109,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:110,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:112,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:113,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0138-admin_mock.c:118,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0138-admin_mock.c:118,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:119,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0138-admin_mock.c:120,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0138-admin_mock.c:123,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:124,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0138-admin_mock.c:124,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0138-admin_mock.c:125,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0138-admin_mock.c:127,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:131,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0138-admin_mock.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:136,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0138-admin_mock.c:138,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/tests/0138-admin_mock.c:140,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:142,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/tests/0138-admin_mock.c:145,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0138-admin_mock.c:151,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:156,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:157,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:160,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:163,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:165,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:167,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:169,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0138-admin_mock.c:171,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0138-admin_mock.c:173,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - req_timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 176
    functionName: do_test_AlterConsumerGroupOffsets_errors
    functionSourceFile: /src/librdkafka/tests/0138-admin_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - test_mock_cluster_new
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_AlterConsumerGroupOffsets_result
    - rd_kafka_AlterConsumerGroupOffsets_destroy
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_mock_push_request_errors
    - TEST_ASSERT_LATER
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_AlterConsumerGroupOffsets
    - rd_kafka_AlterConsumerGroupOffsets_result_groups
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_AlterConsumerGroupOffsets_new
    - tmout_multip
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - test_conf_init
    - test_conf_set
    - rd_kafka_queue_get_main
    - rd_kafka_group_result_partitions
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_AlterConsumerGroupOffsets_errors(int req_timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0138-admin_mock.c:196,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:198,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0138-admin_mock.c:199,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0138-admin_mock.c:200,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0138-admin_mock.c:201,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0138-admin_mock.c:203,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0138-admin_mock.c:205,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0138-admin_mock.c:207,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0138-admin_mock.c:208,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:210,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/tests/0138-admin_mock.c:211,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0138-admin_mock.c:213,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:215,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0138-admin_mock.c:215,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0138-admin_mock.c:218,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0138-admin_mock.c:220,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0138-admin_mock.c:220,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:222,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0138-admin_mock.c:225,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:227,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/tests/0138-admin_mock.c:231,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0138-admin_mock.c:233,1
    - Dst: rd_kafka_event_ListOffsets_result
      Src: /src/librdkafka/tests/0138-admin_mock.c:234,1
    - Dst: rd_kafka_ListOffsets_result_infos
      Src: /src/librdkafka/tests/0138-admin_mock.c:235,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:237,1
    - Dst: rd_kafka_ListOffsetsResultInfo_topic_partition
      Src: /src/librdkafka/tests/0138-admin_mock.c:239,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:241,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:243,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:245,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0138-admin_mock.c:247,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/tests/0138-admin_mock.c:249,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0138-admin_mock.c:251,1
    - Dst: rd_kafka_event_ListOffsets_result
      Src: /src/librdkafka/tests/0138-admin_mock.c:252,1
    - Dst: rd_kafka_ListOffsets_result_infos
      Src: /src/librdkafka/tests/0138-admin_mock.c:253,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:255,1
    - Dst: rd_kafka_ListOffsetsResultInfo_topic_partition
      Src: /src/librdkafka/tests/0138-admin_mock.c:257,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0138-admin_mock.c:259,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0138-admin_mock.c:261,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:263,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:265,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:266,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:267,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0138-admin_mock.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 182
    functionDepth: 6
    functionLinenumber: 182
    functionLinenumberEnd: 269
    functionName: do_test_ListOffsets_leader_change
    functionSourceFile: /src/librdkafka/tests/0138-admin_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - test_mock_cluster_new
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - TEST_SAY
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_ListOffsets_result_infos
    - rd_kafka_event_ListOffsets_result
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - test_conf_init
    - rd_kafka_ListOffsetsResultInfo_topic_partition
    - test_conf_set
    - rd_kafka_queue_get_main
    - rd_kafka_ListOffsets
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_ListOffsets_leader_change(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0138-admin_mock.c:273,1
    - Dst: do_test_AlterConsumerGroupOffsets_errors
      Src: /src/librdkafka/tests/0138-admin_mock.c:275,1
    - Dst: do_test_AlterConsumerGroupOffsets_errors
      Src: /src/librdkafka/tests/0138-admin_mock.c:276,1
    - Dst: do_test_ListOffsets_leader_change
      Src: /src/librdkafka/tests/0138-admin_mock.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 7
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: main_0138_admin_mock
    functionSourceFile: /src/librdkafka/tests/0138-admin_mock.c
    functionUses: 0
    functionsReached:
    - do_test_AlterConsumerGroupOffsets_errors
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_ListOffsets_leader_change
    linkageType: ''
    returnType: int
    signature: int main_0138_admin_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0146-metadata_mock.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: is_metadata_request
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_metadata_request(rd_kafka_mock_request_t *request,\n
      \                                    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0146-metadata_mock.c:42,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0146-metadata_mock.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: is_fetch_request
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t is_fetch_request(rd_kafka_mock_request_t *request,\n                                  void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0146-metadata_mock.c:58,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:64,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:66,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0146-metadata_mock.c:67,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0146-metadata_mock.c:69,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:70,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:71,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:72,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:74,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:76,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0146-metadata_mock.c:77,1
    - Dst: test_create_consumer_topic
      Src: /src/librdkafka/tests/0146-metadata_mock.c:79,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0146-metadata_mock.c:82,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0146-metadata_mock.c:82,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:83,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0146-metadata_mock.c:87,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0146-metadata_mock.c:87,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0146-metadata_mock.c:90,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0146-metadata_mock.c:90,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:91,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0146-metadata_mock.c:96,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:98,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:99,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:100,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:101,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0146-metadata_mock.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - assignor
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 104
    functionName: do_test_metadata_persists_in_cache
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_partition_list_add
    - rd_kafka_subscribe
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_metadata
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_consumer_poll_no_msgs
    - test_create_consumer_topic
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_metadata_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_metadata_persists_in_cache(const char *assignor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0146-metadata_mock.c:125,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0146-metadata_mock.c:137,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:141,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:143,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0146-metadata_mock.c:144,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0146-metadata_mock.c:146,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:147,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0146-metadata_mock.c:148,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:150,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:152,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:157,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0146-metadata_mock.c:162,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0146-metadata_mock.c:167,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:171,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0146-metadata_mock.c:174,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0146-metadata_mock.c:178,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0146-metadata_mock.c:189,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0146-metadata_mock.c:192,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:197,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:199,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:200,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0146-metadata_mock.c:202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 121
    functionDepth: 7
    functionLinenumber: 121
    functionLinenumberEnd: 203
    functionName: do_test_fast_metadata_refresh
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - test_produce_msgs2
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_stop_request_tracking
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_mock_topic_set_error
    - rd_kafka_mock_push_request_errors
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - rd_sleep
    - test_conf_init
    - test_mock_wait_matching_requests
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_fast_metadata_refresh(int variation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0146-metadata_mock.c:214,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:218,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:220,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0146-metadata_mock.c:221,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:222,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0146-metadata_mock.c:224,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:225,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:226,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:227,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:228,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:229,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:230,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:231,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:233,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0146-metadata_mock.c:235,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0146-metadata_mock.c:238,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0146-metadata_mock.c:240,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:243,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0146-metadata_mock.c:246,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0146-metadata_mock.c:251,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:254,1
    - Dst: rd_kafka_mock_partition_push_leader_response
      Src: /src/librdkafka/tests/0146-metadata_mock.c:256,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0146-metadata_mock.c:264,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0146-metadata_mock.c:268,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0146-metadata_mock.c:270,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:273,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:275,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:276,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0146-metadata_mock.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 279
    functionName: do_test_stale_metadata_doesnt_migrate_partition
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_push_leader_response
    - TEST_ASSERT
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_mock_stop_request_tracking
    - test_create_handle
    - test_consumer_subscribe
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - test_consumer_poll_exact
    - rd_usleep
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - test_conf_init
    - test_mock_wait_matching_requests
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_stale_metadata_doesnt_migrate_partition(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0146-metadata_mock.c:290,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:294,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:296,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0146-metadata_mock.c:297,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0146-metadata_mock.c:299,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:300,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:301,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:303,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0146-metadata_mock.c:305,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0146-metadata_mock.c:307,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0146-metadata_mock.c:307,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:308,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0146-metadata_mock.c:310,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:312,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:313,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0146-metadata_mock.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 286
    functionDepth: 6
    functionLinenumber: 286
    functionLinenumberEnd: 316
    functionName: do_test_metadata_call_before_join
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_create_handle
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - test_consumer_poll_no_msgs
    - rd_kafka_destroy
    - test_conf_init
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_metadata_destroy
    - rd_kafka_metadata
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_metadata_call_before_join(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0146-metadata_mock.c:332,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0146-metadata_mock.c:339,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0146-metadata_mock.c:340,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0146-metadata_mock.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - mcluster
    - expected_request
    argTypes:
    - rd_kafka_mock_cluster_t*
    - expected_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 351
    functionName: verify_requests_after_metadata_update_operation
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_mock_get_requests
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t verify_requests_after_metadata_update_operation(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    expected_request_t *expected_request)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0146-metadata_mock.c:368,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:376,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:380,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0146-metadata_mock.c:381,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:382,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:383,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0146-metadata_mock.c:385,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:386,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:389,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0146-metadata_mock.c:390,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:391,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:394,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:395,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0146-metadata_mock.c:396,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0146-metadata_mock.c:398,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0146-metadata_mock.c:400,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:404,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:405,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0146-metadata_mock.c:406,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0146-metadata_mock.c:408,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0146-metadata_mock.c:410,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0146-metadata_mock.c:411,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0146-metadata_mock.c:412,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0146-metadata_mock.c:413,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:414,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0146-metadata_mock.c:417,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0146-metadata_mock.c:421,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:422,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:423,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0146-metadata_mock.c:425,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:430,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0146-metadata_mock.c:431,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0146-metadata_mock.c:432,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0146-metadata_mock.c:436,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0146-metadata_mock.c:438,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0146-metadata_mock.c:440,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0146-metadata_mock.c:443,1
    - Dst: verify_requests_after_metadata_update_operation
      Src: /src/librdkafka/tests/0146-metadata_mock.c:448,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0146-metadata_mock.c:451,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0146-metadata_mock.c:454,1
    - Dst: verify_requests_after_metadata_update_operation
      Src: /src/librdkafka/tests/0146-metadata_mock.c:463,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0146-metadata_mock.c:466,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0146-metadata_mock.c:469,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0146-metadata_mock.c:472,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:473,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0146-metadata_mock.c:474,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0146-metadata_mock.c:476,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0146-metadata_mock.c:477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 2
    argNames:
    - producer
    - second_leader_change
    argTypes:
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 363
    functionDepth: 7
    functionLinenumber: 363
    functionLinenumberEnd: 478
    functionName: do_test_metadata_update_operation
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - verify_requests_after_metadata_update_operation
    - test_consumer_poll_timeout
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_ApiKey2str
    - test_produce_msgs2
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_stop_request_tracking
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_flush
    - test_consumer_assign
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - TEST_LATER_CHECK
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void do_test_metadata_update_operation(rd_bool_t producer,\n                                              rd_bool_t
      second_leader_change)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0146-metadata_mock.c:481,1
    - Dst: do_test_metadata_persists_in_cache
      Src: /src/librdkafka/tests/0146-metadata_mock.c:487,1
    - Dst: do_test_metadata_persists_in_cache
      Src: /src/librdkafka/tests/0146-metadata_mock.c:488,1
    - Dst: do_test_metadata_call_before_join
      Src: /src/librdkafka/tests/0146-metadata_mock.c:490,1
    - Dst: do_test_fast_metadata_refresh
      Src: /src/librdkafka/tests/0146-metadata_mock.c:492,1
    - Dst: do_test_fast_metadata_refresh
      Src: /src/librdkafka/tests/0146-metadata_mock.c:493,1
    - Dst: do_test_stale_metadata_doesnt_migrate_partition
      Src: /src/librdkafka/tests/0146-metadata_mock.c:495,1
    - Dst: do_test_metadata_update_operation
      Src: /src/librdkafka/tests/0146-metadata_mock.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 480
    functionDepth: 8
    functionLinenumber: 480
    functionLinenumberEnd: 505
    functionName: main_0146_metadata_mock
    functionSourceFile: /src/librdkafka/tests/0146-metadata_mock.c
    functionUses: 0
    functionsReached:
    - do_test_fast_metadata_refresh
    - do_test_metadata_call_before_join
    - do_test_metadata_update_operation
    - do_test_metadata_persists_in_cache
    - do_test_stale_metadata_doesnt_migrate_partition
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0146_metadata_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:52,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:56,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:56,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:57,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:57,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:58,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:58,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:70,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:72,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:76,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:77,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:79,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:83,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:86,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:88,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:89,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:90,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:93,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:95,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:97,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:99,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:100,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:103,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:104,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:107,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:109,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:112,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:114,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:115,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:115,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:117,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:120,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:123,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:125,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:126,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:127,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:130,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 1
    argNames:
    - partition_assignment_strategy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 49
    functionDepth: 8
    functionLinenumber: 49
    functionLinenumberEnd: 134
    functionName: test_no_duplicate_messages
    functionSourceFile: /src/librdkafka/tests/0050-subscribe_adds.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_wait_topic_exists
    - rd_kafka_topic_partition_list_del
    - rd_kafka_subscribe
    - test_consumer_poll
    - rd_kafka_destroy
    - test_produce_msgs
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - test_consumer_close
    - test_msgver_verify
    - test_create_consumer
    - test_print_partition_list
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_create_producer_topic
    - rd_strdup
    - rd_free
    - test_consumer_poll_no_msgs
    - test_create_producer
    - test_msgver_init
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void test_no_duplicate_messages(const char *partition_assignment_strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_no_duplicate_messages
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:138,1
    - Dst: test_no_duplicate_messages
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:140,1
    - Dst: test_no_duplicate_messages
      Src: /src/librdkafka/tests/0050-subscribe_adds.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 136
    functionDepth: 9
    functionLinenumber: 136
    functionLinenumberEnd: 145
    functionName: main_0050_subscribe_adds
    functionSourceFile: /src/librdkafka/tests/0050-subscribe_adds.c
    functionUses: 0
    functionsReached:
    - test_no_duplicate_messages
    linkageType: ''
    returnType: int
    signature: int main_0050_subscribe_adds(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:47,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:51,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:53,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:54,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:55,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:56,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:57,1
    - Dst: test_admin_create_topic
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:59,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:63,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:65,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:65,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:66,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:66,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:69,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:71,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:71,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:73,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0129-fetch_aborted_msgs.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: main_0129_fetch_aborted_msgs
    functionSourceFile: /src/librdkafka/tests/0129-fetch_aborted_msgs.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_consume_msgs_easy
    - test_conf_init
    - test_admin_create_topic
    - test_conf_set
    - test_mk_topic_name
    - test_wait_topic_exists
    - rd_kafka_init_transactions
    - rd_kafka_abort_transaction
    - rd_kafka_begin_transaction
    - TEST_CALL_ERROR__
    - rd_kafka_conf_set_dr_msg_cb
    - test_produce_msgs2
    linkageType: ''
    returnType: int
    signature: int main_0129_fetch_aborted_msgs(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: StatsCb::StatsCb
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void StatsCb()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:70,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:71,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:71,1
    - Dst: RdKafka::Event::severity
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:71,1
    - Dst: RdKafka::Event::fac
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:71,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:72,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:74,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:75,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:75,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:75,1
    - Dst: StatsCb::parse_json
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:79,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:79,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:81,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:81,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:83,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:86,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 90
    functionName: StatsCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::fac
    - Test::Fail
    - RdKafka::Event::severity
    - tostr
    - StatsCb::parse_json
    - RdKafka::Event::str
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:98,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:100,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:107,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:107,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:111,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:118,1
    - Dst: strtoull
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:120,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:122,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:122,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:123,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - json_doc
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 126
    functionName: StatsCb::parse_json
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 1
    functionsReached:
    - Test::Fail
    - tostr
    - std::string::c_str
    - strtoull
    - std::string
    - strstr
    - Test::Say
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_json(const char *json_doc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:140,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:140,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:142,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:144,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:147,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:149,1
    - Dst: RdKafka::Producer*::init_transactions
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:152,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:154,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:154,1
    - Dst: RdKafka::Producer*::begin_transaction
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:156,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:158,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:158,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:163,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:166,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:166,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:175,1
    - Dst: RdKafka::Producer*::abort_transaction
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:177,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:179,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - topic
    - partition
    - msgcnt
    argTypes:
    - std::string
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 182
    functionName: produce_aborted_txns
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - RdKafka::Producer*::produce
    - Test::conf_init
    - RdKafka::Producer*::abort_transaction
    - RdKafka::Producer*::flush
    - tostr
    - thrd_create
    - RdKafka::err2str
    - RdKafka::Producer*::begin_transaction
    - RdKafka::Producer*::init_transactions
    - Test::Say
    - Test::conf_set
    linkageType: ''
    returnType: void
    signature: "void produce_aborted_txns(const std::string &topic,\n                                 int32_t
      partition,\n                                 int msgcnt)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:192,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:194,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:196,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:196,1
    - Dst: produce_aborted_txns
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:202,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:212,1
    - Dst: StatsCb::StatsCb
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:213,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:214,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:215,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:216,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:217,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:218,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:219,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:221,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:223,1
    - Dst: RdKafka::KafkaConsumer*::poll
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:227,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:231,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:231,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:232,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:233,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:233,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:234,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:238,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:241,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:243,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:249,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:249,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:251,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:257,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:260,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:262,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:262,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:263,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:268,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:272,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:272,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:278,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:278,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:280,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:282,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:285,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - with_txns
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 286
    functionName: do_test_consumer_lag
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 0
    functionsReached:
    - produce_aborted_txns
    - Test::conf_init
    - RdKafka::Message*::err
    - RdKafka::KafkaConsumer*::poll
    - RdKafka::KafkaConsumer*::consume
    - StatsCb::StatsCb
    - test_produce_msgs_easy
    - Test::conf_set
    - c_str
    - RdKafka::Message*::errstr
    - RdKafka::Conf*::set
    - SUB_TEST
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - rd_sleep
    - tostr
    - std::vector::push_back
    - RdKafka::Message*::offset
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::assign
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_lag(bool with_txns)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consumer_lag
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:290,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:291,1
    - Dst: do_test_consumer_lag
      Src: /src/librdkafka/tests/0061-consumer_lag.cpp:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 5
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: main_0061_consumer_lag
    functionSourceFile: /src/librdkafka/tests/0061-consumer_lag.cpp
    functionUses: 0
    functionsReached:
    - TEST_BRKVER
    - do_test_consumer_lag
    linkageType: ''
    returnType: int
    signature: int main_0061_consumer_lag(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0043-no_connection.c:48,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0043-no_connection.c:50,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0043-no_connection.c:52,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0043-no_connection.c:53,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0043-no_connection.c:56,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0043-no_connection.c:59,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0043-no_connection.c:62,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0043-no_connection.c:64,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0043-no_connection.c:64,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0043-no_connection.c:66,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0043-no_connection.c:68,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0043-no_connection.c:69,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0043-no_connection.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 71
    functionName: test_producer_no_connection
    functionSourceFile: /src/librdkafka/tests/0043-no_connection.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - test_conf_init
    - TEST_SAY
    - TIMING_START
    - rd_kafka_poll
    - rd_kafka_outq_len
    - test_conf_set
    - test_produce_msgs_nowait
    - test_create_topic_object
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_producer_no_connection(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_producer_no_connection
      Src: /src/librdkafka/tests/0043-no_connection.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 7
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: main_0043_no_connection
    functionSourceFile: /src/librdkafka/tests/0043-no_connection.c
    functionUses: 0
    functionsReached:
    - test_producer_no_connection
    linkageType: ''
    returnType: int
    signature: int main_0043_no_connection(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0028-long_topicnames.c:49,1
    - Dst: memset
      Src: /src/librdkafka/tests/0028-long_topicnames.c:52,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/0028-long_topicnames.c:55,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0028-long_topicnames.c:55,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0028-long_topicnames.c:57,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0028-long_topicnames.c:57,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0028-long_topicnames.c:62,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0028-long_topicnames.c:65,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0028-long_topicnames.c:67,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0028-long_topicnames.c:68,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0028-long_topicnames.c:69,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0028-long_topicnames.c:73,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0028-long_topicnames.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 43
    functionDepth: 10
    functionLinenumber: 43
    functionLinenumberEnd: 79
    functionName: main_0028_long_topicnames
    functionSourceFile: /src/librdkafka/tests/0028-long_topicnames.c
    functionUses: 0
    functionsReached:
    - test_consumer_subscribe
    - test_consumer_poll_no_msgs
    - test_consume_msgs_easy
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - test_produce_msgs_easy
    - test_can_create_topics
    - memset
    - strncpy
    - test_mk_topic_name
    - strlen
    - test_create_consumer
    linkageType: ''
    returnType: int
    signature: int main_0028_long_topicnames(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:57,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0060-op_prio.cpp:57,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0060-op_prio.cpp:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - err
    - offsets
    argTypes:
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: MyCbs::offset_commit_cb
    functionSourceFile: /src/librdkafka/tests/0060-op_prio.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - Test::Say
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb(RdKafka::ErrorCode err,\n                        std::vector<RdKafka::TopicPartition
      *> &offsets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0060-op_prio.cpp:64,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0060-op_prio.cpp:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: MyCbs::event_cb
    functionSourceFile: /src/librdkafka/tests/0060-op_prio.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0060-op_prio.cpp:81,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0060-op_prio.cpp:83,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0060-op_prio.cpp:83,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0060-op_prio.cpp:91,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:92,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:93,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:94,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:95,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:96,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:97,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:102,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:104,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0060-op_prio.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:107,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0060-op_prio.cpp:109,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:111,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0060-op_prio.cpp:116,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0060-op_prio.cpp:117,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:118,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0060-op_prio.cpp:118,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0060-op_prio.cpp:121,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0060-op_prio.cpp:124,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0060-op_prio.cpp:124,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0060-op_prio.cpp:125,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0060-op_prio.cpp:127,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0060-op_prio.cpp:127,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:129,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0060-op_prio.cpp:129,1
    - Dst: RdKafka::KafkaConsumer*::commitAsync
      Src: /src/librdkafka/tests/0060-op_prio.cpp:138,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:140,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0060-op_prio.cpp:140,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0060-op_prio.cpp:141,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0060-op_prio.cpp:147,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0060-op_prio.cpp:150,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0060-op_prio.cpp:150,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0060-op_prio.cpp:154,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 77
    functionDepth: 4
    functionLinenumber: 77
    functionLinenumberEnd: 156
    functionName: do_test_commit_cb
    functionSourceFile: /src/librdkafka/tests/0060-op_prio.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::KafkaConsumer*::commitAsync
    - Test::conf_init
    - RdKafka::Message*::err
    - RdKafka::KafkaConsumer*::consume
    - test_produce_msgs_easy
    - Test::conf_set
    - RdKafka::Message*::errstr
    - RdKafka::Conf*::set
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - tmout_multip
    - Test::Fail
    - rd_sleep
    - tostr
    - std::vector::push_back
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_commit_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_commit_cb
      Src: /src/librdkafka/tests/0060-op_prio.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 5
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: main_0060_op_prio
    functionSourceFile: /src/librdkafka/tests/0060-op_prio.cpp
    functionUses: 0
    functionsReached:
    - do_test_commit_cb
    linkageType: ''
    returnType: int
    signature: int main_0060_op_prio(int argc, char **argv)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0040-io_event.c:70,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0040-io_event.c:73,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0040-io_event.c:74,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0040-io_event.c:76,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0040-io_event.c:77,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0040-io_event.c:78,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0040-io_event.c:79,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0040-io_event.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0040-io_event.c:80,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0040-io_event.c:81,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0040-io_event.c:83,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0040-io_event.c:84,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0040-io_event.c:85,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0040-io_event.c:86,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0040-io_event.c:88,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0040-io_event.c:89,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0040-io_event.c:90,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0040-io_event.c:92,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0040-io_event.c:94,1
    - Dst: pipe
      Src: /src/librdkafka/tests/0040-io_event.c:97,1
    - Dst: _pipe
      Src: /src/librdkafka/tests/0040-io_event.c:99,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:102,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0040-io_event.c:102,1
    - Dst: rd_kafka_queue_io_event_enable
      Src: /src/librdkafka/tests/0040-io_event.c:104,1
    - Dst: poll
      Src: /src/librdkafka/tests/0040-io_event.c:123,1
    - Dst: WSAPoll
      Src: /src/librdkafka/tests/0040-io_event.c:125,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:128,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0040-io_event.c:128,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:136,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:138,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:142,1
    - Dst: read
      Src: /src/librdkafka/tests/0040-io_event.c:146,1
    - Dst: _read
      Src: /src/librdkafka/tests/0040-io_event.c:148,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:151,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0040-io_event.c:151,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0040-io_event.c:154,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0040-io_event.c:158,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0040-io_event.c:160,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:162,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0040-io_event.c:164,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0040-io_event.c:165,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0040-io_event.c:166,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:168,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0040-io_event.c:171,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0040-io_event.c:173,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0040-io_event.c:175,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0040-io_event.c:179,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0040-io_event.c:181,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:188,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:199,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0040-io_event.c:201,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:205,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0040-io_event.c:206,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0040-io_event.c:209,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:211,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0040-io_event.c:220,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:226,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:228,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0040-io_event.c:229,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0040-io_event.c:239,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0040-io_event.c:241,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0040-io_event.c:242,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0040-io_event.c:244,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0040-io_event.c:245,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0040-io_event.c:246,1
    - Dst: close
      Src: /src/librdkafka/tests/0040-io_event.c:249,1
    - Dst: close
      Src: /src/librdkafka/tests/0040-io_event.c:250,1
    - Dst: _close
      Src: /src/librdkafka/tests/0040-io_event.c:252,1
    - Dst: _close
      Src: /src/librdkafka/tests/0040-io_event.c:253,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 103
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 52
    functionDepth: 8
    functionLinenumber: 52
    functionLinenumberEnd: 257
    functionName: main_0040_io_event
    functionSourceFile: /src/librdkafka/tests/0040-io_event.c
    functionUses: 0
    functionsReached:
    - _read
    - test_consumer_assign_by_rebalance_protocol
    - rd_kafka_queue_poll
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - _close
    - rd_kafka_event_type
    - test_wait_topic_exists
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_destroy
    - test_consumer_unassign_by_rebalance_protocol
    - test_produce_msgs
    - rd_kafka_conf_set_events
    - strerror
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_event_topic_partition_list
    - poll
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_queue_io_event_enable
    - _pipe
    - test_consumer_subscribe
    - pipe
    - close
    - test_auto_create_topic_rkt
    - test_id_generate
    - rd_kafka_consumer_close
    - test_create_producer_topic
    - rd_kafka_event_name
    - tmout_multip
    - test_create_producer
    - test_conf_init
    - TEST_SKIP
    - rd_kafka_queue_get_consumer
    - TEST_WARN
    - test_mk_topic_name
    - test_conf_set
    - read
    - WSAPoll
    - rd_kafka_event_error
    linkageType: ''
    returnType: int
    signature: int main_0040_io_event(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:52,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:52,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:53,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:56,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:58,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:59,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:61,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:62,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:66,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:67,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:68,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:69,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:72,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:73,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:74,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:76,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:77,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:77,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:79,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:80,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:81,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:83,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:85,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:85,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:87,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:88,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:90,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:93,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:95,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:96,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:97,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:99,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:101,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 1
    argNames:
    - partition_assignment_strategy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 104
    functionName: test_no_duplicate_messages_unnecessary_resume
    functionSourceFile: /src/librdkafka/tests/0145-pause_resume_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_subscribe
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - test_topic_conf_set
    - TEST_SAY
    - test_msgver_verify
    - test_create_consumer
    - TEST_CALL_ERR__
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_strdup
    - rd_free
    - rd_kafka_resume_partitions
    - test_consumer_poll_no_msgs
    - test_msgver_init
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void test_no_duplicate_messages_unnecessary_resume(\n    const char
      *partition_assignment_strategy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:108,1
    - Dst: test_no_duplicate_messages_unnecessary_resume
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:112,1
    - Dst: test_no_duplicate_messages_unnecessary_resume
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:114,1
    - Dst: test_no_duplicate_messages_unnecessary_resume
      Src: /src/librdkafka/tests/0145-pause_resume_mock.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 8
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: main_0145_pause_resume_mock
    functionSourceFile: /src/librdkafka/tests/0145-pause_resume_mock.c
    functionUses: 0
    functionsReached:
    - test_no_duplicate_messages_unnecessary_resume
    - test_needs_auth
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int main_0145_pause_resume_mock(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:62,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:63,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:64,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:66,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:68,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:75,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:77,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:78,1
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:79,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:81,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:83,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:84,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:85,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:87,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:96,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:105,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:107,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:108,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:109,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 111
    functionName: test_find_coordinator
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_mock_push_request_errors
    - rd_kafka_mock_clear_requests
    - rd_sleep
    - rd_kafka_message_destroy
    - SUB_TEST
    - TEST_SAY
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    - rd_kafka_consumer_poll
    - rd_kafka_mock_request_timestamp
    - TEST_ASSERT
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: "void test_find_coordinator(rd_kafka_mock_cluster_t *mcluster,\n                                  const
      char *topic,\n                                  rd_kafka_conf_t *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - time_difference
    - retry_count
    argTypes:
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: check_time_difference
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void check_time_difference(int64_t time_difference, int retry_count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:142,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:144,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:146,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:147,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:148,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:150,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:155,1
    - Dst: check_time_difference
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:158,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:162,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - mcluster
    - request_type
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 165
    functionName: helper_exponential_backoff
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_mock_request_id
    - TEST_SAY
    - rd_kafka_mock_request_timestamp
    - rd_kafka_mock_request_api_key
    - check_time_difference
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: "void helper_exponential_backoff(rd_kafka_mock_cluster_t *mcluster,\n
      \                                      int32_t request_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:182,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:183,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:184,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:186,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:187,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:188,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:190,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:191,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:192,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:197,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:198,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:202,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:203,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:204,1
    - Dst: helper_exponential_backoff
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:206,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:209,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:210,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 175
    functionDepth: 7
    functionLinenumber: 175
    functionLinenumberEnd: 212
    functionName: test_offset_commit
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_kafka_mock_clear_requests
    - rd_kafka_mock_push_request_errors
    - helper_exponential_backoff
    - rd_sleep
    - rd_kafka_message_destroy
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_add
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_commit
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void test_offset_commit(rd_kafka_mock_cluster_t *mcluster,\n                               const
      char *topic,\n                               rd_kafka_conf_t *conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:226,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:227,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:229,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:230,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:231,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:233,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:243,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:245,1
    - Dst: helper_exponential_backoff
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:247,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:250,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:251,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:252,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 221
    functionDepth: 8
    functionLinenumber: 221
    functionLinenumberEnd: 254
    functionName: test_produce
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - rd_kafka_mock_push_request_errors
    - helper_exponential_backoff
    - rd_kafka_mock_clear_requests
    - rd_sleep
    - SUB_TEST
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - test_create_producer_topic
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: "void test_produce(rd_kafka_mock_cluster_t *mcluster,\n                         const
      char *topic,\n                         rd_kafka_conf_t *conf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:267,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:269,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:271,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:272,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:273,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:275,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:280,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:282,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:287,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:290,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:296,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - mcluster
    - request_type
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 299
    functionName: helper_find_coordinator_trigger
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_mock_request_id
    - TEST_SAY
    - rd_kafka_mock_request_timestamp
    - rd_kafka_mock_request_api_key
    - TEST_FAIL
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: "void helper_find_coordinator_trigger(rd_kafka_mock_cluster_t *mcluster,\n
      \                                           int32_t request_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:311,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:312,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:313,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:315,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:317,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:322,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:325,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:326,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:328,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:330,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:331,1
    - Dst: helper_find_coordinator_trigger
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:334,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:337,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:338,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 7
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: test_heartbeat_find_coordinator
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - helper_find_coordinator_trigger
    - rd_kafka_mock_clear_requests
    - rd_kafka_mock_push_request_errors
    - test_consumer_group_protocol_classic
    - rd_kafka_message_destroy
    - SUB_TEST
    - rd_sleep
    - rd_kafka_consumer_poll
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void test_heartbeat_find_coordinator(rd_kafka_mock_cluster_t *mcluster,\n
      \                                           const char *topic,\n                                            rd_kafka_conf_t
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:352,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:353,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:354,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:356,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:357,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:360,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:361,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:363,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:365,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:366,1
    - Dst: helper_find_coordinator_trigger
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:368,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:370,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:371,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 347
    functionDepth: 7
    functionLinenumber: 347
    functionLinenumberEnd: 373
    functionName: test_joingroup_find_coordinator
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - helper_find_coordinator_trigger
    - rd_kafka_mock_clear_requests
    - rd_kafka_mock_push_request_errors
    - rd_sleep
    - rd_kafka_message_destroy
    - SUB_TEST
    - rd_kafka_consumer_poll
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: "void test_joingroup_find_coordinator(rd_kafka_mock_cluster_t *mcluster,\n
      \                                           const char *topic,\n                                            rd_kafka_conf_t
      *conf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:395,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:396,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:398,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:399,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:400,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:402,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:405,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:406,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:408,1
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:409,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:412,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:414,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:415,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:416,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:418,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:421,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:426,1
    - Dst: check_time_difference
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:430,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:435,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:438,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:439,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:440,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:441,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 384
    functionDepth: 8
    functionLinenumber: 384
    functionLinenumberEnd: 443
    functionName: test_produce_fast_leader_query
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_wait_topic_exists
    - check_time_difference
    - rd_kafka_destroy
    - test_produce_msgs
    - rd_kafka_mock_request_destroy_array
    - TEST_SAY
    - test_create_handle
    - rd_kafka_mock_clear_requests
    - rd_kafka_mock_push_request_errors
    - SUB_TEST
    - SUB_TEST_PASS
    - test_create_producer_topic
    - rd_kafka_conf_set_dr_msg_cb
    - rd_sleep
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    - rd_kafka_mock_request_timestamp
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: "void test_produce_fast_leader_query(rd_kafka_mock_cluster_t *mcluster,\n
      \                                          const char *topic,\n                                           rd_kafka_conf_t
      *conf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:462,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:463,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:464,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:466,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:468,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:469,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:472,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:473,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:475,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:476,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:478,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:479,1
    - Dst: rd_kafka_mock_get_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:480,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:482,1
    - Dst: rd_kafka_mock_request_id
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:484,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:485,1
    - Dst: rd_kafka_mock_request_timestamp
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:486,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:488,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:491,1
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:496,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:500,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:501,1
    - Dst: rd_kafka_mock_clear_requests
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:502,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:503,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - mcluster
    - topic
    - conf
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 452
    functionDepth: 7
    functionLinenumber: 452
    functionLinenumberEnd: 507
    functionName: test_fetch_fast_leader_query
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_kafka_mock_clear_requests
    - rd_kafka_mock_partition_set_leader
    - rd_kafka_mock_request_destroy_array
    - rd_sleep
    - rd_kafka_message_destroy
    - SUB_TEST
    - TEST_SAY
    - rd_kafka_mock_request_id
    - rd_kafka_mock_request_api_key
    - rd_kafka_consumer_poll
    - rd_kafka_mock_request_timestamp
    - TEST_ASSERT
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    - rd_kafka_mock_get_requests
    linkageType: ''
    returnType: void
    signature: "void test_fetch_fast_leader_query(rd_kafka_mock_cluster_t *mcluster,\n
      \                                        const char *topic,\n                                         rd_kafka_conf_t
      *conf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:516,1
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:521,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:523,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:524,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:525,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:527,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:530,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:531,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:532,1
    - Dst: test_produce
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:534,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:534,1
    - Dst: test_find_coordinator
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:535,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:535,1
    - Dst: test_offset_commit
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:536,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:536,1
    - Dst: test_heartbeat_find_coordinator
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:537,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:538,1
    - Dst: test_fetch_fast_leader_query
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:539,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:539,1
    - Dst: test_produce_fast_leader_query
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:540,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:541,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:544,1
    - Dst: test_joingroup_find_coordinator
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:545,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:546,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:549,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0143-exponential_backoff_mock.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 515
    functionDepth: 9
    functionLinenumber: 515
    functionLinenumberEnd: 552
    functionName: main_0143_exponential_backoff_mock
    functionSourceFile: /src/librdkafka/tests/0143-exponential_backoff_mock.c
    functionUses: 0
    functionsReached:
    - test_joingroup_find_coordinator
    - test_heartbeat_find_coordinator
    - test_produce_fast_leader_query
    - test_mock_cluster_new
    - test_find_coordinator
    - rd_kafka_conf_dup
    - test_produce
    - test_offset_commit
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_mock_start_request_tracking
    - test_consumer_group_protocol_classic
    - test_conf_init
    - test_fetch_fast_leader_query
    - test_timeout_set
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_conf_destroy
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0143_exponential_backoff_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:38,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:38,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:40,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:43,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:45,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:48,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:49,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:52,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:54,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:55,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:58,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:60,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:63,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:64,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:67,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:69,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - rd_kafka_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: verify_roundrobin_assignment
    functionSourceFile: /src/librdkafka/tests/0132-strategy_ordering.c
    functionUses: 0
    functionsReached:
    - TEST_CALL_ERR__
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void verify_roundrobin_assignment(rd_kafka_t *c[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:77,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:79,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:82,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:84,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:87,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:88,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:91,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:93,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:93,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:94,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:97,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:99,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:103,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:106,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:108,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - c
    argTypes:
    - rd_kafka_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 110
    functionName: verify_range_assignment
    functionSourceFile: /src/librdkafka/tests/0132-strategy_ordering.c
    functionUses: 0
    functionsReached:
    - TEST_CALL_ERR__
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void verify_range_assignment(rd_kafka_t *c[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:123,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:125,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:127,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:128,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:129,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:131,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:132,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:137,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:138,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:140,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:141,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:143,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:146,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:150,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:153,1
    - Dst: verify_range_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:154,1
    - Dst: verify_roundrobin_assignment
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:156,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:159,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:160,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - assignor
    - expected_assignor
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 112
    functionDepth: 10
    functionLinenumber: 112
    functionLinenumberEnd: 164
    functionName: do_test_strategy_ordering
    functionSourceFile: /src/librdkafka/tests/0132-strategy_ordering.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - verify_roundrobin_assignment
    - verify_range_assignment
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - test_produce_msgs_easy
    - test_consumer_close
    - test_create_consumer
    - test_consumer_subscribe
    - strcmp
    - test_consumer_wait_assignment
    - SUB_TEST
    - test_id_generate
    - SUB_TEST_PASS
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: "void do_test_strategy_ordering(const char *assignor,\n                                      const
      char *expected_assignor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:168,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:169,1
    - Dst: do_test_strategy_ordering
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:175,1
    - Dst: do_test_strategy_ordering
      Src: /src/librdkafka/tests/0132-strategy_ordering.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 11
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: main_0132_strategy_ordering
    functionSourceFile: /src/librdkafka/tests/0132-strategy_ordering.c
    functionUses: 0
    functionsReached:
    - do_test_strategy_ordering
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0132_strategy_ordering(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0059-bsearch.cpp:53,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0059-bsearch.cpp:61,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0059-bsearch.cpp:64,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0059-bsearch.cpp:65,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:67,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0059-bsearch.cpp:67,1
    - Dst: RdKafka::KafkaConsumer*::seek
      Src: /src/librdkafka/tests/0059-bsearch.cpp:69,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0059-bsearch.cpp:69,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:71,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0059-bsearch.cpp:71,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0059-bsearch.cpp:73,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0059-bsearch.cpp:77,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0059-bsearch.cpp:79,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0059-bsearch.cpp:79,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:81,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0059-bsearch.cpp:82,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0059-bsearch.cpp:84,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:85,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:85,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:87,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:88,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:88,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - c
    - offset
    - use_seek
    argTypes:
    - RdKafka::KafkaConsumer*
    - int64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 92
    functionName: get_msg
    functionSourceFile: /src/librdkafka/tests/0059-bsearch.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Message*::errstr
    - RdKafka::Message*::err
    - TIMING_START
    - RdKafka::KafkaConsumer*::consume
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::seek
    - std::vector::push_back
    - RdKafka::Message*::offset
    - tostr
    - RdKafka::KafkaConsumer*::assign
    - tmout_multip
    - TIMING_STOP
    linkageType: ''
    returnType: RdKafka::Message
    signature: "RdKafka::Message *get_msg(RdKafka::KafkaConsumer *c,\n                                 int64_t
      offset,\n                                 bool use_seek)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0059-bsearch.cpp:97,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:98,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:98,1
    - Dst: RdKafka::Message::msg_opaque
      Src: /src/librdkafka/tests/0059-bsearch.cpp:100,1
    - Dst: RdKafka::Message::timestamp
      Src: /src/librdkafka/tests/0059-bsearch.cpp:103,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:105,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:105,1
    - Dst: RdKafka::Message::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: MyDeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0059-bsearch.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Message::errstr
    - RdKafka::Message::offset
    - tostr
    - RdKafka::Message::msg_opaque
    - RdKafka::Message::timestamp
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0059-bsearch.cpp:120,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0059-bsearch.cpp:121,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:122,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:123,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:124,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:125,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0059-bsearch.cpp:127,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:129,1
    - Dst: std::time
      Src: /src/librdkafka/tests/0059-bsearch.cpp:134,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0059-bsearch.cpp:137,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0059-bsearch.cpp:138,1
    - Dst: size
      Src: /src/librdkafka/tests/0059-bsearch.cpp:138,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:141,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0059-bsearch.cpp:141,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0059-bsearch.cpp:145,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0059-bsearch.cpp:145,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:146,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0059-bsearch.cpp:148,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:148,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0059-bsearch.cpp:159,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:160,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:161,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:162,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:163,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:164,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0059-bsearch.cpp:165,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0059-bsearch.cpp:167,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:169,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0059-bsearch.cpp:172,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0059-bsearch.cpp:175,1
    - Dst: RdKafka::KafkaConsumer*::query_watermark_offsets
      Src: /src/librdkafka/tests/0059-bsearch.cpp:176,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0059-bsearch.cpp:177,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0059-bsearch.cpp:178,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:180,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0059-bsearch.cpp:180,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0059-bsearch.cpp:184,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0059-bsearch.cpp:191,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:191,1
    - Dst: get_msg
      Src: /src/librdkafka/tests/0059-bsearch.cpp:194,1
    - Dst: RdKafka::Message*::timestamp
      Src: /src/librdkafka/tests/0059-bsearch.cpp:199,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:201,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:201,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:202,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0059-bsearch.cpp:204,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:204,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:204,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0059-bsearch.cpp:208,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:208,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:209,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0059-bsearch.cpp:216,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0059-bsearch.cpp:216,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:216,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:222,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0059-bsearch.cpp:224,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0059-bsearch.cpp:229,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0059-bsearch.cpp:231,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 234
    functionName: do_test_bsearch
    functionSourceFile: /src/librdkafka/tests/0059-bsearch.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - get_msg
    - size
    - std::time
    - Test::conf_set
    - c_str
    - RdKafka::Conf*::set
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - tmout_multip
    - TIMING_STOP
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - tostr
    - TIMING_START
    - RdKafka::KafkaConsumer*::query_watermark_offsets
    - test_mk_topic_name
    - RdKafka::Message*::offset
    - RdKafka::Message*::timestamp
    linkageType: ''
    returnType: void
    signature: void do_test_bsearch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_bsearch
      Src: /src/librdkafka/tests/0059-bsearch.cpp:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 5
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: main_0059_bsearch
    functionSourceFile: /src/librdkafka/tests/0059-bsearch.cpp
    functionUses: 0
    functionsReached:
    - do_test_bsearch
    linkageType: ''
    returnType: int
    signature: int main_0059_bsearch(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:51,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:55,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:56,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:57,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:58,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:59,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:61,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:61,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:65,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:73,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:75,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:78,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:80,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:83,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:84,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:84,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:85,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:91,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:97,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:98,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:103,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:109,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:109,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:110,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:111,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:111,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:113,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:113,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:125,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:125,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:131,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - topic
    - backoff_ms
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 138
    functionName: do_test_queue_backoff
    functionSourceFile: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::KafkaConsumer*::assign
    - Test::Fail
    - RdKafka::Message*::errstr
    - Test::conf_init
    - RdKafka::Message*::err
    - tostr
    - SUB_TEST
    - thrd_create
    - RdKafka::err2str
    - test_mock_cluster_destroy
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::consume
    - TEST_ASSERT
    - SUB_TEST_PASS
    - Test::Say
    - Test::conf_set
    - test_clock
    linkageType: ''
    returnType: void
    signature: void do_test_queue_backoff(const std::string &topic, int backoff_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:143,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:147,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:148,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:150,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:152,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:152,1
    - Dst: Test::produce_msgs
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:156,1
    - Dst: do_test_queue_backoff
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:159,1
    - Dst: do_test_queue_backoff
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:160,1
    - Dst: do_test_queue_backoff
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:161,1
    - Dst: do_test_queue_backoff
      Src: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: main_0127_fetch_queue_backoff
    functionSourceFile: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - Test::conf_init
    - Test::produce_msgs
    - tostr
    - thrd_create
    - test_mk_topic_name
    - do_test_queue_backoff
    - Test::conf_set
    linkageType: ''
    returnType: int
    signature: int main_0127_fetch_queue_backoff(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: authErrorEventCb::authErrorEventCb
    functionSourceFile: /src/librdkafka/tests/0135-sasl_credentials.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void authErrorEventCb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:43,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:45,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:45,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:45,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:46,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:47,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:52,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:52,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: authErrorEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0135-sasl_credentials.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - tostr
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:74,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:76,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:81,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:82,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:84,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:89,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:90,1
    - Dst: authErrorEventCb
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:93,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:95,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:96,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:99,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:101,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:105,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:108,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:110,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:113,1
    - Dst: RdKafka::Producer*::sasl_set_credentials
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:114,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:116,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:116,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:118,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:119,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:121,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:122,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - set_after_auth_failure
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 127
    functionName: do_test
    functionSourceFile: /src/librdkafka/tests/0135-sasl_credentials.cpp
    functionUses: 2
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - SUB_TEST_SKIP
    - Test::conf_init
    - RdKafka::Conf*::set
    - authErrorEventCb
    - thrd_create
    - RdKafka::Producer*::clusterid
    - RdKafka::Producer*::sasl_set_credentials
    - SUB_TEST_PASS
    - Test::Say
    - std::string::empty
    - RdKafka::Conf*::get
    - Test::conf_set
    - SUB_TEST_QUICK
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void do_test(bool set_after_auth_failure)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:131,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:133,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:133,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:134,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:138,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0135-sasl_credentials.cpp:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 142
    functionName: main_0135_sasl_credentials
    functionSourceFile: /src/librdkafka/tests/0135-sasl_credentials.cpp
    functionUses: 0
    functionsReached:
    - strcmp
    - Test::Skip
    - do_test
    - strncmp
    - test_conf_get
    linkageType: ''
    returnType: int
    signature: int main_0135_sasl_credentials(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:46,1
    - Dst: std::getline
      Src: /src/librdkafka/tests/testcpp.cpp:52,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/testcpp.cpp:54,1
    - Dst: std::string::find_first_not_of
      Src: /src/librdkafka/tests/testcpp.cpp:54,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/testcpp.cpp:55,1
    - Dst: std::string::find_last_not_of
      Src: /src/librdkafka/tests/testcpp.cpp:55,1
    - Dst: std::string::length
      Src: /src/librdkafka/tests/testcpp.cpp:57,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:57,1
    - Dst: std::string::find
      Src: /src/librdkafka/tests/testcpp.cpp:60,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:62,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:62,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:66,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:67,1
    - Dst: test_set_special_conf
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:75,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.cpp:76,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:76,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.cpp:78,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - path
    - conf
    - topic_conf
    - timeoutp
    argTypes:
    - std::string
    - RdKafka::Conf*
    - RdKafka::Conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 87
    functionName: Test::read_config_file
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 0
    functionsReached:
    - std::string::erase
    - Test::Fail
    - RdKafka::Conf*::set
    - std::string::find_first_not_of
    - std::string::c_str
    - tostr
    - std::getline
    - std::string::find
    - std::string::find_last_not_of
    - std::string::length
    - std::string::substr
    - test_set_special_conf
    linkageType: ''
    returnType: int
    signature: "int read_config_file(std::string path,\n                            RdKafka::Conf
      *conf,\n                            RdKafka::Conf *topic_conf,\n                            int
      *timeoutp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/testcpp.cpp:93,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/testcpp.cpp:95,1
    - Dst: Test::read_config_file
      Src: /src/librdkafka/tests/testcpp.cpp:97,1
    - Dst: test_conf_get_path
      Src: /src/librdkafka/tests/testcpp.cpp:97,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:101,1
    - Dst: test_curr_name
      Src: /src/librdkafka/tests/testcpp.cpp:101,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:103,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/testcpp.cpp:105,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:106,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:107,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/testcpp.cpp:110,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:111,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:113,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/testcpp.cpp:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - conf
    - topic_conf
    - timeout
    argTypes:
    - RdKafka::Conf**
    - RdKafka::Conf**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: Test::conf_init
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 15
    functionsReached:
    - Test::Fail
    - Test::read_config_file
    - test_getenv
    - test_conf_get_path
    - thrd_create
    - test_consumer_group_protocol
    - test_timeout_set
    - test_curr_name
    - set
    linkageType: ''
    returnType: void
    signature: void conf_init(RdKafka::Conf **conf, RdKafka::Conf **topic_conf, int
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/testcpp.cpp:122,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/tests/testcpp.cpp:124,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/tests/testcpp.cpp:124,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/tests/testcpp.cpp:127,1
    - Dst: RdKafka::Message::offset
      Src: /src/librdkafka/tests/testcpp.cpp:127,1
    - Dst: RdKafka::Message::timestamp
      Src: /src/librdkafka/tests/testcpp.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: Test::DeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message::timestamp
    - Test::Fail
    - RdKafka::Message::errstr
    - RdKafka::Message::offset
    - tostr
    - Test::Say
    - RdKafka::Message::partition
    - RdKafka::Message::topic_name
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void DeliveryReportCb::dr_cb(RdKafka::Message &msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:46,1
    - Dst: std::getline
      Src: /src/librdkafka/tests/testcpp.cpp:52,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/testcpp.cpp:54,1
    - Dst: std::string::find_first_not_of
      Src: /src/librdkafka/tests/testcpp.cpp:54,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/testcpp.cpp:55,1
    - Dst: std::string::find_last_not_of
      Src: /src/librdkafka/tests/testcpp.cpp:55,1
    - Dst: std::string::length
      Src: /src/librdkafka/tests/testcpp.cpp:57,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:57,1
    - Dst: std::string::find
      Src: /src/librdkafka/tests/testcpp.cpp:60,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:62,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:62,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:66,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:67,1
    - Dst: test_set_special_conf
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.cpp:70,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:75,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.cpp:76,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/testcpp.cpp:76,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.cpp:78,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - path
    - conf
    - topic_conf
    - timeoutp
    argTypes:
    - std::string
    - RdKafka::Conf*
    - RdKafka::Conf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 87
    functionName: Test::read_config_file
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 1
    functionsReached:
    - std::string::erase
    - Test::Fail
    - RdKafka::Conf*::set
    - std::string::find_first_not_of
    - std::string::c_str
    - tostr
    - std::getline
    - std::string::find
    - std::string::find_last_not_of
    - std::string::length
    - std::string::substr
    - test_set_special_conf
    linkageType: ''
    returnType: int
    signature: "int read_config_file(std::string path,\n                            RdKafka::Conf
      *conf,\n                            RdKafka::Conf *topic_conf,\n                            int
      *timeoutp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/testcpp.cpp:93,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/testcpp.cpp:95,1
    - Dst: Test::read_config_file
      Src: /src/librdkafka/tests/testcpp.cpp:97,1
    - Dst: test_conf_get_path
      Src: /src/librdkafka/tests/testcpp.cpp:97,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:101,1
    - Dst: test_curr_name
      Src: /src/librdkafka/tests/testcpp.cpp:101,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:103,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/testcpp.cpp:105,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:106,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:107,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/testcpp.cpp:110,1
    - Dst: set
      Src: /src/librdkafka/tests/testcpp.cpp:111,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:113,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/testcpp.cpp:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - conf
    - topic_conf
    - timeout
    argTypes:
    - RdKafka::Conf**
    - RdKafka::Conf**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: Test::conf_init
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 15
    functionsReached:
    - Test::Fail
    - Test::read_config_file
    - test_getenv
    - test_conf_get_path
    - thrd_create
    - test_consumer_group_protocol
    - test_timeout_set
    - test_curr_name
    - set
    linkageType: ''
    returnType: void
    signature: void conf_init(RdKafka::Conf **conf, RdKafka::Conf **topic_conf, int
      timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/testcpp.cpp:122,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/tests/testcpp.cpp:123,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/tests/testcpp.cpp:124,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/tests/testcpp.cpp:124,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/tests/testcpp.cpp:126,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/tests/testcpp.cpp:127,1
    - Dst: RdKafka::Message::offset
      Src: /src/librdkafka/tests/testcpp.cpp:127,1
    - Dst: RdKafka::Message::timestamp
      Src: /src/librdkafka/tests/testcpp.cpp:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 130
    functionName: Test::DeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/testcpp.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message::timestamp
    - Test::Fail
    - RdKafka::Message::errstr
    - RdKafka::Message::offset
    - tostr
    - Test::Say
    - RdKafka::Message::partition
    - RdKafka::Message::topic_name
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void DeliveryReportCb::dr_cb(RdKafka::Message &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: sscanf
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sscanf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: TEST_LOCK
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: TEST_UNLOCK
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: TEST_SAY0
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SAY0(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LVL
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: TEST_SAYL
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SAYL(LVL, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: TEST_SAY
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 218
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SAY(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: TEST_REPORT
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_REPORT(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/tests/test.h:216,1
    - Dst: isspace
      Src: /src/librdkafka/tests/test.h:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 227
    functionName: rtrim
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 1
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rtrim(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: TEST_SKIP
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SKIP(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RET
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: TEST_SKIP_MOCK_CLUSTER
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SKIP_MOCK_CLUSTER(RET)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - testid
    - ','
    - rkmessage
    - ','
    - exp_partition
    - ','
    - msgidp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: test_msg_parse
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_msg_parse(testid, rkmessage, exp_partition, msgidp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/librdkafka/tests/test.h:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: jitter
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 2
    functionsReached:
    - rand
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE jitter(int low, int high)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - mv
    - ','
    - rkm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 397
    functionName: test_msgver_add_msg
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_msgver_add_msg(rk, mv, rkm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - what
    - ','
    - mv
    - ','
    - flags
    - ','
    - topic
    - ','
    - partition
    - ','
    - msg_base
    - ','
    - exp_cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: test_msgver_verify_part
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "test_msgver_verify_part(what, mv, flags, topic, partition, msg_base,
      \  \\\n                                exp_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - what
    - ','
    - mv
    - ','
    - flags
    - ','
    - msgbase
    - ','
    - expcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: test_msgver_verify
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_msgver_verify(what, mv, flags, msgbase, expcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - what
    - ','
    - mv
    - ','
    - corr
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: test_msgver_verify_compare
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_msgver_verify_compare(what, mv, corr, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rkmessage
    - ','
    - testid
    - ','
    - partition
    - ','
    - msgnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 592
    functionName: test_verify_rkmessage
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_verify_rkmessage(rkmessage, testid, partition, msgnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - fail_immediately
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: test_consumer_verify_assignment
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_consumer_verify_assignment(rk, fail_immediately, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - expected_assignment
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: test_consumer_verify_assignment_topic_partition_list
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "test_consumer_verify_assignment_topic_partition_list(                  \\\n
      \   rk, expected_assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - do_poll
    - ','
    - expected_assignment
    - ','
    - timeout_ms
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 701
    functionName: test_consumer_wait_assignment_topic_partition_list
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "test_consumer_wait_assignment_topic_partition_list(                    \\\n
      \   rk, do_poll, expected_assignment, timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FUNC_W_ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 955
    functionName: TEST_CALL__
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_CALL__(FUNC_W_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FUNC_W_ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 974
    functionName: TEST_CALL_ERROR__
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_CALL_ERROR__(FUNC_W_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FUNC_W_ARGS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 992
    functionName: TEST_CALL_ERR__
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_CALL_ERR__(FUNC_W_ARGS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ERROR
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1018
    functionName: TEST_SAY_ERROR
    functionSourceFile: /src/librdkafka/tests/test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_SAY_ERROR(ERROR, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: test_assert
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_assert(cond, msg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:78,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:80,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:80,1
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:85,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:85,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:86,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:86,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:87,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:87,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:88,1
    - Dst: rapidjson::GetValueByPointer
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:92,1
    - Dst: rapidjson::Value*::MemberBegin
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:96,1
    - Dst: rapidjson::Value*::MemberEnd
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:97,1
    - Dst: rapidjson::Value::ConstMemberIterator::name::GetString
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:98,1
    - Dst: std::string::rfind
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:99,1
    - Dst: std::string::substr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:102,1
    - Dst: std::string::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:103,1
    - Dst: rapidjson::Value::ConstMemberIterator::value::FindMember
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:106,1
    - Dst: GetInt64
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:106,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:107,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:107,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 116
    functionName: TestEvent2Cb::event_cb
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::str
    - rapidjson::Value::ConstMemberIterator::value::FindMember
    - rapidjson::Document::Parse
    - rapidjson::GetParseError_En
    - GetInt64
    - atoi
    - rapidjson::Document::GetParseError
    - rapidjson::Value*::MemberEnd
    - rapidjson::Document::GetErrorOffset
    - std::string::c_str
    - Test::Say
    - std::string::substr
    - rapidjson::Value::ConstMemberIterator::name::GetString
    - std::string::rfind
    - Test::Fail
    - rapidjson::Value*::MemberBegin
    - tostr
    - rapidjson::GetValueByPointer
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:136,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:137,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:139,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:139,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:141,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:142,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:142,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:144,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:144,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:145,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:147,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:147,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:149,1
    - Dst: class RdKafka::Metadata*::topics
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:149,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:150,1
    - Dst: class RdKafka::Metadata*::topics
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:151,1
    - Dst: class RdKafka::Metadata*::topics
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:155,1
    - Dst: partitions
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:157,1
    - Dst: leader
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:159,1
    - Dst: replicas
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:163,1
    - Dst: replicas
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:164,1
    - Dst: std::vector<int>::push_back
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - topic_str
    - leader
    - brokers
    argTypes:
    - std::string
    - int32_t*
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 173
    functionName: get_brokers_info
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - leader
    - tostr
    - RdKafka::Producer*::metadata
    - test_assert
    - thrd_create
    - RdKafka::err2str
    - replicas
    - class RdKafka::Metadata*::topics
    - tmout_multip
    - partitions
    - std::vector<int>::push_back
    linkageType: ''
    returnType: void
    signature: "void get_brokers_info(std::string &topic_str,\n                             int32_t
      *leader,\n                             std::vector<int> &brokers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:186,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:188,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:188,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:191,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:194,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:195,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:195,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:196,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:201,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:201,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:202,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:203,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - q
    - evtype
    - tmout
    argTypes:
    - rd_kafka_queue_t*
    - rd_kafka_event_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: test_wait_admin_result
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 5
    functionsReached:
    - rd_kafka_event_error_string
    - Test::Fail
    - rd_kafka_queue_poll
    - tostr
    - test_assert
    - rd_kafka_event_type
    - Test::Say
    - rd_kafka_event_name
    linkageType: ''
    returnType: rd_kafka_event_t
    signature: "rd_kafka_event_t *test_wait_admin_result(rd_kafka_queue_t *q,\n                                         rd_kafka_event_type_t
      evtype,\n                                         int tmout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:217,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:218,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:221,1
    - Dst: RdKafka::Producer*::c_ptr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:221,1
    - Dst: std::vector<int>::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:224,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:225,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:228,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:232,1
    - Dst: RdKafka::Producer*::c_ptr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:232,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:233,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:235,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:237,1
    - Dst: RdKafka::Producer*::c_ptr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:237,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:238,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:239,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:240,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:244,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:245,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:247,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:248,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:249,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:249,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:250,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:254,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:255,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:256,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:258,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:259,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:263,1
    - Dst: rd_kafka_ConfigEntry_name
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:267,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:268,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:269,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:270,1
    - Dst: std::set::insert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:272,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:272,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:276,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:279,1
    - Dst: std::set::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - replica_ids
    argTypes:
    - std::vector<int>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 283
    functionName: get_broker_rack_count
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - rd_kafka_ConfigResource_error
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - std::set::size
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - std::set::insert
    - test_wait_admin_result
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_ConfigEntry_value
    - std::string
    - rd_kafka_AdminOptions_new
    - std::vector<int>::size
    - rd_kafka_AdminOptions_destroy
    - RdKafka::Producer*::c_ptr
    - strcmp
    - thrd_create
    - rd_kafka_DescribeConfigs_result_resources
    - rd_kafka_DescribeConfigs
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_ConfigResource_configs
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_event_DescribeConfigs_result
    - rd_kafka_ConfigEntry_name
    - tostr
    - test_assert
    - rd_kafka_ConfigResource_new
    - rd_kafka_queue_get_main
    - rd_kafka_event_error
    linkageType: ''
    returnType: int
    signature: int get_broker_rack_count(std::vector<int> &replica_ids)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:292,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:293,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:293,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:294,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:294,1
    - Dst: get_brokers_info
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:298,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:299,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:299,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:300,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:300,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:302,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:302,1
    - Dst: get_broker_rack_count
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:306,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:307,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:315,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:322,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:323,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:327,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:328,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:329,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:330,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:331,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:332,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:333,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:335,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:336,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:341,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:343,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:344,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:344,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:347,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:350,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:350,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:352,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:357,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:357,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:358,1
    - Dst: RdKafka::Message*::payload
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:358,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:359,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:360,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:361,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:364,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:365,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:370,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:370,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:380,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:383,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:383,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:387,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:388,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:389,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:396,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:398,1
    - Dst: test_assert
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:403,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:405,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:409,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:432,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 286
    functionDepth: 10
    functionLinenumber: 286
    functionLinenumberEnd: 434
    functionName: do_fff_test
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message*::payload
    - Test::conf_init
    - RdKafka::Message*::len
    - RdKafka::Message*::err
    - get_brokers_info
    - RdKafka::KafkaConsumer*::consume
    - test_produce_msgs_easy_size
    - test_create_topic_wait_exists
    - atoi
    - Test::conf_set
    - RdKafka::Message*::errstr
    - RdKafka::Conf*::set
    - Test::Skip
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - tmout_multip
    - Test::Fail
    - std::vector::size
    - tostr
    - test_assert
    - get_broker_rack_count
    - std::vector::push_back
    - test_mk_topic_name
    - strstr
    linkageType: ''
    returnType: void
    signature: void do_fff_test(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fff_test
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:440,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0101-fetch-from-follower.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 438
    functionDepth: 11
    functionLinenumber: 438
    functionLinenumberEnd: 445
    functionName: main_0101_fetch_from_follower
    functionSourceFile: /src/librdkafka/tests/0101-fetch-from-follower.cpp
    functionUses: 0
    functionsReached:
    - Test::Skip
    - do_fff_test
    linkageType: ''
    returnType: int
    signature: int main_0101_fetch_from_follower(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0015-offset_seeks.c:47,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0015-offset_seeks.c:49,1
    - Dst: test_create_consumer_topic
      Src: /src/librdkafka/tests/0015-offset_seeks.c:50,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0015-offset_seeks.c:53,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0015-offset_seeks.c:56,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0015-offset_seeks.c:63,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0015-offset_seeks.c:66,1
    - Dst: jitter
      Src: /src/librdkafka/tests/0015-offset_seeks.c:72,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0015-offset_seeks.c:74,1
    - Dst: RD_MIN
      Src: /src/librdkafka/tests/0015-offset_seeks.c:77,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0015-offset_seeks.c:81,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0015-offset_seeks.c:83,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0015-offset_seeks.c:84,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0015-offset_seeks.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - topic
    - testid
    - msg_cnt
    argTypes:
    - char*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 7
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: do_legacy_seek
    functionSourceFile: /src/librdkafka/tests/0015-offset_seeks.c
    functionUses: 0
    functionsReached:
    - jitter
    - rd_kafka_destroy
    - RD_MIN
    - rd_kafka_topic_destroy
    - test_consumer_stop
    - test_create_consumer_topic
    - TEST_SAY
    - SUB_TEST_QUICK
    - test_consume_msgs
    - SUB_TEST_PASS
    - rd_kafka_topic_name
    - test_create_consumer
    - test_consumer_start
    linkageType: ''
    returnType: void
    signature: void do_legacy_seek(const char *topic, uint64_t testid, int msg_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0015-offset_seeks.c:99,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0015-offset_seeks.c:101,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0015-offset_seeks.c:103,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0015-offset_seeks.c:105,1
    - Dst: TEST_CALL__
      Src: /src/librdkafka/tests/0015-offset_seeks.c:108,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0015-offset_seeks.c:108,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0015-offset_seeks.c:111,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0015-offset_seeks.c:125,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0015-offset_seeks.c:126,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/0015-offset_seeks.c:127,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0015-offset_seeks.c:131,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0015-offset_seeks.c:133,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0015-offset_seeks.c:134,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0015-offset_seeks.c:136,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0015-offset_seeks.c:139,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0015-offset_seeks.c:143,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0015-offset_seeks.c:145,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0015-offset_seeks.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - topic
    - testid
    - msg_cnt
    - with_timeout
    argTypes:
    - char*
    - uint64_t
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 148
    functionName: do_seek
    functionSourceFile: /src/librdkafka/tests/0015-offset_seeks.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_consumer_poll_no_msgs
    - rd_kafka_seek_partitions
    - TEST_LATER_CHECK
    - TEST_SAY
    - rd_kafka_topic_partition_list_new
    - TEST_ASSERT_LATER
    - test_consumer_close
    - rd_kafka_topic_partition_list_add
    - rd_kafka_assign
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_create_consumer
    - TEST_CALL_ERROR__
    - TEST_CALL__
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void do_seek(const char *topic,\n                    uint64_t testid,\n
      \                   int msg_cnt,\n                    rd_bool_t with_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0015-offset_seeks.c:152,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0015-offset_seeks.c:157,1
    - Dst: test_produce_msgs_easy_multi
      Src: /src/librdkafka/tests/0015-offset_seeks.c:159,1
    - Dst: do_legacy_seek
      Src: /src/librdkafka/tests/0015-offset_seeks.c:165,1
    - Dst: do_seek
      Src: /src/librdkafka/tests/0015-offset_seeks.c:167,1
    - Dst: do_seek
      Src: /src/librdkafka/tests/0015-offset_seeks.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 151
    functionDepth: 8
    functionLinenumber: 151
    functionLinenumberEnd: 172
    functionName: main_0015_offsets_seek
    functionSourceFile: /src/librdkafka/tests/0015-offset_seeks.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs_easy_multi
    - do_legacy_seek
    - test_id_generate
    - test_mk_topic_name
    - do_seek
    linkageType: ''
    returnType: int
    signature: int main_0015_offsets_seek(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:46,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:47,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:50,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:52,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:53,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:56,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:58,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:60,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:62,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:65,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:67,1
    - Dst: RdKafka::Consumer*::start
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:69,1
    - Dst: RdKafka::Consumer*::start
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:70,1
    - Dst: RdKafka::Consumer*::start
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:71,1
    - Dst: memset
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:78,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:82,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:85,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:89,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:89,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:92,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:93,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:96,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:96,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:97,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:104,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:105,1
    - Dst: RdKafka::Consumer*::consume
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:106,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:108,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:116,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:120,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:120,1
    - Dst: RdKafka::Consumer*::stop
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:127,1
    - Dst: RdKafka::Consumer*::stop
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:128,1
    - Dst: RdKafka::Consumer*::stop
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:129,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:143,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:145,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:145,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:151,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:151,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:159,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:159,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - sticky_delay
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 166
    functionName: do_test_sticky_partitioning
    functionSourceFile: /src/librdkafka/tests/0114-sticky_partitioning.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - RdKafka::Message*::err
    - Test::create_topic_wait_exists
    - RdKafka::Producer*::poll
    - memset
    - Test::conf_set
    - test_clock
    - RdKafka::Message*::errstr
    - RdKafka::Consumer*::start
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - Test::Say
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - tostr
    - RdKafka::Message*::partition
    - RdKafka::Consumer*::consume
    - RdKafka::Consumer*::stop
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_sticky_partitioning(int sticky_delay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_sticky_partitioning
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:171,1
    - Dst: do_test_sticky_partitioning
      Src: /src/librdkafka/tests/0114-sticky_partitioning.cpp:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: main_0114_sticky_partitioning
    functionSourceFile: /src/librdkafka/tests/0114-sticky_partitioning.cpp
    functionUses: 0
    functionsReached:
    - do_test_sticky_partitioning
    linkageType: ''
    returnType: int
    signature: int main_0114_sticky_partitioning(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0152-rebootstrap.c:41,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0152-rebootstrap.c:43,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0152-rebootstrap.c:44,1
    - Dst: rd_kafka_brokers_add
      Src: /src/librdkafka/tests/0152-rebootstrap.c:45,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0152-rebootstrap.c:48,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0152-rebootstrap.c:49,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0152-rebootstrap.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rk_type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 6
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: do_test_rebootstrap_local_no_bootstrap_servers
    functionSourceFile: /src/librdkafka/tests/0152-rebootstrap.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_sleep
    - test_conf_init
    - SUB_TEST_PASS
    - rd_kafka_brokers_add
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_rebootstrap_local_no_bootstrap_servers(rd_kafka_type_t
      rk_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_rebootstrap_local_no_bootstrap_servers
      Src: /src/librdkafka/tests/0152-rebootstrap.c:55,1
    - Dst: do_test_rebootstrap_local_no_bootstrap_servers
      Src: /src/librdkafka/tests/0152-rebootstrap.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 7
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: main_0152_rebootstrap_local
    functionSourceFile: /src/librdkafka/tests/0152-rebootstrap.c
    functionUses: 0
    functionsReached:
    - do_test_rebootstrap_local_no_bootstrap_servers
    linkageType: ''
    returnType: int
    signature: int main_0152_rebootstrap_local(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:71,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:73,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:74,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:75,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:80,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:83,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:84,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:87,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:90,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:91,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:93,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:93,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:95,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:98,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:103,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:111,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:111,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:113,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:114,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:122,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:129,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:135,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:138,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:142,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:147,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:148,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:149,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:153,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - assignor
    - bootstraps
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 154
    functionName: do_test_asymmetric
    functionSourceFile: /src/librdkafka/tests/0120-asymmetric_subscription.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - TEST_ASSERT
    - rd_kafka_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - rd_kafka_subscribe
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_consumer_close
    - test_create_consumer
    - TEST_CALL_ERR__
    - strcmp
    - test_consumer_wait_assignment
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_conf_init
    - test_conf_set
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_asymmetric(const char *assignor, const char *bootstraps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:161,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:163,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:167,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:168,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:169,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:170,1
    - Dst: do_test_asymmetric
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:172,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:177,1
    - Dst: do_test_asymmetric
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:178,1
    - Dst: do_test_asymmetric
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:179,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0120-asymmetric_subscription.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 157
    functionDepth: 8
    functionLinenumber: 157
    functionLinenumberEnd: 185
    functionName: main_0120_asymmetric_subscription
    functionSourceFile: /src/librdkafka/tests/0120-asymmetric_subscription.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_consumer_group_protocol_classic
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - do_test_asymmetric
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0120_asymmetric_subscription(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0084-destroy_flags.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: destroy_flags_rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0084-destroy_flags.c
    functionUses: 0
    functionsReached:
    - test_rebalance_cb
    linkageType: ''
    returnType: void
    signature: "void destroy_flags_rebalance_cb(rd_kafka_t *rk,\n                                       rd_kafka_resp_err_t
      err,\n                                       rd_kafka_topic_partition_list_t
      *parts,\n                                       void *opaque)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0084-destroy_flags.c:63,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0084-destroy_flags.c:71,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0084-destroy_flags.c:74,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0084-destroy_flags.c:78,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0084-destroy_flags.c:84,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0084-destroy_flags.c:85,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0084-destroy_flags.c:88,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0084-destroy_flags.c:94,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0084-destroy_flags.c:96,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0084-destroy_flags.c:100,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0084-destroy_flags.c:103,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0084-destroy_flags.c:105,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0084-destroy_flags.c:110,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0084-destroy_flags.c:116,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0084-destroy_flags.c:117,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0084-destroy_flags.c:122,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0084-destroy_flags.c:124,1
    - Dst: rd_kafka_destroy_flags
      Src: /src/librdkafka/tests/0084-destroy_flags.c:125,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0084-destroy_flags.c:126,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0084-destroy_flags.c:129,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0084-destroy_flags.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0084-destroy_flags.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0084-destroy_flags.c:139,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0084-destroy_flags.c:143,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0084-destroy_flags.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 4
    argNames:
    - topic
    - destroy_flags
    - local_mode
    - args
    argTypes:
    - char*
    - int
    - int
    - struct df_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 152
    functionName: do_test_destroy_flags
    functionSourceFile: /src/librdkafka/tests/0084-destroy_flags.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy_flags
    - test_create_handle
    - test_consumer_poll_once
    - test_consumer_subscribe
    - rd_kafka_topic_destroy
    - rd_kafka_unsubscribe
    - TEST_LATER_CHECK
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - TIMING_START
    - TIMING_ASSERT_LATER
    - test_conf_set
    - test_create_producer_topic
    - test_produce_msgs_nowait
    - test_create_consumer
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: "void do_test_destroy_flags(const char *topic,\n                                  int
      destroy_flags,\n                                  int local_mode,\n                                  const
      struct df_args *args)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0084-destroy_flags.c:166,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0084-destroy_flags.c:168,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0084-destroy_flags.c:174,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/tests/0084-destroy_flags.c:177,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/tests/0084-destroy_flags.c:178,1
    - Dst: do_test_destroy_flags
      Src: /src/librdkafka/tests/0084-destroy_flags.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - local_mode
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 10
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: destroy_flags
    functionSourceFile: /src/librdkafka/tests/0084-destroy_flags.c
    functionUses: 2
    functionsReached:
    - do_test_destroy_flags
    - test_create_topic_wait_exists
    - RD_ARRAYSIZE
    - TEST_BRKVER
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void destroy_flags(int local_mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0084-destroy_flags.c:192,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0084-destroy_flags.c:193,1
    - Dst: destroy_flags
      Src: /src/librdkafka/tests/0084-destroy_flags.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 11
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: main_0084_destroy_flags_local
    functionSourceFile: /src/librdkafka/tests/0084-destroy_flags.c
    functionUses: 0
    functionsReached:
    - destroy_flags
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0084_destroy_flags_local(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0084-destroy_flags.c:202,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0084-destroy_flags.c:203,1
    - Dst: destroy_flags
      Src: /src/librdkafka/tests/0084-destroy_flags.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 11
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: main_0084_destroy_flags
    functionSourceFile: /src/librdkafka/tests/0084-destroy_flags.c
    functionUses: 0
    functionsReached:
    - destroy_flags
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0084_destroy_flags(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0131-connect_timeout.c:41,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0131-connect_timeout.c:43,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0131-connect_timeout.c:46,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0131-connect_timeout.c:46,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0131-connect_timeout.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: log_cb
    functionSourceFile: /src/librdkafka/tests/0131-connect_timeout.c
    functionUses: 4
    functionsReached:
    - TEST_SAY
    - rd_kafka_name
    - strstr
    - rd_kafka_opaque
    - rd_atomic32_add
    linkageType: ''
    returnType: void
    signature: void log_cb(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0131-connect_timeout.c:57,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0131-connect_timeout.c:58,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0131-connect_timeout.c:59,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0131-connect_timeout.c:60,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0131-connect_timeout.c:61,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0131-connect_timeout.c:62,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0131-connect_timeout.c:63,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/0131-connect_timeout.c:64,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0131-connect_timeout.c:65,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0131-connect_timeout.c:67,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0131-connect_timeout.c:69,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0131-connect_timeout.c:70,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0131-connect_timeout.c:70,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0131-connect_timeout.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0131-connect_timeout.c:74,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0131-connect_timeout.c:74,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0131-connect_timeout.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 52
    functionDepth: 6
    functionLinenumber: 52
    functionLinenumberEnd: 81
    functionName: main_0131_connect_timeout
    functionSourceFile: /src/librdkafka/tests/0131-connect_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_create_handle
    - rd_kafka_destroy
    - rd_atomic32_init
    - rd_sleep
    - test_conf_init
    - TEST_ASSERT
    - rd_atomic32_get
    - rd_kafka_conf_set_opaque
    - test_conf_set
    - rd_kafka_conf_set_log_cb
    linkageType: ''
    returnType: int
    signature: int main_0131_connect_timeout(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_err
    argTypes:
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DrCb::DrCb
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DrCb(RdKafka::ErrorCode exp_err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:53,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:54,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:54,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:55,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:55,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: DrCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - Test::Say
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - exp_err
    argTypes:
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DrCb::DrCb
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DrCb(RdKafka::ErrorCode exp_err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:52,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:53,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:54,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:54,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:55,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:55,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: DrCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - Test::Say
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:70,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:70,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:73,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:77,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:82,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:83,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:88,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:90,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:92,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:96,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:100,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:100,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:100,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:103,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:105,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:106,1
    - Dst: Test::create_topic
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:108,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:108,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:110,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:113,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:117,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - timeout_too_short
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 119
    functionName: do_test_producer
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 1
    functionsReached:
    - Test::Fail
    - RdKafka::Producer*::produce
    - Test::create_topic
    - RdKafka::Conf*::set
    - Test::conf_init
    - RdKafka::Producer*::flush
    - tostr
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - test_mk_topic_name
    - Test::Say
    - test_clock
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void do_test_producer(bool timeout_too_short)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:123,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0111-delay_create_topics.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: main_0111_delay_create_topics
    functionSourceFile: /src/librdkafka/tests/0111-delay_create_topics.cpp
    functionUses: 0
    functionsReached:
    - do_test_producer
    linkageType: ''
    returnType: int
    signature: int main_0111_delay_create_topics(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:50,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:51,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 6
    functionsReached:
    - TEST_FAIL
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0014-reconsume-191.c:79,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0014-reconsume-191.c:81,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0014-reconsume-191.c:85,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0014-reconsume-191.c:89,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0014-reconsume-191.c:91,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:93,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:94,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0014-reconsume-191.c:94,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0014-reconsume-191.c:104,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0014-reconsume-191.c:107,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0014-reconsume-191.c:112,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0014-reconsume-191.c:114,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0014-reconsume-191.c:114,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:116,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:120,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0014-reconsume-191.c:120,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0014-reconsume-191.c:127,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0014-reconsume-191.c:128,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:131,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:134,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0014-reconsume-191.c:138,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:141,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0014-reconsume-191.c:141,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0014-reconsume-191.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - testid
    - topic
    - partition_cnt
    - msg_base
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 143
    functionName: produce_messages
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_new
    - rd_kafka_topic_conf_set
    - test_conf_init
    - rd_kafka_err2str
    - TEST_SAY
    - rd_kafka_poll
    - rd_kafka_outq_len
    - rd_kafka_name
    - strlen
    - TEST_FAIL
    - rd_kafka_last_error
    - rd_kafka_produce
    linkageType: ''
    returnType: void
    signature: "void produce_messages(uint64_t testid,\n                             const
      char *topic,\n                             int partition_cnt,\n                             int
      msg_base,\n                             int msgcnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0014-reconsume-191.c:156,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0014-reconsume-191.c:163,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - msgcnt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 176
    functionName: verify_consumed_msg_reset
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void verify_consumed_msg_reset(int msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: int_cmp
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int int_cmp(const void *_a, const void *_b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:194,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:197,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:201,1
    - Dst: qsort
      Src: /src/librdkafka/tests/0014-reconsume-191.c:206,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:212,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:215,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:224,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:228,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - func
    - line
    - desc
    - expected_cnt
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 234
    functionName: verify_consumed_msg_check0
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - qsort
    - TEST_FAIL
    - TEST_SAY
    linkageType: ''
    returnType: void
    signature: "void verify_consumed_msg_check0(const char *func,\n                                       int
      line,\n                                       const char *desc,\n                                       int
      expected_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - desc
    - ','
    - expected_cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: verify_consumed_msg_check
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg_check(desc, expected_cnt)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:254,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0014-reconsume-191.c:259,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/0014-reconsume-191.c:262,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:264,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:267,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:281,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0014-reconsume-191.c:285,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:286,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:295,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 6
    argNames:
    - func
    - line
    - testid
    - partition
    - msgnum
    - rkmessage
    argTypes:
    - char*
    - int
    - uint64_t
    - int32_t
    - int
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 300
    functionName: verify_consumed_msg0
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - verify_consumed_msg_check
    - TEST_SAY
    - sscanf
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void verify_consumed_msg0(const char *func,\n                                 int
      line,\n                                 uint64_t testid,\n                                 int32_t
      partition,\n                                 int msgnum,\n                                 rd_kafka_message_t
      *rkmessage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - testid
    - ','
    - part
    - ','
    - msgnum
    - ','
    - rkmessage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: verify_consumed_msg
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg(testid, part, msgnum, rkmessage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:311,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:313,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:316,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:321,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:325,1
    - Dst: verify_consumed_msg
      Src: /src/librdkafka/tests/0014-reconsume-191.c:327,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0014-reconsume-191.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 335
    functionName: consume_cb
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - verify_consumed_msg
    - rd_kafka_yield
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void consume_cb(rd_kafka_message_t *rkmessage, void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:352,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0014-reconsume-191.c:358,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0014-reconsume-191.c:360,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0014-reconsume-191.c:363,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0014-reconsume-191.c:365,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0014-reconsume-191.c:368,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0014-reconsume-191.c:371,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0014-reconsume-191.c:373,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0014-reconsume-191.c:376,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:378,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:379,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0014-reconsume-191.c:379,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:389,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/tests/0014-reconsume-191.c:398,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:400,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0014-reconsume-191.c:402,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0014-reconsume-191.c:402,1
    - Dst: rd_kafka_consume_callback
      Src: /src/librdkafka/tests/0014-reconsume-191.c:409,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:413,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0014-reconsume-191.c:416,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0014-reconsume-191.c:417,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0014-reconsume-191.c:418,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0014-reconsume-191.c:429,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:432,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0014-reconsume-191.c:432,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0014-reconsume-191.c:433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 9
    argNames:
    - desc
    - testid
    - topic
    - partition
    - offset_store_method
    - msg_base
    - msg_cnt
    - initial_offset
    - iterations
    argTypes:
    - char*
    - uint64_t
    - char*
    - int32_t
    - char*
    - int
    - int
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 337
    functionDepth: 6
    functionLinenumber: 337
    functionLinenumberEnd: 434
    functionName: consume_messages_callback_multi
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_consume_callback
    - rd_kafka_topic_new
    - rd_kafka_name
    - rd_kafka_last_error
    - rd_kafka_destroy
    - rd_kafka_consume_start
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_topic_conf_set
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_handle
    - strcmp
    - TIMING_STOP
    - rd_kafka_consume_stop
    - test_conf_init
    - TIMING_START
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void consume_messages_callback_multi(const char *desc,\n                                            uint64_t
      testid,\n                                            const char *topic,\n                                            int32_t
      partition,\n                                            const char *offset_store_method,\n
      \                                           int msg_base,\n                                            int
      msg_cnt,\n                                            int64_t initial_offset,\n
      \                                           int iterations)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0014-reconsume-191.c:448,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0014-reconsume-191.c:451,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0014-reconsume-191.c:452,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0014-reconsume-191.c:454,1
    - Dst: produce_messages
      Src: /src/librdkafka/tests/0014-reconsume-191.c:458,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0014-reconsume-191.c:461,1
    - Dst: consume_messages_callback_multi
      Src: /src/librdkafka/tests/0014-reconsume-191.c:466,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0014-reconsume-191.c:470,1
    - Dst: consume_messages_callback_multi
      Src: /src/librdkafka/tests/0014-reconsume-191.c:474,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0014-reconsume-191.c:478,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0014-reconsume-191.c:482,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0014-reconsume-191.c:485,1
    - Dst: consume_messages_callback_multi
      Src: /src/librdkafka/tests/0014-reconsume-191.c:487,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0014-reconsume-191.c:498,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0014-reconsume-191.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - offset_store_method
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 438
    functionDepth: 7
    functionLinenumber: 438
    functionLinenumberEnd: 503
    functionName: test_produce_consume
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - produce_messages
    - RD_KAFKA_OFFSET_TAIL
    - verify_consumed_msg_check
    - test_conf_init
    - TEST_SAY
    - verify_consumed_msg_reset
    - test_id_generate
    - test_mk_topic_name
    - consume_messages_callback_multi
    linkageType: ''
    returnType: void
    signature: void test_produce_consume(const char *offset_store_method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0014-reconsume-191.c:508,1
    - Dst: test_produce_consume
      Src: /src/librdkafka/tests/0014-reconsume-191.c:509,1
    - Dst: test_produce_consume
      Src: /src/librdkafka/tests/0014-reconsume-191.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: main_0014_reconsume_191
    functionSourceFile: /src/librdkafka/tests/0014-reconsume-191.c
    functionUses: 0
    functionsReached:
    - test_produce_consume
    - TEST_BRKVER
    linkageType: ''
    returnType: int
    signature: int main_0014_reconsume_191(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:37,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:38,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:42,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:43,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:48,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:50,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:52,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:55,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:59,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:61,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:61,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0124-openssl_invalid_engine.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 31
    functionDepth: 5
    functionLinenumber: 31
    functionLinenumberEnd: 69
    functionName: main_0124_openssl_invalid_engine
    functionSourceFile: /src/librdkafka/tests/0124-openssl_invalid_engine.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - test_conf_init
    - TEST_SAY
    - TEST_SKIP
    - TEST_ASSERT
    - strstr
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - TEST_FAIL
    linkageType: ''
    returnType: int
    signature: int main_0124_openssl_invalid_engine(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:41,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:43,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:43,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:44,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:44,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:45,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:46,1
    - Dst: RdKafka::Headers*::get_all
      Src: /src/librdkafka/tests/0085-headers.cpp:49,1
    - Dst: RdKafka::Headers*::get_all
      Src: /src/librdkafka/tests/0085-headers.cpp:50,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:51,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:51,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0085-headers.cpp:51,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0085-headers.cpp:52,1
    - Dst: RdKafka::Headers::Header::key
      Src: /src/librdkafka/tests/0085-headers.cpp:55,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0085-headers.cpp:57,1
    - Dst: RdKafka::Headers::Header::value_string
      Src: /src/librdkafka/tests/0085-headers.cpp:57,1
    - Dst: RdKafka::Headers::Header::value_size
      Src: /src/librdkafka/tests/0085-headers.cpp:57,1
    - Dst: RdKafka::Headers::Header::key
      Src: /src/librdkafka/tests/0085-headers.cpp:58,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0085-headers.cpp:60,1
    - Dst: RdKafka::Headers::Header::value_string
      Src: /src/librdkafka/tests/0085-headers.cpp:60,1
    - Dst: RdKafka::Headers::Header::value_size
      Src: /src/librdkafka/tests/0085-headers.cpp:60,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:62,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:62,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:67,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:67,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:72,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - actual
    - expected
    argTypes:
    - RdKafka::Headers*
    - RdKafka::Headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 77
    functionName: assert_all_headers_match
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Headers*::size
    - std::vector::size
    - RdKafka::Headers::Header::value_string
    - tostr
    - RdKafka::Headers::Header::key
    - RdKafka::Headers*::get_all
    - std::string
    - Test::Say
    - RdKafka::Headers::Header::value_size
    linkageType: ''
    returnType: void
    signature: "void assert_all_headers_match(RdKafka::Headers *actual,\n                                     const
      RdKafka::Headers *expected)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: produce
      Src: /src/librdkafka/tests/0085-headers.cpp:83,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:87,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0085-headers.cpp:87,1
    - Dst: flush
      Src: /src/librdkafka/tests/0085-headers.cpp:89,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0085-headers.cpp:89,1
    - Dst: outq_len
      Src: /src/librdkafka/tests/0085-headers.cpp:91,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:92,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:92,1
    - Dst: outq_len
      Src: /src/librdkafka/tests/0085-headers.cpp:93,1
    - Dst: consume
      Src: /src/librdkafka/tests/0085-headers.cpp:99,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0085-headers.cpp:101,1
    - Dst: RdKafka::Message*::headers
      Src: /src/librdkafka/tests/0085-headers.cpp:103,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:104,1
    - Dst: assert_all_headers_match
      Src: /src/librdkafka/tests/0085-headers.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:108,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:113,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0085-headers.cpp:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - produce_headers
    - compare_headers
    argTypes:
    - RdKafka::Headers*
    - RdKafka::Headers*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 117
    functionName: test_headers
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - outq_len
    - RdKafka::Message*::errstr
    - RdKafka::Headers*::size
    - RdKafka::Message*::err
    - tostr
    - consume
    - assert_all_headers_match
    - RdKafka::err2str
    - flush
    - RdKafka::Message*::headers
    - produce
    - tmout_multip
    linkageType: ''
    returnType: void
    signature: "void test_headers(RdKafka::Headers *produce_headers,\n                         const
      RdKafka::Headers *compare_headers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:120,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:120,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:122,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:123,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/0085-headers.cpp:127,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:131,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:132,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:137,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:138,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:141,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:142,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/0085-headers.cpp:147,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:148,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:149,1
    - Dst: test_headers
      Src: /src/librdkafka/tests/0085-headers.cpp:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - num_hdrs
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: test_headers
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 1
    functionsReached:
    - test_headers
    - std::stringstream::str
    - RdKafka::Headers*::add
    - tostr
    - thrd_create
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void test_headers(int num_hdrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:157,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:159,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:160,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/tests/0085-headers.cpp:165,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:166,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:167,1
    - Dst: test_headers
      Src: /src/librdkafka/tests/0085-headers.cpp:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 171
    functionName: test_duplicate_keys
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - test_headers
    - std::stringstream::str
    - RdKafka::Headers*::add
    - thrd_create
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void test_duplicate_keys()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:174,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:175,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:180,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:185,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:189,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:190,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:190,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:191,1
    - Dst: RdKafka::Headers*::remove
      Src: /src/librdkafka/tests/0085-headers.cpp:195,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:197,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:198,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:198,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: test_remove_after_add
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Headers*::size
    - RdKafka::Headers*::add
    - tostr
    - thrd_create
    - Test::Say
    - RdKafka::Headers*::remove
    linkageType: ''
    returnType: void
    signature: void test_remove_after_add()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:207,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:208,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:213,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:218,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:219,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:223,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:224,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:224,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:225,1
    - Dst: RdKafka::Headers*::remove
      Src: /src/librdkafka/tests/0085-headers.cpp:229,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:231,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:232,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:232,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 238
    functionName: test_remove_all_duplicate_keys
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Headers*::size
    - RdKafka::Headers*::add
    - tostr
    - thrd_create
    - Test::Say
    - RdKafka::Headers*::remove
    linkageType: ''
    returnType: void
    signature: void test_remove_all_duplicate_keys()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:241,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:242,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:249,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:250,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:251,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:255,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:256,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:256,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:257,1
    - Dst: RdKafka::Headers*::get_last
      Src: /src/librdkafka/tests/0085-headers.cpp:261,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0085-headers.cpp:262,1
    - Dst: RdKafka::Headers::Header::value_string
      Src: /src/librdkafka/tests/0085-headers.cpp:262,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:264,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: test_get_last_gives_last_added_val
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Headers*::size
    - RdKafka::Headers::Header::value_string
    - RdKafka::Headers*::add
    - tostr
    - thrd_create
    - std::string
    - RdKafka::Headers*::get_last
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void test_get_last_gives_last_added_val()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:273,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:274,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:282,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:283,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:284,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:285,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:289,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:290,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:290,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:291,1
    - Dst: RdKafka::Headers*::get
      Src: /src/librdkafka/tests/0085-headers.cpp:295,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0085-headers.cpp:297,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:298,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0085-headers.cpp:298,1
    - Dst: RdKafka::Headers*::size
      Src: /src/librdkafka/tests/0085-headers.cpp:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 304
    functionName: test_get_of_key_returns_all
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Headers*::size
    - std::vector::size
    - RdKafka::Headers*::add
    - tostr
    - thrd_create
    - RdKafka::Headers*::get
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void test_get_of_key_returns_all()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:307,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:308,1
    - Dst: produce
      Src: /src/librdkafka/tests/0085-headers.cpp:312,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 319
    functionName: test_failed_produce
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Headers*::add
    - produce
    - Test::Fail
    - thrd_create
    linkageType: ''
    returnType: void
    signature: void test_failed_produce()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0085-headers.cpp:322,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:324,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:326,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/tests/0085-headers.cpp:327,1
    - Dst: RdKafka::Headers*::get_last
      Src: /src/librdkafka/tests/0085-headers.cpp:329,1
    - Dst: RdKafka::Headers*::get_last
      Src: /src/librdkafka/tests/0085-headers.cpp:330,1
    - Dst: RdKafka::Headers*::get_last
      Src: /src/librdkafka/tests/0085-headers.cpp:332,1
    - Dst: RdKafka::Headers*::get_last
      Src: /src/librdkafka/tests/0085-headers.cpp:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 337
    functionName: test_assignment_op
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Headers*::add
    - RdKafka::Headers*::get_last
    - Test::Say
    - thrd_create
    linkageType: ''
    returnType: void
    signature: void test_assignment_op()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0085-headers.cpp:342,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0085-headers.cpp:347,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:349,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:351,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0085-headers.cpp:353,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:355,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:357,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0085-headers.cpp:361,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0085-headers.cpp:361,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0085-headers.cpp:364,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0085-headers.cpp:364,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0085-headers.cpp:366,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0085-headers.cpp:368,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0085-headers.cpp:368,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0085-headers.cpp:369,1
    - Dst: test_headers
      Src: /src/librdkafka/tests/0085-headers.cpp:374,1
    - Dst: test_headers
      Src: /src/librdkafka/tests/0085-headers.cpp:375,1
    - Dst: test_headers
      Src: /src/librdkafka/tests/0085-headers.cpp:376,1
    - Dst: test_duplicate_keys
      Src: /src/librdkafka/tests/0085-headers.cpp:377,1
    - Dst: test_remove_after_add
      Src: /src/librdkafka/tests/0085-headers.cpp:378,1
    - Dst: test_remove_all_duplicate_keys
      Src: /src/librdkafka/tests/0085-headers.cpp:379,1
    - Dst: test_get_last_gives_last_added_val
      Src: /src/librdkafka/tests/0085-headers.cpp:380,1
    - Dst: test_get_of_key_returns_all
      Src: /src/librdkafka/tests/0085-headers.cpp:381,1
    - Dst: test_failed_produce
      Src: /src/librdkafka/tests/0085-headers.cpp:382,1
    - Dst: test_assignment_op
      Src: /src/librdkafka/tests/0085-headers.cpp:383,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0085-headers.cpp:385,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0085-headers.cpp:385,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0085-headers.cpp:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 391
    functionName: main_0085_headers
    functionSourceFile: /src/librdkafka/tests/0085-headers.cpp
    functionUses: 0
    functionsReached:
    - test_assignment_op
    - Test::conf_init
    - Test::create_topic_wait_exists
    - test_remove_after_add
    - Test::delete_topic
    - test_get_last_gives_last_added_val
    - Test::conf_set
    - test_remove_all_duplicate_keys
    - c_str
    - test_failed_produce
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - test_headers
    - Test::Fail
    - std::vector::push_back
    - test_get_of_key_returns_all
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::assign
    - test_duplicate_keys
    linkageType: ''
    returnType: int
    signature: int main_0085_headers(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - string
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: Toppar::Toppar
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Toppar(const string &topic, int32_t partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:54,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - tp
    argTypes:
    - RdKafka::TopicPartition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: Toppar::Toppar
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartition*::partition
    - RdKafka::TopicPartition*::topic
    linkageType: ''
    returnType: void
    signature: void Toppar(const RdKafka::TopicPartition *tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Toppar
    - Toppar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: operator==(const Toppar &a, const Toppar &b)
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Toppar &a, const Toppar &b)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Toppar
    - Toppar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: operator<(const Toppar &a, const Toppar &b)
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator<(const Toppar &a, const Toppar &b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: Toppar::str
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - tostr
    linkageType: ''
    returnType: string
    signature: string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:82,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: get_bootstrap_servers
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Conf*::get
    - Test::conf_init
    linkageType: ''
    returnType: std::string
    signature: std::string get_bootstrap_servers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:92,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:93,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:93,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: DrCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - Test::Fail
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:106,1
    - Dst: DrCb::DrCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:109,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:110,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:111,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:113,1
    - Dst: vector<pair<Toppar, int> >::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:116,1
    - Dst: vector<pair<Toppar, int> >::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:117,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:121,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:123,1
    - Dst: vector<pair<Toppar, int> >::iterator::first::topic::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:123,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:124,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:126,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - vector<pair<Toppar, int> >
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 134
    functionName: produce_msgs
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 20
    functionsReached:
    - vector<pair<Toppar, int> >::begin
    - Test::Fail
    - RdKafka::Producer*::produce
    - vector<pair<Toppar, int> >::iterator::first::topic::c_str
    - RdKafka::Conf*::set
    - Test::conf_init
    - DrCb::DrCb
    - RdKafka::Producer*::flush
    - TEST_ASSERT
    - thrd_create
    - RdKafka::err2str
    - vector<pair<Toppar, int> >::end
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void produce_msgs(vector<pair<Toppar, int> > partitions)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:150,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:151,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:152,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:153,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:154,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:155,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:157,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:158,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:158,1
    - Dst: begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:162,1
    - Dst: end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:162,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:164,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:168,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:169,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:172,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - client_id
    - group_id
    - assignment_strategy
    - additional_conf
    - rebalance_cb
    - timeout_s
    argTypes:
    - string
    - string
    - string
    - vector<pair<string, string> >*
    - RdKafka::RebalanceCb*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 178
    functionName: make_consumer
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - end
    - Test::Fail
    - Test::conf_init
    - begin
    - RdKafka::Conf*::set
    - test_consumer_group_protocol
    - thrd_create
    - Test::conf_set
    linkageType: ''
    returnType: RdKafka::KafkaConsumer
    signature: "RdKafka::KafkaConsumer *make_consumer(\n    string client_id,\n    string
      group_id,\n    string assignment_strategy,\n    vector<pair<string, string>
      > *additional_conf,\n    RdKafka::RebalanceCb *rebalance_cb,\n    int timeout_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<string>::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:185,1
    - Dst: vector<string>::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:185,1
    - Dst: vector<string>::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:186,1
    - Dst: ostringstream::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - vector<string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: string_vec_to_str
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - vector<string>::end
    - vector<string>::begin
    - ostringstream::str
    linkageType: ''
    returnType: string
    signature: string string_vec_to_str(const vector<string> &v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:193,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:195,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:195,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:196,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:197,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:198,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:198,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:198,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:200,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - consumer
    - count
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: expect_assignment
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - std::vector::size
    - tostr
    - test_mock_cluster_destroy
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::name
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: void
    signature: void expect_assignment(RdKafka::KafkaConsumer *consumer, size_t count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:207,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:207,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:209,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:209,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:211,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - RdKafka::TopicPartition*
    - RdKafka::TopicPartition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: TopicPartition_cmp
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartition*::partition
    - RdKafka::TopicPartition*::topic
    linkageType: ''
    returnType: bool
    signature: "bool TopicPartition_cmp(const RdKafka::TopicPartition *a,\n                               const
      RdKafka::TopicPartition *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:219,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:221,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:221,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:222,1
    - Dst: vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:224,1
    - Dst: vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:224,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:225,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:225,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:225,1
    - Dst: vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:226,1
    - Dst: vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:227,1
    - Dst: sort
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:229,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:229,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:229,1
    - Dst: sort
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:230,1
    - Dst: vector<RdKafka::TopicPartition *>::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:230,1
    - Dst: vector<RdKafka::TopicPartition *>::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:230,1
    - Dst: vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:233,1
    - Dst: TopicPartition_cmp
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:234,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:237,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:237,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:237,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:238,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:239,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:240,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:241,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:246,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:246,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - consumer
    - expected
    argTypes:
    - RdKafka::KafkaConsumer*
    - vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: expect_assignment
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - vector::begin
    - TopicPartition_cmp
    - topic
    - Test::Fail
    - vector::size
    - tostr
    - test_mock_cluster_destroy
    - partition
    - RdKafka::err2str
    - vector::end
    - vector<RdKafka::TopicPartition *>::size
    - vector<RdKafka::TopicPartition *>::end
    - Test::Say
    - sort
    - RdKafka::KafkaConsumer*::name
    - vector<RdKafka::TopicPartition *>::begin
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: void
    signature: "void expect_assignment(RdKafka::KafkaConsumer *consumer,\n                       vector<RdKafka::TopicPartition
      *> &expected)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:257,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:258,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:259,1
    - Dst: ostringstream::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 261
    functionName: DefaultRebalanceCb::part_list_print
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - topic
    - ostringstream::str
    - vector<RdKafka::TopicPartition *>::size
    - partition
    linkageType: ''
    returnType: string
    signature: "string part_list_print(\n      const vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reset_msg_cnt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 275
    functionName: ~DefaultRebalanceCb()
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - reset_msg_cnt
    linkageType: ''
    returnType: void
    signature: void ~DefaultRebalanceCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 285
    functionName: DefaultRebalanceCb::DefaultRebalanceCb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DefaultRebalanceCb()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::rebalance_protocol
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:293,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:297,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:299,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:299,1
    - Dst: RdKafka::KafkaConsumer*::assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:302,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:303,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:303,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:304,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:304,1
    - Dst: DefaultRebalanceCb::part_list_print
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:305,1
    - Dst: RdKafka::KafkaConsumer*::assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:309,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:310,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:311,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:313,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:313,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:314,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:315,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:318,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:319,1
    - Dst: RdKafka::KafkaConsumer*::assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:322,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:324,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:326,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:326,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:327,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:328,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:329,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:331,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:335,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:335,1
    - Dst: DefaultRebalanceCb::reset_msg_cnt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:336,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - consumer
    - err
    - partitions
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 337
    functionName: DefaultRebalanceCb::rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - DefaultRebalanceCb::reset_msg_cnt
    - RdKafka::KafkaConsumer*::rebalance_protocol
    - test_clock
    - std::string::c_str
    - TEST_ASSERT
    - tostr
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::assignment_lost
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::name
    - DefaultRebalanceCb::part_list_print
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(RdKafka::KafkaConsumer *consumer,\n                    RdKafka::ErrorCode
      err,\n                    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:340,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:341,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:342,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:343,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:343,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - timeout_ms
    argTypes:
    - RdKafka::KafkaConsumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: DefaultRebalanceCb::poll_once
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message*::err
    - RdKafka::Message*::partition
    - RdKafka::Message*::topic_name
    - RdKafka::KafkaConsumer*::consume
    - Toppar
    linkageType: ''
    returnType: bool
    signature: bool poll_once(RdKafka::KafkaConsumer *c, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clear
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: DefaultRebalanceCb::reset_msg_cnt
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 1
    functionsReached:
    - clear
    linkageType: ''
    returnType: void
    signature: void reset_msg_cnt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DefaultRebalanceCb::get_msg_cnt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:353,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:354,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:354,1
    - Dst: erase
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:356,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - Toppar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 358
    functionName: DefaultRebalanceCb::reset_msg_cnt
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 1
    functionsReached:
    - Test::Fail
    - DefaultRebalanceCb::get_msg_cnt
    - tostr
    - Test::Say
    - erase
    linkageType: ''
    returnType: void
    signature: void reset_msg_cnt(Toppar &tp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:361,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:362,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:362,1
    - Dst: DefaultRebalanceCb::reset_msg_cnt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: DefaultRebalanceCb::reset_msg_cnt
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 2
    functionsReached:
    - DefaultRebalanceCb::reset_msg_cnt
    - topic
    - vector<RdKafka::TopicPartition *>::size
    - partition
    linkageType: ''
    returnType: void
    signature: void reset_msg_cnt(const vector<RdKafka::TopicPartition *> &partitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:368,1
    - Dst: end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tp
    argTypes:
    - Toppar
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: DefaultRebalanceCb::get_msg_cnt
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 1
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: int
    signature: int get_msg_cnt(const Toppar &tp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:409,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:410,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:411,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:411,1
    - Dst: vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:413,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:415,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:416,1
    - Dst: find
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:419,1
    - Dst: vector<string>::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:419,1
    - Dst: vector<string>::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:419,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:419,1
    - Dst: vector<string>::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:419,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:420,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:420,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:422,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:423,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:423,1
    - Dst: string_vec_to_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:425,1
    - Dst: map<Toppar, RdKafka::KafkaConsumer *>*::insert
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:432,1
    - Dst: pair<Toppar, RdKafka::KafkaConsumer *>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:433,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:435,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:435,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:435,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:436,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:437,1
    - Dst: pair::first::second::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:440,1
    - Dst: DefaultRebalanceCb::get_msg_cnt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:445,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:448,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:448,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:448,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:450,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:450,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:455,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:455,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:456,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:459,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:461,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:461,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:461,1
    - Dst: ostringstream::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:462,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:465,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:465,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:469,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:470,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:470,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - consumer
    - rebalance_cb
    - topics
    - allow_empty
    - allow_mismatch
    - all_assignments
    - exp_msg_cnt
    argTypes:
    - RdKafka::KafkaConsumer*
    - DefaultRebalanceCb
    - vector<string>
    - bool
    - bool
    - map<Toppar, RdKafka::KafkaConsumer *>*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 474
    functionName: verify_consumer_assignment
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - RdKafka::TopicPartition*::partition
    - vector::begin
    - RdKafka::KafkaConsumer*::name
    - vector<string>::begin
    - map<Toppar, RdKafka::KafkaConsumer *>*::insert
    - vector<string>::end
    - find
    - RdKafka::TopicPartition*::topic
    - test_mock_cluster_destroy
    - RdKafka::err2str
    - vector::end
    - Test::Say
    - pair<Toppar, RdKafka::KafkaConsumer *>
    - ostringstream::str
    - DefaultRebalanceCb::get_msg_cnt
    - Test::Fail
    - vector::size
    - tostr
    - string_vec_to_str
    - pair::first::second::name
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: int
    signature: "int verify_consumer_assignment(\n    RdKafka::KafkaConsumer *consumer,\n
      \   DefaultRebalanceCb &rebalance_cb,\n    const vector<string> &topics,\n    bool
      allow_empty,\n    bool allow_mismatch,\n    map<Toppar, RdKafka::KafkaConsumer
      *> *all_assignments,\n    int exp_msg_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:493,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:495,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:496,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:496,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:496,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:497,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:497,1
    - Dst: RdKafka::KafkaConsumer*::unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:499,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:500,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:500,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - consumer
    - toppars1
    - toppars2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: assign_test_1
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - topic
    - tostr
    - RdKafka::KafkaConsumer*::unassign
    - RdKafka::err2str
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - Test::check_assignment
    linkageType: ''
    returnType: void
    signature: "void assign_test_1(RdKafka::KafkaConsumer *consumer,\n                          std::vector<RdKafka::TopicPartition
      *> toppars1,\n                          std::vector<RdKafka::TopicPartition
      *> toppars2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:513,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:515,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:516,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:516,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:517,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:517,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:519,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:520,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:520,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - consumer
    - toppars1
    - toppars2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 522
    functionName: assign_test_2
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - topic
    - Test::Fail
    - RdKafka::Error*::str
    - Test::check_assignment
    - RdKafka::KafkaConsumer*::incremental_unassign
    - RdKafka::err2str
    - Test::Say
    - RdKafka::KafkaConsumer*::assign
    linkageType: ''
    returnType: void
    signature: "void assign_test_2(RdKafka::KafkaConsumer *consumer,\n                          std::vector<RdKafka::TopicPartition
      *> toppars1,\n                          std::vector<RdKafka::TopicPartition
      *> toppars2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:532,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:534,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:535,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:535,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:536,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:536,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:538,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:539,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:539,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - consumer
    - toppars1
    - toppars2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 541
    functionName: assign_test_3
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - topic
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - Test::check_assignment
    linkageType: ''
    returnType: void
    signature: "void assign_test_3(RdKafka::KafkaConsumer *consumer,\n                          std::vector<RdKafka::TopicPartition
      *> toppars1,\n                          std::vector<RdKafka::TopicPartition
      *> toppars2)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:551,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:554,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:555,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:555,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:556,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:556,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:558,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:559,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:560,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:561,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:562,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:562,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:563,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:566,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:567,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:567,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:568,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:570,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:571,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:572,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:575,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:576,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:576,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:577,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:577,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:579,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:580,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:581,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:582,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:583,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:583,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:584,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:587,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:588,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:588,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:589,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:590,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:590,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:591,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:593,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:594,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:595,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:598,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:599,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:599,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:600,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:601,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:601,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:602,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - consumer
    - toppars1
    - toppars2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 603
    functionName: assign_test_4
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - topic
    - RdKafka::Message*::len
    - RdKafka::Message*::err
    - tostr
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::assignment_partition_count
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - Test::check_assignment
    linkageType: ''
    returnType: void
    signature: "void assign_test_4(RdKafka::KafkaConsumer *consumer,\n                          std::vector<RdKafka::TopicPartition
      *> toppars1,\n                          std::vector<RdKafka::TopicPartition
      *> toppars2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:614,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:616,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:617,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:617,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:618,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:620,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:621,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:621,1
    - Dst: Test::check_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - consumer
    - toppars1
    - toppars2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 623
    functionName: assign_test_5
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - Test::check_assignment
    linkageType: ''
    returnType: void
    signature: "void assign_test_5(RdKafka::KafkaConsumer *consumer,\n                          std::vector<RdKafka::TopicPartition
      *> toppars1,\n                          std::vector<RdKafka::TopicPartition
      *> toppars2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:634,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:634,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:636,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:636,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:639,1
    - Dst: test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:641,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:643,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:644,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 648
    functionName: run_test
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 1
    functionsReached:
    - test_mock_cluster_destroy
    - test
    - thrd_create
    - make_consumer
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::close
    linkageType: ''
    returnType: void
    signature: "void run_test(\n    const std::string &t1,\n    const std::string
      &t2,\n    void (*test)(RdKafka::KafkaConsumer *consumer,\n                 std::vector<RdKafka::TopicPartition
      *> toppars1,\n                 std::vector<RdKafka::TopicPartition *> toppars2))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:652,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:658,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:659,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:659,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:660,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:661,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:661,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:663,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:663,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:664,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:664,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:666,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:666,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:667,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:667,1
    - Dst: run_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:669,1
    - Dst: run_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:670,1
    - Dst: run_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:671,1
    - Dst: run_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:672,1
    - Dst: run_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:673,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 651
    functionDepth: 9
    functionLinenumber: 651
    functionLinenumberEnd: 676
    functionName: a_assign_tests
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - test_create_topic
    - test_mk_topic_name
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - test_produce_msgs_easy_size
    - SUB_TEST_QUICK
    - run_test
    linkageType: ''
    returnType: void
    signature: void a_assign_tests()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:688,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:695,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:697,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:697,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:699,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:700,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:701,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:709,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:710,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:711,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:713,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:715,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:715,1
    - Dst: Test::produce_msgs
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:719,1
    - Dst: Test::produce_msgs
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:721,1
    - Dst: Test::produce_msgs
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:723,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:725,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:730,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:730,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:732,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:732,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:734,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:734,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:738,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:739,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:740,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:741,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:742,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:743,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:744,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:745,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:746,1
    - Dst: test_consumer_group_protocol
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:746,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:750,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:752,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:752,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:760,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:760,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:760,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:761,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:761,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:761,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:762,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:762,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:762,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:768,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:768,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:769,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:769,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:773,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:773,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:774,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:774,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:775,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:775,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:775,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:777,1
    - Dst: RdKafka::KafkaConsumer*::commitSync
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:780,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:782,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:782,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:783,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:790,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:794,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:795,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:796,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:797,1
    - Dst: Test::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:798,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:799,1
    - Dst: vector::clear
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:802,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:803,1
    - Dst: find
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:805,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:805,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:805,1
    - Dst: vector::erase
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:806,1
    - Dst: Test::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:808,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:809,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:814,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:815,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:815,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:816,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:816,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:817,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:817,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:818,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:818,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:820,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:820,1
    - Dst: partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:820,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:821,1
    - Dst: RdKafka::KafkaConsumer*::commitAsync
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:823,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:825,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:825,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:826,1
    - Dst: vector::clear
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:829,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:830,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:831,1
    - Dst: Test::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:832,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:833,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:836,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:837,1
    - Dst: vector::clear
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:840,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:841,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:842,1
    - Dst: Test::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:843,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:844,1
    - Dst: vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:849,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:851,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:852,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:853,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:853,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:858,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:858,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:858,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:861,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:861,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:862,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:865,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:866,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:866,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:867,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:868,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:868,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:872,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:874,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:875,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:875,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:876,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:882,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:883,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:884,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:885,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:889,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:891,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 687
    functionDepth: 4
    functionLinenumber: 687
    functionLinenumberEnd: 892
    functionName: a_assign_rapid
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::KafkaConsumer*::commitAsync
    - Test::conf_init
    - Test::incremental_unassign
    - RdKafka::Message*::err
    - TEST_ASSERT
    - vector::push_back
    - Test::incremental_assign
    - Test::print_TopicPartitions
    - rd_kafka_mock_coordinator_set
    - vector::begin
    - RdKafka::KafkaConsumer*::consume
    - Toppar
    - test_mock_cluster_new
    - vector::clear
    - RdKafka::KafkaConsumer*::commitSync
    - test_consumer_group_protocol
    - Test::conf_set
    - topic
    - find
    - std::string::c_str
    - test_mock_cluster_destroy
    - thrd_create
    - partition
    - RdKafka::err2str
    - vector::end
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - Test::Say
    - expect_assignment
    - SUB_TEST_QUICK
    - vector::erase
    - Test::Fail
    - RdKafka::Producer*::flush
    - Test::produce_msgs
    - tostr
    - rd_kafka_mock_broker_set_rtt
    - vector::size
    - RdKafka::Message*::topic_name
    - RdKafka::Message*::partition
    - RdKafka::Message*::offset
    linkageType: ''
    returnType: void
    signature: void a_assign_rapid()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:903,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:907,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:909,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:910,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:910,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:912,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:913,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:915,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:916,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:918,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:918,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:918,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:920,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:924,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:925,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:929,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:934,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:935,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:937,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:964,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:967,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:967,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:971,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:971,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:978,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:978,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:981,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:981,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:990,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:990,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:994,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:994,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1000,1
    - Dst: expect_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1001,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1006,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1006,1
    - Dst: test_produce_msgs_easy_size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1007,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1007,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1012,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1013,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1015,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1017,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1034,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1035,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1038,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1041,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1041,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1044,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1044,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1050,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1051,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1055,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1056,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1062,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1063,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1066,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1067,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1073,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 70
    argCount: 1
    argNames:
    - close_consumer
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 902
    functionDepth: 9
    functionLinenumber: 902
    functionLinenumberEnd: 1074
    functionName: b_subscribe_with_cb_test
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message*::err
    - make_consumer
    - test_wait_topic_exists
    - RdKafka::KafkaConsumer*::consume
    - test_produce_msgs_easy_size
    - Test::subscribe
    - Test::mk_unique_group_name
    - Test::poll_once
    - DefaultRebalanceCb::DefaultRebalanceCb
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - expect_assignment
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void b_subscribe_with_cb_test(rd_bool_t close_consumer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1086,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1088,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1090,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1091,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1091,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1094,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1096,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1097,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1097,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1097,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1099,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1104,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1105,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1107,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1108,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1112,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1113,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1114,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1120,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1121,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1122,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1123,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1125,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - close_consumer
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1085
    functionDepth: 9
    functionLinenumber: 1085
    functionLinenumberEnd: 1132
    functionName: c_subscribe_no_cb_test
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - Test::assignment_partition_count
    - make_consumer
    - test_create_topic
    - RdKafka::KafkaConsumer*::close
    - test_mk_topic_name
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void c_subscribe_no_cb_test(rd_bool_t close_consumer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1143,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1146,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1147,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1147,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1149,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1150,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1150,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1153,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1156,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1157,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1157,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1157,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1158,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1158,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1158,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1160,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1165,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1167,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1170,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1173,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1174,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1180,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1181,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1183,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - close_consumer
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1142
    functionDepth: 9
    functionLinenumber: 1142
    functionLinenumberEnd: 1188
    functionName: d_change_subscription_add_topic
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - Test::assignment_partition_count
    - make_consumer
    - test_create_topic
    - RdKafka::KafkaConsumer*::close
    - test_mk_topic_name
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void d_change_subscription_add_topic(rd_bool_t close_consumer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1199,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1202,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1203,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1203,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1205,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1206,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1206,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1209,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1212,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1213,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1213,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1213,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1214,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1214,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1214,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1216,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1221,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1223,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1226,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1229,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1230,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1236,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1237,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1239,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - close_consumer
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1198
    functionDepth: 9
    functionLinenumber: 1198
    functionLinenumberEnd: 1244
    functionName: e_change_subscription_remove_topic
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - Test::assignment_partition_count
    - make_consumer
    - test_create_topic
    - RdKafka::KafkaConsumer*::close
    - test_mk_topic_name
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void e_change_subscription_remove_topic(rd_bool_t close_consumer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1261
    functionName: FTestRebalanceCb::FTestRebalanceCb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FTestRebalanceCb()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1266,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1266,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1266,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1267,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1271,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1272,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1272,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1275,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1275,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1278,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1280,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1280,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1281,1
    - Dst: RdKafka::KafkaConsumer*::unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1286,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1287,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1287,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1292,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1292,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1295,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1297,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1297,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1298,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1303,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - consumer
    - err
    - partitions
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1308
    functionName: FTestRebalanceCb::rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - RdKafka::KafkaConsumer*::incremental_unassign
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::unassign
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::assign
    - RdKafka::KafkaConsumer*::name
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(RdKafka::KafkaConsumer *consumer,\n                    RdKafka::ErrorCode
      err,\n                    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1313,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1315,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1316,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1316,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1319,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1322,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1322,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1323,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1323,1
    - Dst: FTestRebalanceCb::FTestRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1324,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1326,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1328,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1328,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1328,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1330,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1333,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1336,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1312
    functionDepth: 9
    functionLinenumber: 1312
    functionLinenumberEnd: 1340
    functionName: f_assign_call_cooperative
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - FTestRebalanceCb::FTestRebalanceCb
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - make_consumer
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    - std::string
    - test_wait_topic_exists
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - std::pair<std::string, std::string>
    linkageType: ''
    returnType: void
    signature: void f_assign_call_cooperative()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1354
    functionName: GTestRebalanceCb::GTestRebalanceCb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GTestRebalanceCb()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1359,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1359,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1359,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1360,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1363,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1364,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1364,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1365,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1367,1
    - Dst: RdKafka::Error*::code
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1368,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1369,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1369,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1374,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1376,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1376,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1381,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1382,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1382,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1383,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1387,1
    - Dst: RdKafka::Error*::code
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1388,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1389,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1389,1
    - Dst: RdKafka::KafkaConsumer*::unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1394,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1396,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1396,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1401,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - consumer
    - err
    - partitions
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1408
    functionName: GTestRebalanceCb::rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - RdKafka::KafkaConsumer*::incremental_unassign
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::unassign
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::assign
    - RdKafka::KafkaConsumer*::name
    - RdKafka::Error*::code
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(RdKafka::KafkaConsumer *consumer,\n                    RdKafka::ErrorCode
      err,\n                    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1412,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1415,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1416,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1421,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1422,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1422,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1425,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1428,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1428,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1429,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1429,1
    - Dst: GTestRebalanceCb::GTestRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1430,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1431,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1433,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1433,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1433,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1435,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1438,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1441,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1411
    functionDepth: 9
    functionLinenumber: 1411
    functionLinenumberEnd: 1445
    functionName: g_incremental_assign_call_eager
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - GTestRebalanceCb::GTestRebalanceCb
    - Test::subscribe
    - SUB_TEST_SKIP
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - test_consumer_group_protocol_classic
    - SUB_TEST
    - std::string::c_str
    - Test::poll_once
    - make_consumer
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    - std::string
    - test_wait_topic_exists
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - std::pair<std::string, std::string>
    linkageType: ''
    returnType: void
    signature: void g_incremental_assign_call_eager()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1456,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1459,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1460,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1460,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1462,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1463,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1463,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1466,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1469,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1469,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1470,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1470,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1471,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1473,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1475,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1475,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1475,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1476,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1476,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1476,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1478,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1483,1
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1486,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1488,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1490,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1492,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1492,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1495,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1495,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1499,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1500,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1501,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1501,1
    - Dst: topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1503,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1504,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1504,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1509,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1512,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1513,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1455
    functionDepth: 9
    functionLinenumber: 1455
    functionLinenumberEnd: 1518
    functionName: h_delete_topic
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::delete_topic
    - Test::mk_unique_group_name
    - Test::poll_once
    - std::string
    - DefaultRebalanceCb::DefaultRebalanceCb
    - std::pair<std::string, std::string>
    - topic
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - test_mock_cluster_destroy
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - std::vector::size
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: void
    signature: void h_delete_topic()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1529,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1532,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1533,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1533,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1535,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1538,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1538,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1539,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1539,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1540,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1542,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1544,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1544,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1544,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1546,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1551,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1553,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1555,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1557,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1557,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1559,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1559,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1563,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1564,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1564,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1569,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1570,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1574,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1528
    functionDepth: 9
    functionLinenumber: 1528
    functionLinenumberEnd: 1575
    functionName: i_delete_topic_2
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::delete_topic
    - Test::mk_unique_group_name
    - Test::poll_once
    - std::string
    - DefaultRebalanceCb::DefaultRebalanceCb
    - std::pair<std::string, std::string>
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void i_delete_topic_2()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1586,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1589,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1590,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1590,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1593,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1596,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1596,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1597,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1597,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1598,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1600,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1600,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1600,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1602,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1607,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1609,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1610,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1610,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1614,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1615,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1615,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1620,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1621,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1585
    functionDepth: 9
    functionLinenumber: 1585
    functionLinenumberEnd: 1626
    functionName: j_delete_topic_no_rb_callback
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::delete_topic
    - Test::mk_unique_group_name
    - Test::poll_once
    - std::string
    - std::pair<std::string, std::string>
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - tostr
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void j_delete_topic_no_rb_callback()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1637,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1639,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1640,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1640,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1643,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1646,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1646,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1647,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1647,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1648,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1650,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1652,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1652,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1652,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1654,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1659,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1661,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1663,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1665,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1665,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1668,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1668,1
    - Dst: Test::create_partitions
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1671,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1671,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1675,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1677,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1679,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1679,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1682,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1682,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1689,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1690,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1694,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1696,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1696,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1699,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1699,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1636
    functionDepth: 9
    functionLinenumber: 1636
    functionLinenumberEnd: 1704
    functionName: k_add_partition
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::mk_unique_group_name
    - Test::create_partitions
    - Test::poll_once
    - std::string
    - DefaultRebalanceCb::DefaultRebalanceCb
    - std::pair<std::string, std::string>
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void k_add_partition()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1715,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1718,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1720,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1722,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1723,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1723,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1724,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1724,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1726,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1727,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1729,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1729,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1729,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1730,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1730,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1730,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1732,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1734,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1735,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1737,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1746,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1747,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1749,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1750,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1752,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1754,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1754,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1758,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1758,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1762,1
    - Dst: RdKafka::KafkaConsumer*::unsubscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1763,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1768,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1769,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1771,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1774,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1774,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1778,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1778,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1782,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1782,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1788,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1788,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1792,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1797,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1798,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1799,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1800,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1803,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1806,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1806,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1810,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1810,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1815,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1815,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1819,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1820,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1825,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1825,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1828,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1828,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1834,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1714
    functionDepth: 9
    functionLinenumber: 1714
    functionLinenumberEnd: 1835
    functionName: l_unsubscribe
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::mk_unique_group_name
    - Test::poll_once
    - DefaultRebalanceCb::DefaultRebalanceCb
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - RdKafka::KafkaConsumer*::unsubscribe
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void l_unsubscribe()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1846,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1848,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1850,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1851,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1851,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1854,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1855,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1855,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1855,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1857,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1862,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1864,1
    - Dst: Test::unsubscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1865,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1869,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1870,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1875,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1876,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1845
    functionDepth: 9
    functionLinenumber: 1845
    functionLinenumberEnd: 1881
    functionName: m_unsubscribe_2
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::unsubscribe
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - Test::assignment_partition_count
    - make_consumer
    - test_create_topic
    - RdKafka::KafkaConsumer*::close
    - test_mk_topic_name
    - SUB_TEST_PASS
    - test_wait_topic_exists
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void m_unsubscribe_2()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1894,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1896,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1900,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1903,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1903,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1904,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1904,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1906,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1908,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1910,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1912,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1914,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1916,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1920,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1921,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1924,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1924,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1927,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1927,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1937,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1938,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1940,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1941,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1942,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1944,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1944,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1945,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1945,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1946,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1946,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1947,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1947,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1960,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1961,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1964,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1967,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1972,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1975,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1980,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1983,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1990,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1991,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1991,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1995,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1996,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:1998,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2001,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2007,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2011,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2014,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2022,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2025,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2026,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2029,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2034,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2036,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2039,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2046,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2048,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2050,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2053,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2057,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2060,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2064,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2067,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2074,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 1893
    functionDepth: 9
    functionLinenumber: 1893
    functionLinenumberEnd: 2075
    functionName: n_wildcard
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - make_consumer
    - string::c_str
    - test_wait_topic_exists
    - Test::subscribe
    - Test::delete_topic
    - Test::mk_unique_group_name
    - Test::poll_once
    - std::string
    - DefaultRebalanceCb::DefaultRebalanceCb
    - std::pair<std::string, std::string>
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - std::vector::push_back
    - test_create_topic
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void n_wildcard()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2089,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2091,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2092,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2096,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2097,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2098,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2099,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2099,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2100,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2100,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2102,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2103,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2105,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2105,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2105,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2106,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2106,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2106,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2108,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2115,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2118,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2118,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2119,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2124,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2125,1
    - Dst: get_bootstrap_servers
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2126,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2130,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2131,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2132,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2133,1
    - Dst: test_run_java
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2135,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2137,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2137,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2140,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2143,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2145,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2145,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2148,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2149,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2156,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2162,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2166,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2171,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2176,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2177,1
    - Dst: test_waitpid
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2181,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2185,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2088
    functionDepth: 9
    functionLinenumber: 2088
    functionLinenumberEnd: 2186
    functionName: o_java_interop
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - string::c_str
    - get_bootstrap_servers
    - test_run_java
    - Test::subscribe
    - Test::mk_unique_group_name
    - Test::poll_once
    - DefaultRebalanceCb::DefaultRebalanceCb
    - test_conf_get
    - SUB_TEST_SKIP
    - RdKafka::KafkaConsumer*::c_ptr
    - SUB_TEST
    - std::string::c_str
    - Test::assignment_partition_count
    - test_waitpid
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void o_java_interop()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2197,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2200,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2202,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2204,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2206,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2207,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2207,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2208,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2208,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2209,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2209,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2211,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2212,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2214,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2214,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2214,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2215,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2215,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2215,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2216,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2216,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2216,1
    - Dst: RdKafka::KafkaConsumer*::metadata
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2221,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2225,1
    - Dst: Test::wait_for_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2226,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2228,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2231,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2235,1
    - Dst: Test::wait_for_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2236,1
    - Dst: Test::unsubscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2239,1
    - Dst: Test::wait_for_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2240,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2196
    functionDepth: 9
    functionLinenumber: 2196
    functionLinenumberEnd: 2246
    functionName: s_subscribe_when_rebalancing
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - Test::unsubscribe
    - Test::subscribe
    - RdKafka::KafkaConsumer*::c_ptr
    - Test::mk_unique_group_name
    - std::string::c_str
    - SUB_TEST
    - Test::poll_once
    - RdKafka::KafkaConsumer*::metadata
    - make_consumer
    - test_create_topic
    - Test::wait_for_assignment
    - test_mk_topic_name
    - SUB_TEST_PASS
    - DefaultRebalanceCb::DefaultRebalanceCb
    - test_wait_topic_exists
    linkageType: ''
    returnType: void
    signature: void s_subscribe_when_rebalancing(int variation)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2256,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2259,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2261,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2262,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2262,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2265,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2265,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2266,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2266,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2267,1
    - Dst: std::pair<std::string, std::string>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2267,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2268,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2268,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2270,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2272,1
    - Dst: DefaultRebalanceCb::DefaultRebalanceCb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2274,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2276,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2279,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2279,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2279,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2280,1
    - Dst: RdKafka::KafkaConsumer*::c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2280,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2280,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2282,1
    - Dst: Test::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2283,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2295,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2296,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2298,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2299,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2301,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2302,1
    - Dst: Test::assignment_partition_count
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2308,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2310,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2317,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2318,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2320,1
    - Dst: Test::poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2322,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2325,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2325,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2332,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2336,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2337,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2340,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2340,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2345,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2347,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2347,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2351,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2351,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2356,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2356,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2360,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2360,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2368,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - variation
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2255
    functionDepth: 9
    functionLinenumber: 2255
    functionLinenumberEnd: 2369
    functionName: t_max_poll_interval_exceeded
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - make_consumer
    - test_wait_topic_exists
    - Test::subscribe
    - Test::mk_unique_group_name
    - Test::poll_once
    - std::string
    - DefaultRebalanceCb::DefaultRebalanceCb
    - std::pair<std::string, std::string>
    - RdKafka::KafkaConsumer*::c_ptr
    - std::string::c_str
    - SUB_TEST
    - Test::assignment_partition_count
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - Test::Fail
    - rd_sleep
    - test_consumer_group_protocol_classic
    - tostr
    - test_create_topic
    - std::vector::push_back
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void t_max_poll_interval_exceeded(int variation)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2380,1
    - Dst: min
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2388,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2388,1
    - Dst: poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2389,1
    - Dst: max
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2389,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - consumers
    - rebalance_cbs
    - num
    - timeout_ms
    argTypes:
    - RdKafka::KafkaConsumer**
    - DefaultRebalanceCb*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2393
    functionName: poll_all_consumers
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - poll_once
    - max
    - min
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void poll_all_consumers(RdKafka::KafkaConsumer **consumers,\n                               DefaultRebalanceCb
      *rebalance_cbs,\n                               size_t num,\n                               int
      timeout_ms)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2412,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2415,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2416,1
    - Dst: Test::mk_unique_group_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2417,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2419,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2419,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2420,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2420,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2422,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2427,1
    - Dst: make_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2429,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2429,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2433,1
    - Dst: c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2433,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2433,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2435,1
    - Dst: c_ptr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2435,1
    - Dst: string::c_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2435,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2444,1
    - Dst: pair<Toppar, int>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2444,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2444,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2446,1
    - Dst: pair<Toppar, int>
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2446,1
    - Dst: Toppar
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2446,1
    - Dst: produce_msgs
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2448,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2467,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2471,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2472,1
    - Dst: vector::push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2476,1
    - Dst: sort
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2484,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2484,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2484,1
    - Dst: sort
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2485,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2485,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2485,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2518,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2521,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2523,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2523,1
    - Dst: poll_all_consumers
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2526,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2528,1
    - Dst: verify_consumer_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2533,1
    - Dst: begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2554,1
    - Dst: end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2555,1
    - Dst: erase
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2556,1
    - Dst: clear
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2559,1
    - Dst: vector*::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2561,1
    - Dst: vector*::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2562,1
    - Dst: push_back
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2563,1
    - Dst: insert
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2564,1
    - Dst: vector*::empty
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2572,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2573,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2573,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2573,1
    - Dst: string_vec_to_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2575,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2576,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2577,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2578,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2579,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2581,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2581,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2581,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2583,1
    - Dst: Test::unsubscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2584,1
    - Dst: RdKafka::KafkaConsumer*::subscription
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2597,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2598,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2599,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2599,1
    - Dst: sort
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2601,1
    - Dst: vector::begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2601,1
    - Dst: vector::end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2601,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2603,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2603,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2603,1
    - Dst: string_vec_to_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2605,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2608,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2608,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2608,1
    - Dst: string_vec_to_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2609,1
    - Dst: string_vec_to_str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2610,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2620,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2623,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2626,1
    - Dst: poll_all_consumers
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2628,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2633,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2633,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2644,1
    - Dst: verify_consumer_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2646,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2667,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2667,1
    - Dst: map::size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2667,1
    - Dst: begin
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2675,1
    - Dst: end
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2676,1
    - Dst: size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2677,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2679,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2679,1
    - Dst: name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2680,1
    - Dst: size
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2681,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2691,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2691,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2696,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2700,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2701,1
    - Dst: close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2706,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2710,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 2
    argNames:
    - use_rebalance_cb
    - subscription_variation
    argTypes:
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2404
    functionDepth: 9
    functionLinenumber: 2404
    functionLinenumberEnd: 2711
    functionName: u_multiple_subscription_changes
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - map::size
    - name
    - TEST_ASSERT
    - vector::push_back
    - make_consumer
    - string::c_str
    - test_wait_topic_exists
    - vector::begin
    - sort
    - RdKafka::KafkaConsumer*::name
    - Toppar
    - vector*::begin
    - begin
    - Test::mk_unique_group_name
    - insert
    - size
    - clear
    - test_clock
    - erase
    - c_ptr
    - Test::unsubscribe
    - verify_consumer_assignment
    - pair<Toppar, int>
    - close
    - SUB_TEST
    - std::string::c_str
    - RdKafka::err2str
    - vector::end
    - RdKafka::KafkaConsumer*::subscribe
    - SUB_TEST_PASS
    - Test::Say
    - poll_all_consumers
    - end
    - Test::Fail
    - produce_msgs
    - vector*::end
    - test_consumer_group_protocol_classic
    - tostr
    - push_back
    - string_vec_to_str
    - test_create_topic
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::subscription
    - vector*::empty
    linkageType: ''
    returnType: void
    signature: "void u_multiple_subscription_changes(bool use_rebalance_cb,\n                                            int
      subscription_variation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2730,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2731,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2733,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2735,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2738,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2738,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2741,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2741,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2742,1
    - Dst: test_consumer_incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2746,1
    - Dst: test_consumer_incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2725
    functionDepth: 2
    functionLinenumber: 2725
    functionLinenumberEnd: 2750
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 12
    functionsReached:
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - test_consumer_incremental_assign
    - test_consumer_incremental_unassign
    - test_print_partition_list
    - TEST_SAY
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2762,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2765,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2766,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2771,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2772,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2781,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - func
    - line
    - what
    - c
    - exp_event
    - exp_lost
    - timeout_s
    argTypes:
    - char*
    - int
    - char*
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_bool_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2755
    functionDepth: 2
    functionLinenumber: 2755
    functionLinenumberEnd: 2783
    functionName: expect_rebalance0
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - test_consumer_poll_once
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void expect_rebalance0(const char *func,\n                              int
      line,\n                              const char *what,\n                              rd_kafka_t
      *c,\n                              rd_kafka_resp_err_t exp_event,\n                              rd_bool_t
      exp_lost,\n                              int timeout_s)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - WHAT
    - ','
    - C
    - ','
    - EXP_EVENT
    - ','
    - EXP_LOST
    - ','
    - TIMEOUT_S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2788
    functionName: expect_rebalance
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_rebalance(WHAT, C, EXP_EVENT, EXP_LOST, TIMEOUT_S)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2801,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2803,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2805,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2808,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2812,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2813,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2814,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2815,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2816,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2817,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2818,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2819,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2820,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2822,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2824,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2826,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2830,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2832,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2840,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2846,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2849,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2850,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2853,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2856,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2857,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2859,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2860,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2862,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2863,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2866
      start: 2793
    functionDepth: 7
    functionLinenumber: 2793
    functionLinenumberEnd: 2866
    functionName: p_lost_partitions_heartbeat_illegal_generation_test
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - expect_rebalance
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_produce_msgs_easy_v
    - rd_kafka_mock_push_request_errors
    - test_consumer_group_protocol_classic
    - test_conf_init
    - TEST_SAY
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_mock_clear_request_errors
    - rd_kafka_mock_coordinator_set
    - test_create_consumer
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void p_lost_partitions_heartbeat_illegal_generation_test()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST0
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2886,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2889,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2891,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2894,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2899,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2903,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2904,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2905,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2906,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2907,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2908,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2909,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2910,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2911,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2913,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2915,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2917,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2922,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2930,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2931,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2932,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2933,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2935,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2935,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2936,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2937,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2939,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2942,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2946,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2949,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2950,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2952,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2953,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2955,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2956,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - test_joingroup_fail
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2874
    functionDepth: 7
    functionLinenumber: 2874
    functionLinenumberEnd: 2959
    functionName: q_lost_partitions_illegal_generation_test
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - rd_kafka_mock_clear_request_errors
    - rd_kafka_mock_coordinator_set
    - rd_kafka_subscribe
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - TEST_SAY
    - rd_kafka_err2str
    - test_consumer_close
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST0
    - expect_rebalance
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void q_lost_partitions_illegal_generation_test(\n    rd_bool_t test_joingroup_fail)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2976,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2978,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2980,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2983,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2987,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2988,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2989,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2990,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2991,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2992,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2993,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2995,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2997,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:2999,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3005,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3008,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3015,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3017,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3020,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3023,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3024,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3026,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3027,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3029,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 2967
    functionDepth: 7
    functionLinenumber: 2967
    functionLinenumberEnd: 3031
    functionName: r_lost_partitions_commit_illegal_generation_test_local
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - expect_rebalance
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_produce_msgs_easy_v
    - rd_kafka_mock_push_request_errors
    - test_conf_init
    - SUB_TEST
    - TEST_SAY
    - test_consumer_close
    - test_mock_cluster_destroy
    - test_conf_set
    - rd_kafka_mock_coordinator_set
    - rd_kafka_commit
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void r_lost_partitions_commit_illegal_generation_test_local()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3044,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3046,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3048,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3050,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3053,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3057,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3058,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3059,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3060,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3061,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3062,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3063,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3065,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3067,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3069,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3075,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3078,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3085,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3087,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3087,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3090,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3091,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3093,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3095,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3096,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3098,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3099,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3101,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3035
    functionDepth: 7
    functionLinenumber: 3035
    functionLinenumberEnd: 3103
    functionName: t_consumer_group_consumer_retry_commit_on_fenced_member_epoch
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_mock_coordinator_set
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_committed
    - rd_kafka_commit
    - test_create_consumer
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_topic_partition_list_destroy
    - expect_rebalance
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void t_consumer_group_consumer_retry_commit_on_fenced_member_epoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3117,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3119,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3120,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3122,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3124,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3125,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3126,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3128,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3129,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3129,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3132,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3135,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3139,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3145,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3145,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3147,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3149,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3151,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3152,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3110
    functionDepth: 7
    functionLinenumber: 3110
    functionLinenumberEnd: 3155
    functionName: s_no_segfault_before_first_rebalance
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_consumer_close
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - test_consumer_poll_once
    - test_create_consumer
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void s_no_segfault_before_first_rebalance(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3166,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3166,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3167,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3168,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3170,1
    - Dst: test_consumer_incremental_assign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3173,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3175,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3175,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3183,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3185,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3186,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3187,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3190,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3191,1
    - Dst: test_consumer_incremental_unassign
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3160
    functionDepth: 2
    functionLinenumber: 3160
    functionLinenumberEnd: 3197
    functionName: v_rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - test_consumer_incremental_assign
    - test_consumer_incremental_unassign
    - rd_sleep
    - TEST_SAY
    - test_print_partition_list
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_name
    - rd_kafka_commit
    linkageType: ''
    returnType: void
    signature: "void v_rebalance_cb(rd_kafka_t *rk,\n                           rd_kafka_resp_err_t
      err,\n                           rd_kafka_topic_partition_list_t *parts,\n                           void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3206,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3206,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3207,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3208,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3211,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3202
    functionDepth: 1
    functionLinenumber: 3202
    functionLinenumberEnd: 3213
    functionName: v_commit_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_name
    linkageType: ''
    returnType: void
    signature: "void v_commit_cb(rd_kafka_t *rk,\n                        rd_kafka_resp_err_t
      err,\n                        rd_kafka_topic_partition_list_t *offsets,\n                        void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3225
    functionName: v_log_cb
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_usleep
    linkageType: ''
    returnType: void
    signature: "void v_log_cb(const rd_kafka_t *rk,\n                     int level,\n
      \                    const char *fac,\n                     const char *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3231,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3239,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3242,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3243,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3248,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3250,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3253,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3257,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3259,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3262,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3263,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3264,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3265,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3269,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3270,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3271,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3273,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3274,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3275,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3276,1
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3276,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3278,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3282,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3285,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3286,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3288,1
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3288,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3290,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3296,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3297,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3301,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3302,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3303,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3305,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3310,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3311,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3312,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3314,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3315,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - with_rebalance_cb
    - auto_commit
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3227
    functionDepth: 10
    functionLinenumber: 3227
    functionLinenumberEnd: 3318
    functionName: v_commit_during_rebalance
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - test_flush
    - rd_kafka_conf_set_offset_commit_cb
    - TEST_ASSERT
    - test_consumer_poll_once
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - rd_kafka_err2str
    - test_consumer_close
    - rd_kafka_conf_set_opaque
    - rd_kafka_conf_set_log_cb
    - test_create_consumer
    - rd_kafka_commit
    - test_consumer_subscribe
    - SUB_TEST
    - test_id_generate
    - rd_kafka_opaque
    - SUB_TEST_PASS
    - test_create_producer
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void v_commit_during_rebalance(bool with_rebalance_cb,\n                                      bool
      auto_commit)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3328,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3331,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3332,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3334,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3336,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3339,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3340,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3342,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3342,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3344,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3347,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3347,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3348,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3349,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3350,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3356,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3356,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3357,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3358,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3359,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3360,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3361,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3363,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3366,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3368,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3373,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3373,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3374,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3375,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3376,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3377,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3378,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3380,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3382,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3385,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3387,1
    - Dst: test_consumer_verify_assignment
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3389,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3394,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3397,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3324
    functionDepth: 10
    functionLinenumber: 3324
    functionLinenumberEnd: 3402
    functionName: x_incremental_rebalances
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_name
    - test_consumer_verify_assignment
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - SUB_TEST_PASS
    - TEST_LATER_CHECK
    - rd_sleep
    - test_conf_init
    - test_consumer_group_protocol_classic
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void x_incremental_rebalances(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3406,1
    - Dst: a_assign_rapid
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3408,1
    - Dst: p_lost_partitions_heartbeat_illegal_generation_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3409,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3410,1
    - Dst: q_lost_partitions_illegal_generation_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3413,1
    - Dst: q_lost_partitions_illegal_generation_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3414,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3416,1
    - Dst: r_lost_partitions_commit_illegal_generation_test_local
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3417,1
    - Dst: t_consumer_group_consumer_retry_commit_on_fenced_member_epoch
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3420,1
    - Dst: s_no_segfault_before_first_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3405
    functionDepth: 8
    functionLinenumber: 3405
    functionLinenumberEnd: 3424
    functionName: main_0113_cooperative_rebalance_local
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - a_assign_rapid
    - t_consumer_group_consumer_retry_commit_on_fenced_member_epoch
    - q_lost_partitions_illegal_generation_test
    - test_consumer_group_protocol_classic
    - s_no_segfault_before_first_rebalance
    - r_lost_partitions_commit_illegal_generation_test_local
    - p_lost_partitions_heartbeat_illegal_generation_test
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0113_cooperative_rebalance_local(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: a_assign_tests
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3429,1
    - Dst: b_subscribe_with_cb_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3430,1
    - Dst: b_subscribe_with_cb_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3431,1
    - Dst: c_subscribe_no_cb_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3432,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3435,1
    - Dst: c_subscribe_no_cb_test
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3439,1
    - Dst: d_change_subscription_add_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3440,1
    - Dst: d_change_subscription_add_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3441,1
    - Dst: e_change_subscription_remove_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3442,1
    - Dst: e_change_subscription_remove_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3443,1
    - Dst: f_assign_call_cooperative
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3444,1
    - Dst: g_incremental_assign_call_eager
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3445,1
    - Dst: h_delete_topic
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3446,1
    - Dst: i_delete_topic_2
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3447,1
    - Dst: j_delete_topic_no_rb_callback
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3448,1
    - Dst: k_add_partition
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3449,1
    - Dst: l_unsubscribe
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3450,1
    - Dst: m_unsubscribe_2
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3451,1
    - Dst: n_wildcard
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3452,1
    - Dst: o_java_interop
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3453,1
    - Dst: s_subscribe_when_rebalancing
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3455,1
    - Dst: t_max_poll_interval_exceeded
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3457,1
    - Dst: u_multiple_subscription_changes
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3460,1
    - Dst: u_multiple_subscription_changes
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3461,1
    - Dst: v_commit_during_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3463,1
    - Dst: v_commit_during_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3465,1
    - Dst: v_commit_during_rebalance
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3467,1
    - Dst: x_incremental_rebalances
      Src: /src/librdkafka/tests/0113-cooperative_rebalance.cpp:3469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3426
    functionDepth: 11
    functionLinenumber: 3426
    functionLinenumberEnd: 3472
    functionName: main_0113_cooperative_rebalance
    functionSourceFile: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    functionUses: 0
    functionsReached:
    - d_change_subscription_add_topic
    - u_multiple_subscription_changes
    - s_subscribe_when_rebalancing
    - k_add_partition
    - o_java_interop
    - e_change_subscription_remove_topic
    - v_commit_during_rebalance
    - x_incremental_rebalances
    - m_unsubscribe_2
    - Test::Say
    - h_delete_topic
    - i_delete_topic_2
    - a_assign_tests
    - c_subscribe_no_cb_test
    - l_unsubscribe
    - f_assign_call_cooperative
    - g_incremental_assign_call_eager
    - t_max_poll_interval_exceeded
    - j_delete_topic_no_rb_callback
    - n_wildcard
    - b_subscribe_with_cb_test
    linkageType: ''
    returnType: int
    signature: int main_0113_cooperative_rebalance(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0001-multiobj.c:47,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0001-multiobj.c:58,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0001-multiobj.c:61,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0001-multiobj.c:63,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0001-multiobj.c:64,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0001-multiobj.c:66,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0001-multiobj.c:68,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0001-multiobj.c:71,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0001-multiobj.c:71,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0001-multiobj.c:73,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0001-multiobj.c:77,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0001-multiobj.c:78,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0001-multiobj.c:81,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0001-multiobj.c:84,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0001-multiobj.c:87,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0001-multiobj.c:88,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0001-multiobj.c:89,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0001-multiobj.c:91,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0001-multiobj.c:95,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0001-multiobj.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 102
    functionName: main_0001_multiobj
    functionSourceFile: /src/librdkafka/tests/0001-multiobj.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_flush
    - TIMING_ASSERT
    - rd_kafka_topic_new
    - rd_sleep
    - test_conf_init
    - TEST_SAY
    - TIMING_START
    - rd_kafka_err2str
    - test_mk_topic_name
    - strlen
    - TEST_FAIL
    - rd_kafka_last_error
    - rd_kafka_produce
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: int main_0001_multiobj(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:125,1
    - Dst: rd_kafka_mock_request_destroy_array
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:128,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:133,1
    - Dst: rd_kafka_type
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:135,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:137,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:139,1
    - Dst: if
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:141,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:148,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:150,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:153,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:156,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:158,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:170,1
    - Dst: rd_kafka_mock_telemetry_set_requested_metrics
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:172,1
    - Dst: rd_kafka_mock_telemetry_set_push_interval
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:174,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:175,1
    - Dst: rd_kafka_mock_group_initial_rebalance_delay_ms
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:176,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:177,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:178,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:181,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - "create_mcluster(const char **bootstraps,\n                                                char
      **expected_metrics,\n                                                size_t
      expected_metrics_cnt,\n                                                int64_t
      push_interval,\n                                                const char *topic)"
    argTypes:
    - "diff_ms < expected_diff_hi,\n                                    \"request[%\"
      PRIusz\n                                    \"]: Expected difference to be \"\n
      \                                   \"less than %\" PRId64 \", was %\" PRId64,\n
      \                                   expected_idx, expected_diff_hi, diff_ms);\n
      \               }\n                expected_idx++;\n        }\n\n        if
      (expected_idx < expected_cnt) {\n                TEST_FAIL(\"Expected %lu requests,
      got %lu\", expected_cnt,\n                          expected_idx);\n        }\n
      \       rd_kafka_mock_request_destroy_array(requests, request_cnt);\n}\n\nstatic
      void\ntest_poll_timeout(rd_kafka_t *rk, int64_t duration_ms, const char *topic)
      {\n        int64_t start_time = test_clock(), now, iteration_start_time = 0;\n
      \       rd_kafka_topic_t *rkt = NULL;\n        rd_kafka_type_t type  = rd_kafka_type(rk);\n
      \       if (type == RD_KAFKA_PRODUCER)\n                rkt = test_create_topic_object(rk,
      topic, NULL);\n\n        now = test_clock();\n        while ((now - start_time)
      / 1000 < duration_ms) {\n                if (now - iteration_start_time < 500
      * 1000) {\n                        int64_t sleep_interval =\n                            500
      * 1000 - (now - iteration_start_time);\n                        if (sleep_interval
      >\n                            start_time + duration_ms * 1000 - now)\n                                sleep_interval
      =\n                                    start_time + duration_ms * 1000 - now;\n
      \                       rd_usleep(sleep_interval, 0);\n                }\n                iteration_start_time
      = test_clock();\n                /* Generate some metrics to report */\n                if
      (type == RD_KAFKA_CONSUMER) {\n                        test_consumer_poll_timeout(\"Consume\",
      rk, 0, -1, -1, 1,\n                                                   NULL,
      10000);\n                } else {\n                        test_produce_msgs(rk,
      rkt, 0, 0, 0, 10, NULL, 64);\n                }\n                now = test_clock();\n
      \       }\n        if (rkt)*"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 115
    functionDepth: 7
    functionLinenumber: 115
    functionLinenumberEnd: 186
    functionName: TEST_ASSERT
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 170
    functionsReached:
    - rd_usleep
    - test_mock_cluster_new
    - rd_kafka_mock_telemetry_set_requested_metrics
    - rd_kafka_mock_start_request_tracking
    - test_produce_msgs
    - rd_kafka_mock_request_destroy_array
    - rd_kafka_mock_group_initial_rebalance_delay_ms
    - if
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_type
    - test_consumer_poll_timeout
    - rd_kafka_mock_topic_create
    - rd_kafka_mock_telemetry_set_push_interval
    - rd_kafka_mock_coordinator_set
    - test_create_topic_object
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void TEST_ASSERT(diff_ms < expected_diff_hi,\n                                    \"request[%\"
      PRIusz\n                                    \"]: Expected difference to be \"\n
      \                                   \"less than %\" PRId64 \", was %\" PRId64,\n
      \                                   expected_idx, expected_diff_hi, diff_ms);\n
      \               }\n                expected_idx++;\n        }\n\n        if
      (expected_idx < expected_cnt) {\n                TEST_FAIL(\"Expected %lu requests,
      got %lu\", expected_cnt,\n                          expected_idx);\n        }\n
      \       rd_kafka_mock_request_destroy_array(requests, request_cnt);\n}\n\nstatic
      void\ntest_poll_timeout(rd_kafka_t *rk, int64_t duration_ms, const char *topic)
      {\n        int64_t start_time = test_clock(), now, iteration_start_time = 0;\n
      \       rd_kafka_topic_t *rkt = NULL;\n        rd_kafka_type_t type  = rd_kafka_type(rk);\n
      \       if (type == RD_KAFKA_PRODUCER)\n                rkt = test_create_topic_object(rk,
      topic, NULL);\n\n        now = test_clock();\n        while ((now - start_time)
      / 1000 < duration_ms) {\n                if (now - iteration_start_time < 500
      * 1000) {\n                        int64_t sleep_interval =\n                            500
      * 1000 - (now - iteration_start_time);\n                        if (sleep_interval
      >\n                            start_time + duration_ms * 1000 - now)\n                                sleep_interval
      =\n                                    start_time + duration_ms * 1000 - now;\n
      \                       rd_usleep(sleep_interval, 0);\n                }\n                iteration_start_time
      = test_clock();\n                /* Generate some metrics to report */\n                if
      (type == RD_KAFKA_CONSUMER) {\n                        test_consumer_poll_timeout(\"Consume\",
      rk, 0, -1, -1, 1,\n                                                   NULL,
      10000);\n                } else {\n                        test_produce_msgs(rk,
      rkt, 0, 0, 0, 10, NULL, 64);\n                }\n                now = test_clock();\n
      \       }\n        if (rkt)\n                rd_kafka_topic_destroy(rkt);\n}\n\nstatic
      rd_kafka_mock_cluster_t *create_mcluster(const char **bootstraps,\n                                                char
      **expected_metrics,\n                                                size_t
      expected_metrics_cnt,\n                                                int64_t
      push_interval,\n                                                const char *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:192,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:193,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:196,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:197,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:198,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:199,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:201,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - bootstraps
    - type
    - topic
    argTypes:
    - char*
    - rd_kafka_type_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 6
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: create_handle
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 71
    functionsReached:
    - test_create_handle
    - test_consumer_subscribe
    - test_conf_init
    - test_conf_set
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: rd_kafka_t
    signature: 'rd_kafka_t *

      create_handle(const char *bootstraps, rd_kafka_type_t type, const char *topic)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:219,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:240,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:243,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:244,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:247,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:251,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:253,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:254,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:257,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:258,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 212
    functionDepth: 7
    functionLinenumber: 212
    functionLinenumberEnd: 261
    functionName: do_test_telemetry_get_subscription_push_telemetry
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - create_handle
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - RD_ARRAY_SIZE
    - test_mk_topic_name
    - SUB_TEST_PASS
    - create_mcluster
    - test_telemetry_check_protocol_request_times
    linkageType: ''
    returnType: void
    signature: void do_test_telemetry_get_subscription_push_telemetry(rd_kafka_type_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:277,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:301,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:305,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:308,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:312,1
    - Dst: rd_kafka_mock_telemetry_set_requested_metrics
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:316,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:321,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:323,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:327,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:328,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - type
    - subscription_regex
    argTypes:
    - rd_kafka_type_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 269
    functionDepth: 7
    functionLinenumber: 269
    functionLinenumberEnd: 331
    functionName: do_test_telemetry_empty_subscriptions_list
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_telemetry_set_requested_metrics
    - rd_kafka_destroy
    - create_handle
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - test_mk_topic_name
    - SUB_TEST_PASS
    - create_mcluster
    - test_telemetry_check_protocol_request_times
    linkageType: ''
    returnType: void
    signature: "void do_test_telemetry_empty_subscriptions_list(rd_kafka_type_t type,\n
      \                                          char *subscription_regex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:345,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:364,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:367,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:368,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:371,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:376,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:380,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:382,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:386,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 338
    functionDepth: 7
    functionLinenumber: 338
    functionLinenumberEnd: 389
    functionName: do_test_telemetry_terminating_push
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - create_handle
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - RD_ARRAY_SIZE
    - test_mk_topic_name
    - SUB_TEST_PASS
    - create_mcluster
    - test_telemetry_check_protocol_request_times
    linkageType: ''
    returnType: void
    signature: void do_test_telemetry_terminating_push(rd_kafka_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:401,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:443,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:446,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:447,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:451,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:454,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:458,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:463,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:465,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:465,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:466,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:467,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:470,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:472,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:474,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:477,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:482,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:483,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:485,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:489,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:490,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 493
    functionName: do_test_telemetry_preferred_broker_change
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - test_telemetry_check_protocol_request_times
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - create_handle
    - rd_kafka_mock_partition_set_leader
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - RD_ARRAY_SIZE
    - rd_kafka_mock_broker_set_up
    - test_mk_topic_name
    - SUB_TEST_PASS
    - rd_kafka_mock_broker_set_down
    - create_mcluster
    - rd_kafka_mock_coordinator_set
    - RD_IF_FREE
    - rd_kafka_metadata
    linkageType: ''
    returnType: void
    signature: void do_test_telemetry_preferred_broker_change(rd_kafka_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:504,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:542,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:545,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:546,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:549,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:551,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:553,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:557,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:559,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:560,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:563,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:564,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 499
    functionDepth: 7
    functionLinenumber: 499
    functionLinenumberEnd: 567
    functionName: do_test_subscription_id_change
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - create_handle
    - rd_kafka_mock_push_request_errors
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - RD_ARRAY_SIZE
    - test_mk_topic_name
    - SUB_TEST_PASS
    - create_mcluster
    - test_telemetry_check_protocol_request_times
    linkageType: ''
    returnType: void
    signature: void do_test_subscription_id_change(rd_kafka_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:579,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:603,1
    - Dst: create_mcluster
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:606,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:607,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:610,1
    - Dst: create_handle
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:614,1
    - Dst: test_poll_timeout
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:616,1
    - Dst: test_telemetry_check_protocol_request_times
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:618,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:619,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:622,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:623,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 573
    functionDepth: 7
    functionLinenumber: 573
    functionLinenumberEnd: 626
    functionName: do_test_invalid_record
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - create_handle
    - rd_kafka_mock_push_request_errors
    - test_poll_timeout
    - SUB_TEST
    - test_mock_cluster_destroy
    - RD_ARRAY_SIZE
    - test_mk_topic_name
    - SUB_TEST_PASS
    - create_mcluster
    - test_telemetry_check_protocol_request_times
    linkageType: ''
    returnType: void
    signature: void do_test_invalid_record(rd_kafka_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:632,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:633,1
    - Dst: do_test_telemetry_get_subscription_push_telemetry
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:638,1
    - Dst: do_test_telemetry_empty_subscriptions_list
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:640,1
    - Dst: do_test_telemetry_empty_subscriptions_list
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:642,1
    - Dst: do_test_telemetry_terminating_push
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:644,1
    - Dst: do_test_telemetry_preferred_broker_change
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:645,1
    - Dst: do_test_subscription_id_change
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:646,1
    - Dst: do_test_invalid_record
      Src: /src/librdkafka/tests/0150-telemetry_mock.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 629
    functionDepth: 8
    functionLinenumber: 629
    functionLinenumberEnd: 651
    functionName: main_0150_telemetry_mock
    functionSourceFile: /src/librdkafka/tests/0150-telemetry_mock.c
    functionUses: 0
    functionsReached:
    - test_needs_auth
    - do_test_telemetry_preferred_broker_change
    - do_test_invalid_record
    - TEST_SKIP
    - do_test_subscription_id_change
    - do_test_telemetry_get_subscription_push_telemetry
    - do_test_telemetry_terminating_push
    - do_test_telemetry_empty_subscriptions_list
    linkageType: ''
    returnType: int
    signature: int main_0150_telemetry_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0130-store_offsets.c:38,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0130-store_offsets.c:47,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0130-store_offsets.c:49,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0130-store_offsets.c:51,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0130-store_offsets.c:52,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0130-store_offsets.c:53,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0130-store_offsets.c:54,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0130-store_offsets.c:56,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0130-store_offsets.c:58,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0130-store_offsets.c:59,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:60,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0130-store_offsets.c:60,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:62,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0130-store_offsets.c:63,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0130-store_offsets.c:63,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0130-store_offsets.c:67,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0130-store_offsets.c:68,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:70,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:73,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0130-store_offsets.c:73,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:75,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:76,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0130-store_offsets.c:76,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:78,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:79,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0130-store_offsets.c:79,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0130-store_offsets.c:83,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:85,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0130-store_offsets.c:87,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0130-store_offsets.c:88,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:92,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0130-store_offsets.c:97,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:99,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0130-store_offsets.c:100,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:101,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0130-store_offsets.c:103,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:105,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:107,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0130-store_offsets.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:109,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0130-store_offsets.c:110,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0130-store_offsets.c:110,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:111,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:112,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:114,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0130-store_offsets.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:116,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:121,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0130-store_offsets.c:125,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0130-store_offsets.c:126,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:127,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0130-store_offsets.c:128,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0130-store_offsets.c:128,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:132,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:134,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0130-store_offsets.c:134,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:138,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:140,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/tests/0130-store_offsets.c:140,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:142,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:143,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0130-store_offsets.c:143,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0130-store_offsets.c:145,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0130-store_offsets.c:149,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0130-store_offsets.c:150,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0130-store_offsets.c:151,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0130-store_offsets.c:152,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0130-store_offsets.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0130-store_offsets.c:157,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0130-store_offsets.c:160,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0130-store_offsets.c:162,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0130-store_offsets.c:163,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0130-store_offsets.c:164,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0130-store_offsets.c:166,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0130-store_offsets.c:167,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0130-store_offsets.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 37
    functionDepth: 7
    functionLinenumber: 37
    functionLinenumberEnd: 170
    functionName: do_test_store_unassigned
    functionSourceFile: /src/librdkafka/tests/0130-store_offsets.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll_once
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_message_errstr
    - rd_kafka_committed
    - memcpy
    - rd_kafka_offsets_store
    - rd_kafka_commit
    - test_create_consumer
    - malloc
    - TEST_CALL_ERR__
    - strcmp
    - TEST_ASSERT_LATER
    - rd_kafka_topic_partition_list_new
    - rd_kafka_message_destroy
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_free
    - test_conf_init
    - rd_kafka_assign
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_store_unassigned(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_store_unassigned
      Src: /src/librdkafka/tests/0130-store_offsets.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 173
    functionDepth: 8
    functionLinenumber: 173
    functionLinenumberEnd: 178
    functionName: main_0130_store_offsets
    functionSourceFile: /src/librdkafka/tests/0130-store_offsets.c
    functionUses: 0
    functionsReached:
    - do_test_store_unassigned
    linkageType: ''
    returnType: int
    signature: int main_0130_store_offsets(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - test
    - skm
    - id
    argTypes:
    - struct test*
    - sockem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: connect_cb
    functionSourceFile: /src/librdkafka/tests/0088-produce_metadata_timeout.c
    functionUses: 3
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: int
    signature: int connect_cb(struct test *test, sockem_t *skm, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:64,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:64,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0088-produce_metadata_timeout.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:79,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:81,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:84,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0088-produce_metadata_timeout.c
    functionUses: 36
    functionsReached:
    - TEST_SAYL
    - rd_kafka_err2name
    - rd_kafka_err2str
    - TEST_FAIL_LATER
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:97,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:101,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:103,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:104,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:105,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:106,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:107,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:108,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:110,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:114,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:117,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:119,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:122,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:125,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:127,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:130,1
    - Dst: test_socket_close_all
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:131,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:135,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:136,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:139,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:143,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:144,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:146,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:147,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:154,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:157,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0088-produce_metadata_timeout.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 92
    functionDepth: 10
    functionLinenumber: 92
    functionLinenumberEnd: 161
    functionName: main_0088_produce_metadata_timeout
    functionSourceFile: /src/librdkafka/tests/0088-produce_metadata_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - test_flush
    - rd_kafka_topic_new
    - TEST_ASSERT
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - rd_atomic32_set
    - TEST_SAY
    - test_socket_enable
    - test_create_handle
    - test_id_generate
    - rd_kafka_conf_set_dr_msg_cb
    - test_socket_close_all
    - rd_sleep
    - test_conf_init
    - rd_kafka_poll
    - test_conf_set
    - test_mk_topic_name
    - test_produce_msgs_nowait
    linkageType: ''
    returnType: int
    signature: int main_0088_produce_metadata_timeout(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:57,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:58,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 7
    functionsReached:
    - TEST_FAIL
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0012-produce_consume.c:88,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0012-produce_consume.c:90,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0012-produce_consume.c:94,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0012-produce_consume.c:98,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0012-produce_consume.c:100,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:102,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0012-produce_consume.c:102,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0012-produce_consume.c:106,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0012-produce_consume.c:111,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0012-produce_consume.c:114,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0012-produce_consume.c:115,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:119,1
    - Dst: rd_kafka_produce_batch
      Src: /src/librdkafka/tests/0012-produce_consume.c:122,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:125,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:129,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0012-produce_consume.c:129,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:136,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:137,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:144,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:150,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:155,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:159,1
    - Dst: free
      Src: /src/librdkafka/tests/0012-produce_consume.c:166,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0012-produce_consume.c:169,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0012-produce_consume.c:170,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:173,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:176,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:180,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:183,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:183,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:184,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - testid
    - topic
    - partition_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 185
    functionName: produce_messages
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_outq_len
    - rd_kafka_name
    - rd_kafka_last_error
    - rd_kafka_destroy
    - rd_kafka_produce_batch
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - rd_strerror
    - TEST_FAIL
    - test_create_handle
    - rd_strdup
    - free
    - calloc
    - test_conf_init
    - rd_kafka_poll
    - strlen
    linkageType: ''
    returnType: void
    signature: "void produce_messages(uint64_t testid,\n                             const
      char *topic,\n                             int partition_cnt,\n                             int
      msgcnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:194,1
    - Dst: free
      Src: /src/librdkafka/tests/0012-produce_consume.c:196,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0012-produce_consume.c:203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - msgcnt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: verify_consumed_msg_reset
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 1
    functionsReached:
    - TEST_SAY
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void verify_consumed_msg_reset(int msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/tests/0012-produce_consume.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: int_cmp
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int int_cmp(const void *_a, const void *_b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:224,1
    - Dst: qsort
      Src: /src/librdkafka/tests/0012-produce_consume.c:229,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:233,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:242,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0012-produce_consume.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - func
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: verify_consumed_msg_check0
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - qsort
    - TEST_SAY
    - verify_consumed_msg_reset
    linkageType: ''
    returnType: void
    signature: void verify_consumed_msg_check0(const char *func, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: verify_consumed_msg_check
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg_check()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:265,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0012-produce_consume.c:270,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/0012-produce_consume.c:273,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:275,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:278,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:292,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0012-produce_consume.c:296,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:297,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 6
    argNames:
    - func
    - line
    - testid
    - partition
    - msgnum
    - rkmessage
    argTypes:
    - char*
    - int
    - uint64_t
    - int32_t
    - int
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 310
    functionName: verify_consumed_msg0
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - verify_consumed_msg_check
    - TEST_SAY
    - sscanf
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void verify_consumed_msg0(const char *func,\n                                 int
      line,\n                                 uint64_t testid,\n                                 int32_t
      partition,\n                                 int msgnum,\n                                 rd_kafka_message_t
      *rkmessage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - testid
    - ','
    - part
    - ','
    - msgnum
    - ','
    - rkmessage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: verify_consumed_msg
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg(testid, part, msgnum, rkmessage)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0012-produce_consume.c:329,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0012-produce_consume.c:332,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:334,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:334,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0012-produce_consume.c:336,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:338,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0012-produce_consume.c:338,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:340,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/tests/0012-produce_consume.c:344,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:345,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:346,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:347,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0012-produce_consume.c:347,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/tests/0012-produce_consume.c:353,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0012-produce_consume.c:353,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:355,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:359,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0012-produce_consume.c:359,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:363,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:366,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:370,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0012-produce_consume.c:371,1
    - Dst: verify_consumed_msg
      Src: /src/librdkafka/tests/0012-produce_consume.c:374,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:376,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0012-produce_consume.c:380,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:383,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:386,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:386,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - testid
    - topic
    - partition
    - msg_base
    - batch_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 317
    functionDepth: 6
    functionLinenumber: 317
    functionLinenumberEnd: 388
    functionName: consume_messages
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - rd_kafka_last_error
    - rd_kafka_destroy
    - rd_kafka_consume_start
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - rd_strerror
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_message_destroy
    - tmout_multip
    - rd_kafka_consume_stop
    - test_conf_init
    - rd_kafka_consume
    - verify_consumed_msg
    - RD_KAFKA_OFFSET_TAIL
    linkageType: ''
    returnType: void
    signature: "void consume_messages(uint64_t testid,\n                             const
      char *topic,\n                             int32_t partition,\n                             int
      msg_base,\n                             int batch_cnt,\n                             int
      msgcnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0012-produce_consume.c:404,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0012-produce_consume.c:406,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0012-produce_consume.c:409,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0012-produce_consume.c:412,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0012-produce_consume.c:415,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:417,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0012-produce_consume.c:417,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:419,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:425,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/tests/0012-produce_consume.c:427,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:428,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:430,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:432,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0012-produce_consume.c:432,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/tests/0012-produce_consume.c:440,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0012-produce_consume.c:440,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:442,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:445,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0012-produce_consume.c:445,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:449,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:452,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:455,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0012-produce_consume.c:458,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0012-produce_consume.c:463,1
    - Dst: verify_consumed_msg
      Src: /src/librdkafka/tests/0012-produce_consume.c:466,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:468,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0012-produce_consume.c:474,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:477,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:480,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:483,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:483,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0012-produce_consume.c:484,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - testid
    - topic
    - partition_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 391
    functionDepth: 6
    functionLinenumber: 391
    functionLinenumberEnd: 485
    functionName: consume_messages_with_queues
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_last_error
    - rd_kafka_consume_start_queue
    - rd_kafka_consume_queue
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_strerror
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_message_destroy
    - rd_kafka_topic_name
    - tmout_multip
    - rd_kafka_consume_stop
    - test_conf_init
    - test_conf_set
    - verify_consumed_msg
    - rd_kafka_queue_new
    - RD_KAFKA_OFFSET_TAIL
    linkageType: ''
    returnType: void
    signature: "void consume_messages_with_queues(uint64_t testid,\n                                         const
      char *topic,\n                                         int partition_cnt,\n
      \                                        int msgcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0012-produce_consume.c:503,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0012-produce_consume.c:506,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0012-produce_consume.c:507,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0012-produce_consume.c:509,1
    - Dst: produce_messages
      Src: /src/librdkafka/tests/0012-produce_consume.c:512,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0012-produce_consume.c:516,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0012-produce_consume.c:518,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0012-produce_consume.c:522,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0012-produce_consume.c:525,1
    - Dst: consume_messages_with_queues
      Src: /src/librdkafka/tests/0012-produce_consume.c:526,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0012-produce_consume.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 493
    functionDepth: 5
    functionLinenumber: 493
    functionLinenumberEnd: 530
    functionName: test_produce_consume
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 1
    functionsReached:
    - produce_messages
    - verify_consumed_msg_check
    - test_conf_init
    - TEST_SAY
    - verify_consumed_msg_reset
    - test_id_generate
    - consume_messages_with_queues
    - test_mk_topic_name
    - consume_messages
    linkageType: ''
    returnType: void
    signature: void test_produce_consume(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_produce_consume
      Src: /src/librdkafka/tests/0012-produce_consume.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: main_0012_produce_consume
    functionSourceFile: /src/librdkafka/tests/0012-produce_consume.c
    functionUses: 0
    functionsReached:
    - test_produce_consume
    linkageType: ''
    returnType: int
    signature: int main_0012_produce_consume(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0142-reauthentication.c:41,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 37
    functionsReached:
    - TEST_FAIL
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0142-reauthentication.c:52,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:52,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0142-reauthentication.c:56,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:56,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0142-reauthentication.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: auth_error_cb
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_yield
    linkageType: ''
    returnType: void
    signature: void auth_error_cb(rd_kafka_t *rk, int err, const char *reason, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0142-reauthentication.c:67,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0142-reauthentication.c:79,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:81,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:82,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:84,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0142-reauthentication.c:85,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0142-reauthentication.c:86,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0142-reauthentication.c:89,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0142-reauthentication.c:89,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:90,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:90,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0142-reauthentication.c:92,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0142-reauthentication.c:95,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0142-reauthentication.c:97,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0142-reauthentication.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:101,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:101,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:103,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:104,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:108,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:109,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0142-reauthentication.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 2
    argNames:
    - reauth_time
    - topic
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 8
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: do_test_producer
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - test_wait_topic_exists
    - TIMING_DURATION
    - rd_kafka_destroy
    - rd_kafka_err2str
    - test_create_handle
    - rd_kafka_flush
    - SUB_TEST
    - test_auto_create_topic_rkt
    - test_id_generate
    - SUB_TEST_PASS
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - test_conf_init
    - TIMING_START
    - test_produce_msgs_nowait
    linkageType: ''
    returnType: void
    signature: void do_test_producer(int64_t reauth_time, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0142-reauthentication.c:124,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0142-reauthentication.c:126,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:128,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:129,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:131,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0142-reauthentication.c:131,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0142-reauthentication.c:133,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0142-reauthentication.c:134,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:136,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0142-reauthentication.c:137,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0142-reauthentication.c:138,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0142-reauthentication.c:140,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0142-reauthentication.c:141,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0142-reauthentication.c:143,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0142-reauthentication.c:146,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0142-reauthentication.c:150,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:154,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0142-reauthentication.c:158,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0142-reauthentication.c:162,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0142-reauthentication.c:164,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0142-reauthentication.c:167,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:169,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:173,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:174,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0142-reauthentication.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - reauth_time
    - topic
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 115
    functionDepth: 10
    functionLinenumber: 115
    functionLinenumberEnd: 176
    functionName: do_test_consumer
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 1
    functionsReached:
    - TEST_ASSERT
    - test_consumer_poll_timeout
    - test_produce_msgs2
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - test_create_consumer
    - test_clock
    - test_create_handle
    - test_consumer_subscribe
    - rd_kafka_flush
    - rd_kafka_message_destroy
    - SUB_TEST
    - test_id_generate
    - rd_kafka_consumer_poll
    - SUB_TEST_PASS
    - rd_usleep
    - rd_kafka_conf_set_dr_msg_cb
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_consumer(int64_t reauth_time, const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0142-reauthentication.c:188,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0142-reauthentication.c:200,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:203,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:204,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:205,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0142-reauthentication.c:206,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:207,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:209,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0142-reauthentication.c:210,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0142-reauthentication.c:211,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0142-reauthentication.c:213,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0142-reauthentication.c:213,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:214,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:214,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0142-reauthentication.c:216,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0142-reauthentication.c:216,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0142-reauthentication.c:217,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0142-reauthentication.c:217,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0142-reauthentication.c:220,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0142-reauthentication.c:223,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0142-reauthentication.c:225,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0142-reauthentication.c:227,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:229,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:229,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:231,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:232,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0142-reauthentication.c:239,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0142-reauthentication.c:239,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:243,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:244,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0142-reauthentication.c:245,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0142-reauthentication.c:246,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:248,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0142-reauthentication.c:250,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0142-reauthentication.c:250,1
    - Dst: test_consume_txn_msgs_easy
      Src: /src/librdkafka/tests/0142-reauthentication.c:251,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:255,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:256,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0142-reauthentication.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - reauth_time
    - topic
    - abort_txn
    argTypes:
    - int64_t
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 182
    functionDepth: 9
    functionLinenumber: 182
    functionLinenumberEnd: 259
    functionName: do_test_txn_producer
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - test_wait_topic_exists
    - TIMING_DURATION
    - rd_kafka_destroy
    - rd_kafka_err2str
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - test_create_consumer
    - test_create_handle
    - rd_kafka_flush
    - SUB_TEST
    - test_auto_create_topic_rkt
    - test_id_generate
    - SUB_TEST_PASS
    - test_create_producer_topic
    - rd_kafka_init_transactions
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - test_consumer_poll_no_msgs
    - rd_kafka_commit_transaction
    - tsprintf
    - test_consume_txn_msgs_easy
    - test_conf_init
    - TIMING_START
    - test_conf_set
    - test_produce_msgs_nowait
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: "void do_test_txn_producer(int64_t reauth_time,\n                          const
      char *topic,\n                          rd_bool_t abort_txn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0142-reauthentication.c:271,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0142-reauthentication.c:278,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:283,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:284,1
    - Dst: rd_kafka_conf_enable_sasl_queue
      Src: /src/librdkafka/tests/0142-reauthentication.c:285,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:287,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:288,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:289,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0142-reauthentication.c:290,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:295,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:296,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:297,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0142-reauthentication.c:299,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:302,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:305,1
    - Dst: rd_kafka_sasl_background_callbacks_enable
      Src: /src/librdkafka/tests/0142-reauthentication.c:310,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0142-reauthentication.c:312,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0142-reauthentication.c:313,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0142-reauthentication.c:316,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0142-reauthentication.c:316,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:317,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:317,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0142-reauthentication.c:326,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0142-reauthentication.c:327,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0142-reauthentication.c:329,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0142-reauthentication.c:331,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:333,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:333,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:335,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:336,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:340,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:341,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0142-reauthentication.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 4
    argNames:
    - reauth_time
    - topic
    - token_lifetime_ms
    - use_sasl_queue
    argTypes:
    - int64_t
    - char*
    - int64_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 264
    functionDepth: 8
    functionLinenumber: 264
    functionLinenumberEnd: 344
    functionName: do_test_oauthbearer
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_conf_enable_sasl_queue
    - TEST_ASSERT
    - test_wait_topic_exists
    - TIMING_DURATION
    - rd_kafka_destroy
    - rd_kafka_err2str
    - rd_strcasecmp
    - test_conf_get
    - test_create_handle
    - SUB_TEST_SKIP
    - rd_kafka_flush
    - SUB_TEST
    - test_auto_create_topic_rkt
    - test_id_generate
    - SUB_TEST_PASS
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_sasl_background_callbacks_enable
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - tsprintf
    - test_conf_init
    - TIMING_START
    - test_conf_set
    - test_produce_msgs_nowait
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: "void do_test_oauthbearer(int64_t reauth_time,\n                         const
      char *topic,\n                         int64_t token_lifetime_ms,\n                         rd_bool_t
      use_sasl_queue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0142-reauthentication.c:353,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0142-reauthentication.c:366,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:368,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:369,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0142-reauthentication.c:370,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:372,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:374,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:375,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0142-reauthentication.c:376,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:381,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0142-reauthentication.c:382,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0142-reauthentication.c:383,1
    - Dst: test_auto_create_topic_rkt
      Src: /src/librdkafka/tests/0142-reauthentication.c:386,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0142-reauthentication.c:386,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:387,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0142-reauthentication.c:387,1
    - Dst: rd_kafka_sasl_set_credentials
      Src: /src/librdkafka/tests/0142-reauthentication.c:389,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0142-reauthentication.c:392,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0142-reauthentication.c:395,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0142-reauthentication.c:397,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:399,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:399,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0142-reauthentication.c:401,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:402,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:404,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:405,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0142-reauthentication.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 2
    argNames:
    - reauth_time
    - topic
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 349
    functionDepth: 8
    functionLinenumber: 349
    functionLinenumberEnd: 408
    functionName: do_test_reauth_failure
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - test_wait_topic_exists
    - TIMING_DURATION
    - rd_kafka_destroy
    - rd_kafka_err2str
    - rd_strcasecmp
    - rd_kafka_sasl_set_credentials
    - test_conf_get
    - test_create_handle
    - SUB_TEST_SKIP
    - SUB_TEST
    - test_auto_create_topic_rkt
    - test_id_generate
    - SUB_TEST_PASS
    - test_create_producer_topic
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - rd_kafka_conf_set_error_cb
    - test_conf_init
    - TIMING_START
    - test_produce_msgs_nowait
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_reauth_failure(int64_t reauth_time, const char *topic)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0142-reauthentication.c:421,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0142-reauthentication.c:423,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:424,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:426,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:427,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0142-reauthentication.c:428,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:433,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:434,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/tests/0142-reauthentication.c:435,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0142-reauthentication.c:436,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:438,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0142-reauthentication.c:441,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0142-reauthentication.c:443,1
    - Dst: test_get_broker_ids
      Src: /src/librdkafka/tests/0142-reauthentication.c:444,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0142-reauthentication.c:446,1
    - Dst: test_get_broker_config_entry
      Src: /src/librdkafka/tests/0142-reauthentication.c:449,1
    - Dst: strtoll
      Src: /src/librdkafka/tests/0142-reauthentication.c:457,1
    - Dst: free
      Src: /src/librdkafka/tests/0142-reauthentication.c:461,1
    - Dst: free
      Src: /src/librdkafka/tests/0142-reauthentication.c:465,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0142-reauthentication.c:467,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0142-reauthentication.c:474,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0142-reauthentication.c:482,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0142-reauthentication.c:485,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0142-reauthentication.c:486,1
    - Dst: do_test_txn_producer
      Src: /src/librdkafka/tests/0142-reauthentication.c:487,1
    - Dst: do_test_txn_producer
      Src: /src/librdkafka/tests/0142-reauthentication.c:488,1
    - Dst: do_test_oauthbearer
      Src: /src/librdkafka/tests/0142-reauthentication.c:496,1
    - Dst: do_test_oauthbearer
      Src: /src/librdkafka/tests/0142-reauthentication.c:497,1
    - Dst: do_test_oauthbearer
      Src: /src/librdkafka/tests/0142-reauthentication.c:506,1
    - Dst: do_test_oauthbearer
      Src: /src/librdkafka/tests/0142-reauthentication.c:508,1
    - Dst: do_test_reauth_failure
      Src: /src/librdkafka/tests/0142-reauthentication.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 411
    functionDepth: 10
    functionLinenumber: 411
    functionLinenumberEnd: 515
    functionName: main_0142_reauthentication
    functionSourceFile: /src/librdkafka/tests/0142-reauthentication.c
    functionUses: 0
    functionsReached:
    - do_test_oauthbearer
    - do_test_consumer
    - TEST_ASSERT
    - strtoll
    - rd_kafka_destroy
    - TEST_SAY
    - test_get_broker_config_entry
    - rd_strcasecmp
    - test_conf_get
    - test_create_handle
    - do_test_producer
    - test_get_broker_ids
    - do_test_txn_producer
    - free
    - test_conf_init
    - TEST_SKIP
    - do_test_reauth_failure
    - test_timeout_set
    - test_mk_topic_name
    - test_conf_set
    - strncmp
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: int
    signature: int main_0142_reauthentication(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:45,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:45,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:46,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:49,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:55,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:55,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:57,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:65,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:74,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:74,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:75,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:76,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:76,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:77,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:79,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:82,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:82,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:85,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 87
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0118-commit_rebalance.c
    functionUses: 12
    functionsReached:
    - rd_kafka_err2name
    - test_consumer_assign_by_rebalance_protocol
    - TEST_CALL_ERR__
    - rd_kafka_position
    - test_consumer_unassign_by_rebalance_protocol
    - rd_sleep
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_name
    - TEST_FAIL
    - rd_kafka_commit
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:91,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:99,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:100,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:101,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:102,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:104,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:107,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:107,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:109,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:111,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:112,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:118,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:122,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:127,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:131,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:136,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:137,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:143,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:149,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0118-commit_rebalance.c:151,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 90
    functionDepth: 7
    functionLinenumber: 90
    functionLinenumberEnd: 154
    functionName: main_0118_commit_rebalance
    functionSourceFile: /src/librdkafka/tests/0118-commit_rebalance.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_kafka_conf_dup
    - test_produce_msgs_easy_v
    - rd_kafka_conf_set_rebalance_cb
    - test_consumer_group_protocol_classic
    - test_conf_init
    - test_consumer_close
    - test_conf_set
    - test_mk_topic_name
    - test_consumer_poll_once
    - test_create_consumer
    - rd_usleep
    linkageType: ''
    returnType: int
    signature: int main_0118_commit_rebalance(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0153-memberid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0153-memberid.c:49,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0153-memberid.c:52,1
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/tests/0153-memberid.c:54,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0153-memberid.c:56,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0153-memberid.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 7
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: consumer_thread
    functionSourceFile: /src/librdkafka/tests/0153-memberid.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_memberid
    - test_conf_init
    - test_consumer_close
    - test_create_consumer
    linkageType: ''
    returnType: int
    signature: int consumer_thread(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0153-memberid.c:66,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0153-memberid.c:72,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0153-memberid.c:77,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0153-memberid.c:81,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0153-memberid.c:87,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0153-memberid.c:89,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0153-memberid.c:98,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0153-memberid.c:102,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0153-memberid.c:105,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0153-memberid.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 109
    functionName: do_test_unique_memberid
    functionSourceFile: /src/librdkafka/tests/0153-memberid.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - thrd_join
    - TEST_SAY
    - thrd_create
    - test_mk_topic_name
    - SUB_TEST_PASS
    - TEST_FAIL
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_unique_memberid()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0153-memberid.c:113,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0153-memberid.c:114,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0153-memberid.c:120,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0153-memberid.c:121,1
    - Dst: do_test_unique_memberid
      Src: /src/librdkafka/tests/0153-memberid.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: main_0153_memberid
    functionSourceFile: /src/librdkafka/tests/0153-memberid.c
    functionUses: 0
    functionsReached:
    - strcmp
    - test_consumer_group_protocol_classic
    - do_test_unique_memberid
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0153_memberid(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::TopicPartition*::err
      Src: /src/librdkafka/tests/0054-offset_time.cpp:42,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0054-offset_time.cpp:43,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:43,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0054-offset_time.cpp:44,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0054-offset_time.cpp:44,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:45,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:46,1
    - Dst: RdKafka::TopicPartition*::err
      Src: /src/librdkafka/tests/0054-offset_time.cpp:46,1
    - Dst: RdKafka::TopicPartition*::offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:50,1
    - Dst: Test::FailLater
      Src: /src/librdkafka/tests/0054-offset_time.cpp:51,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:51,1
    - Dst: RdKafka::TopicPartition*::topic
      Src: /src/librdkafka/tests/0054-offset_time.cpp:52,1
    - Dst: RdKafka::TopicPartition*::partition
      Src: /src/librdkafka/tests/0054-offset_time.cpp:52,1
    - Dst: RdKafka::TopicPartition*::offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tp
    - timestamp
    - exp_offset
    - exp_err
    argTypes:
    - RdKafka::TopicPartition*
    - int64_t
    - int64_t
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 59
    functionName: verify_offset
    functionSourceFile: /src/librdkafka/tests/0054-offset_time.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartition*::err
    - Test::FailLater
    - tostr
    - RdKafka::TopicPartition*::topic
    - RdKafka::err2str
    - RdKafka::TopicPartition*::partition
    - RdKafka::TopicPartition*::offset
    linkageType: ''
    returnType: int
    signature: "int verify_offset(const RdKafka::TopicPartition *tp,\n                         int64_t
      timestamp,\n                         int64_t exp_offset,\n                         RdKafka::ErrorCode
      exp_err)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0054-offset_time.cpp:64,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0054-offset_time.cpp:77,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0054-offset_time.cpp:81,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0054-offset_time.cpp:82,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0054-offset_time.cpp:83,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0054-offset_time.cpp:84,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:86,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:88,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:90,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:91,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:92,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:93,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:94,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:95,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:98,1
    - Dst: RdKafka::Producer*::offsetsForTimes
      Src: /src/librdkafka/tests/0054-offset_time.cpp:99,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0054-offset_time.cpp:99,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:100,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:101,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0054-offset_time.cpp:102,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:105,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:108,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:110,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0054-offset_time.cpp:113,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:114,1
    - Dst: std::string::size
      Src: /src/librdkafka/tests/0054-offset_time.cpp:114,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:117,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:117,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0054-offset_time.cpp:121,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0054-offset_time.cpp:121,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:122,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0054-offset_time.cpp:126,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:127,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:128,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:129,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:130,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:132,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:132,1
    - Dst: RdKafka::Producer*::offsetsForTimes
      Src: /src/librdkafka/tests/0054-offset_time.cpp:134,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0054-offset_time.cpp:134,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0054-offset_time.cpp:135,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:137,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:137,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:139,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:141,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0054-offset_time.cpp:147,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:148,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:149,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:150,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:151,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:153,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:153,1
    - Dst: RdKafka::Producer*::offsetsForTimes
      Src: /src/librdkafka/tests/0054-offset_time.cpp:155,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0054-offset_time.cpp:156,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:158,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:158,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:160,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:162,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0054-offset_time.cpp:168,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:169,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:170,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:171,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:172,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:174,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:174,1
    - Dst: RdKafka::Producer*::offsetsForTimes
      Src: /src/librdkafka/tests/0054-offset_time.cpp:177,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0054-offset_time.cpp:178,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:180,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:182,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0054-offset_time.cpp:187,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:188,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:189,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:190,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:191,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:192,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:193,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:194,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:195,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:196,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:197,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0054-offset_time.cpp:198,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0054-offset_time.cpp:199,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0054-offset_time.cpp:200,1
    - Dst: RdKafka::Producer*::offsetsForTimes
      Src: /src/librdkafka/tests/0054-offset_time.cpp:201,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/0054-offset_time.cpp:202,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:204,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0054-offset_time.cpp:205,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:206,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:208,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:210,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:212,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:214,1
    - Dst: verify_offset
      Src: /src/librdkafka/tests/0054-offset_time.cpp:216,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0054-offset_time.cpp:222,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0054-offset_time.cpp:222,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0054-offset_time.cpp:224,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 229
    functionName: test_offset_time
    functionSourceFile: /src/librdkafka/tests/0054-offset_time.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - Test::print_TopicPartitions
    - verify_offset
    - Test::conf_set
    - RdKafka::Conf*::set
    - std::string::c_str
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::Producer*::offsetsForTimes
    - Test::Say
    - tmout_multip
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - tostr
    - std::vector::push_back
    - test_mk_topic_name
    - std::string::size
    linkageType: ''
    returnType: void
    signature: void test_offset_time(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_offset_time
      Src: /src/librdkafka/tests/0054-offset_time.cpp:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: main_0054_offset_time
    functionSourceFile: /src/librdkafka/tests/0054-offset_time.cpp
    functionUses: 0
    functionsReached:
    - test_offset_time
    linkageType: ''
    returnType: int
    signature: int main_0054_offset_time(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:39,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:46,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:47,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:48,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:51,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:53,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:56,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:57,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:57,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:59,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:62,1
    - Dst: std::string::begin
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:65,1
    - Dst: std::string::end
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:65,1
    - Dst: RdKafka::TopicPartition*::set_metadata
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:67,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:68,1
    - Dst: RdKafka::KafkaConsumer*::commitSync
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:70,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:71,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:71,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:72,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:74,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:75,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:76,1
    - Dst: RdKafka::KafkaConsumer*::committed
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:77,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:78,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:79,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:80,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:80,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:81,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:83,1
    - Dst: get_metadata
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:85,1
    - Dst: std::vector::begin
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:86,1
    - Dst: std::vector::end
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:87,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:90,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:90,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:94,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:96,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 101
    functionName: test_commit_metadata
    functionSourceFile: /src/librdkafka/tests/0140-commit_metadata.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - TEST_ASSERT
    - Test::create_topic_wait_exists
    - std::vector::end
    - std::string::begin
    - RdKafka::KafkaConsumer*::commitSync
    - RdKafka::KafkaConsumer*::committed
    - Test::conf_set
    - std::vector::begin
    - std::string::c_str
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - SUB_TEST_PASS
    - Test::Say
    - SUB_TEST_QUICK
    - RdKafka::TopicPartition*::set_metadata
    - Test::Fail
    - std::vector::size
    - tostr
    - get_metadata
    - std::vector::push_back
    - test_mk_topic_name
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void test_commit_metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_commit_metadata
      Src: /src/librdkafka/tests/0140-commit_metadata.cpp:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: main_0140_commit_metadata
    functionSourceFile: /src/librdkafka/tests/0140-commit_metadata.cpp
    functionUses: 0
    functionsReached:
    - test_commit_metadata
    linkageType: ''
    returnType: int
    signature: int main_0140_commit_metadata(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: error_cb
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error_cb(rd_kafka_t *rk, int err, const char *reason, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - keydata
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: partitioner
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitioner(const rd_kafka_topic_t *rkt,\n                           const
      void *keydata,\n                           size_t keylen,\n                           int32_t
      partition_cnt,\n                           void *rkt_opaque,\n                           void
      *msg_opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:72,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:73,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:74,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:81,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - line
    - arr
    - cnt
    - confs
    argTypes:
    - int
    - char**
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 87
    functionName: conf_verify
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - strcmp
    linkageType: ''
    returnType: void
    signature: void conf_verify(int line, const char **arr, size_t cnt, const char
      **confs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:98,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:103,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:104,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:106,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:110,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - desc
    - a
    - acnt
    - b
    - bcnt
    argTypes:
    - char*
    - char**
    - size_t
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 116
    functionName: conf_cmp
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void conf_cmp(const char *desc,\n                     const char **a,\n
      \                    size_t acnt,\n                     const char **b,\n                     size_t
      bcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:128,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0004-conf.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: my_on_new
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_name
    - TEST_SAY
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t my_on_new(rd_kafka_t *rk,\n                                     const
      rd_kafka_conf_t *conf,\n                                     void *ic_opaque,\n
      \                                    char *errstr,\n                                     size_t
      errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:145,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:147,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:148,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:149,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:153,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:154,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:157,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:159,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:160,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:164,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:166,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:169,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:170,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:173,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:174,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:175,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:176,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:177,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:178,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 180
    functionName: do_test_kafka_new_failures
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - TEST_SAY
    - TEST_ASSERT
    - test_conf_set
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void do_test_kafka_new_failures(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:192,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:194,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:204,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:204,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:208,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:211,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:216,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:221,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:221,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:225,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:228,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:230,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:234,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 237
    functionName: do_test_special_invalid_conf
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_conf_set
    - TEST_SAY
    - TEST_ASSERT
    - strstr
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_special_invalid_conf(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:268,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:269,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:272,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:276,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:281,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:289,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:293,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:299,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:300,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0004-conf.c:304,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:306,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0004-conf.c:311,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0004-conf.c:311,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:315,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0004-conf.c:319,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 325
    functionName: do_test_idempotence_conf
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_topic_conf_new
    - rd_kafka_topic_destroy
    - test_topic_conf_set
    - rd_kafka_topic_new
    - rd_kafka_err2str
    - TEST_ASSERT
    - test_conf_set
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - rd_kafka_last_error
    linkageType: ''
    returnType: void
    signature: void do_test_idempotence_conf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:343,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:346,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:347,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:350,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:351,1
    - Dst: rd_kafka_conf
      Src: /src/librdkafka/tests/0004-conf.c:353,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:354,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:361,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:364,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:365,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:365,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 370
    functionName: do_test_instance_conf
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - strcmp
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_conf_get
    - rd_kafka_new
    - rd_kafka_conf
    linkageType: ''
    returnType: void
    signature: void do_test_instance_conf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0004-conf.c:381,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:383,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:387,1
    - Dst: rd_kafka_conf_get_default_topic_conf
      Src: /src/librdkafka/tests/0004-conf.c:390,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:391,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:394,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:395,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:395,1
    - Dst: test_topic_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:400,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:401,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:401,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:407,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:410,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:411,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:411,1
    - Dst: test_topic_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:416,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:417,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:417,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:422,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0004-conf.c:424,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 376
    functionDepth: 6
    functionLinenumber: 376
    functionLinenumberEnd: 425
    functionName: do_test_default_topic_conf
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_topic_conf_set
    - strcmp
    - TEST_ASSERT
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_conf_get_default_topic_conf
    - test_topic_conf_get
    - rd_kafka_conf_destroy
    - test_conf_get
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_default_topic_conf(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0004-conf.c:447,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:458,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:459,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:462,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:465,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/tests/0004-conf.c:468,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:470,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:474,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:477,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:481,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:486,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:489,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:494,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0004-conf.c:498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 499
    functionName: do_message_timeout_linger_checks
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_topic_conf_new
    - rd_kafka_conf_set_default_topic_conf
    - test_topic_conf_set
    - TEST_SAY
    - TEST_ASSERT
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_message_timeout_linger_checks(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0004-conf.c:545,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:546,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:547,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0004-conf.c:549,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:552,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:555,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:557,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0004-conf.c:560,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0004-conf.c:561,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0004-conf.c:565,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:567,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0004-conf.c:567,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:570,1
    - Dst: rd_kafka_topic_conf_set_partitioner_cb
      Src: /src/librdkafka/tests/0004-conf.c:572,1
    - Dst: rd_kafka_topic_conf_set_opaque
      Src: /src/librdkafka/tests/0004-conf.c:573,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:576,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:579,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/tests/0004-conf.c:584,1
    - Dst: conf_verify
      Src: /src/librdkafka/tests/0004-conf.c:585,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0004-conf.c:588,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/tests/0004-conf.c:589,1
    - Dst: conf_verify
      Src: /src/librdkafka/tests/0004-conf.c:590,1
    - Dst: conf_cmp
      Src: /src/librdkafka/tests/0004-conf.c:591,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/tests/0004-conf.c:592,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/tests/0004-conf.c:593,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/tests/0004-conf.c:596,1
    - Dst: conf_verify
      Src: /src/librdkafka/tests/0004-conf.c:597,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/tests/0004-conf.c:600,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/tests/0004-conf.c:601,1
    - Dst: conf_verify
      Src: /src/librdkafka/tests/0004-conf.c:602,1
    - Dst: conf_cmp
      Src: /src/librdkafka/tests/0004-conf.c:603,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/tests/0004-conf.c:604,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/tests/0004-conf.c:605,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:613,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0004-conf.c:616,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:617,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0004-conf.c:620,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:622,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0004-conf.c:622,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0004-conf.c:624,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:625,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0004-conf.c:629,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:630,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0004-conf.c:633,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:635,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0004-conf.c:635,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0004-conf.c:636,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:637,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:654,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:655,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:660,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:661,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:662,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:663,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:665,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0004-conf.c:666,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:672,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:678,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:679,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:682,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:685,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:690,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:690,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:694,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:694,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:694,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:698,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:700,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:705,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:709,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:711,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:712,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:714,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:716,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:719,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:720,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:725,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:729,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:731,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:733,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:736,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:738,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:740,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:740,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:747,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:750,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:754,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:756,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:759,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:761,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:763,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:763,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:770,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:773,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:777,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:779,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:781,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:783,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0004-conf.c:786,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:795,1
    - Dst: fopen
      Src: /src/librdkafka/tests/0004-conf.c:801,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:802,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0004-conf.c:803,1
    - Dst: fwrite
      Src: /src/librdkafka/tests/0004-conf.c:804,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:805,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0004-conf.c:806,1
    - Dst: fclose
      Src: /src/librdkafka/tests/0004-conf.c:807,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:809,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:811,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:812,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:813,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0004-conf.c:819,1
    - Dst: _unlink
      Src: /src/librdkafka/tests/0004-conf.c:821,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:823,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:826,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0004-conf.c:826,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:831,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:865,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:866,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0004-conf.c:867,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0004-conf.c:874,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:881,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0004-conf.c:885,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0004-conf.c:890,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:904,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/tests/0004-conf.c:907,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:909,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0004-conf.c:913,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0004-conf.c:913,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:917,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0004-conf.c:918,1
    - Dst: do_test_kafka_new_failures
      Src: /src/librdkafka/tests/0004-conf.c:921,1
    - Dst: do_test_special_invalid_conf
      Src: /src/librdkafka/tests/0004-conf.c:923,1
    - Dst: do_test_idempotence_conf
      Src: /src/librdkafka/tests/0004-conf.c:925,1
    - Dst: do_test_instance_conf
      Src: /src/librdkafka/tests/0004-conf.c:927,1
    - Dst: do_test_default_topic_conf
      Src: /src/librdkafka/tests/0004-conf.c:929,1
    - Dst: do_message_timeout_linger_checks
      Src: /src/librdkafka/tests/0004-conf.c:931,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 153
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 502
    functionDepth: 7
    functionLinenumber: 502
    functionLinenumberEnd: 934
    functionName: main_0004_conf
    functionSourceFile: /src/librdkafka/tests/0004-conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - rd_kafka_topic_conf_new
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - TEST_ASSERT
    - do_message_timeout_linger_checks
    - fwrite
    - rd_kafka_topic_conf_get
    - rd_kafka_conf_interceptor_add_on_new
    - rd_kafka_destroy
    - fclose
    - rd_kafka_conf_dup
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_conf_destroy
    - rd_kafka_topic_conf_set
    - rd_kafka_err2str
    - TEST_SAY
    - rd_strerror
    - rd_kafka_conf_get
    - do_test_default_topic_conf
    - TEST_FAIL
    - test_conf_get
    - rd_kafka_topic_conf_dump
    - conf_verify
    - test_create_handle
    - do_test_special_invalid_conf
    - TEST_FAIL_LATER
    - rd_kafka_topic_conf_set_opaque
    - strcmp
    - fopen
    - conf_cmp
    - rd_kafka_conf_dump_free
    - rd_kafka_conf_new
    - rd_kafka_conf_set_error_cb
    - rd_kafka_conf_dump
    - do_test_idempotence_conf
    - rd_kafka_topic_conf_dup
    - test_conf_init
    - rd_kafka_new
    - test_mk_topic_name
    - rd_kafka_topic_conf_set_partitioner_cb
    - test_conf_set
    - strstr
    - do_test_kafka_new_failures
    - rd_kafka_conf_destroy
    - do_test_instance_conf
    - _unlink
    linkageType: ''
    returnType: int
    signature: int main_0004_conf(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:51,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:52,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:54,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:56,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:56,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:59,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:63,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:66,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:68,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:69,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:70,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:74,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:76,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:77,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:80,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:83,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:85,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:93,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:94,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:96,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 104
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
    functionUses: 13
    functionsReached:
    - rd_kafka_err2name
    - test_consumer_assign_by_rebalance_protocol
    - rd_kafka_position
    - test_consumer_unassign_by_rebalance_protocol
    - strcmp
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_sleep
    - rd_kafka_yield
    - rd_kafka_commit
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:114,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:117,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:118,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:122,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:123,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:124,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:132,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - what
    - c
    - exp_event
    - timeout_s
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 134
    functionName: expect_rebalance
    functionSourceFile: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
    functionUses: 4
    functionsReached:
    - rd_kafka_err2name
    - rd_sleep
    - TEST_SAY
    - test_consumer_poll_once
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void expect_rebalance(const char *what,\n                             rd_kafka_t
      *c,\n                             rd_kafka_resp_err_t exp_event,\n                             int
      timeout_s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST0
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:153,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:153,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:156,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:158,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:161,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:164,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:165,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:166,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:167,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:168,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:169,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:170,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:171,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:172,1
    - Dst: rd_kafka_mock_set_group_consumer_session_timeout_ms
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:173,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:174,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:176,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:178,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:180,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:182,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:194,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:198,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:200,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:202,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:210,1
    - Dst: expect_rebalance
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:213,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:221,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:223,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:225,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - use_commit_type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 142
    functionDepth: 7
    functionLinenumber: 142
    functionLinenumberEnd: 228
    functionName: do_test_session_timeout
    functionSourceFile: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - rd_kafka_mock_coordinator_set
    - rd_kafka_mock_set_group_consumer_session_timeout_ms
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - test_consumer_close
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - strcmp
    - test_mock_cluster_destroy
    - SUB_TEST_PASS
    - SUB_TEST0
    - expect_rebalance
    - test_consumer_group_protocol_classic
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_session_timeout(const char *use_commit_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:243,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:247,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:249,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:252,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:255,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:256,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:257,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:258,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:259,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:260,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:261,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:262,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:264,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:266,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:269,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:273,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:276,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:277,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:278,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:280,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:282,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:283,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:284,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:286,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:288,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:290,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 234
    functionDepth: 7
    functionLinenumber: 234
    functionLinenumberEnd: 295
    functionName: do_test_commit_on_lost
    functionSourceFile: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_mock_coordinator_set
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_commit
    - test_create_consumer
    - test_consumer_subscribe
    - SUB_TEST
    - test_mock_cluster_destroy
    - SUB_TEST_PASS
    - rd_sleep
    - test_conf_init
    - test_conf_set
    - rd_kafka_mock_broker_set_down
    linkageType: ''
    returnType: void
    signature: void do_test_commit_on_lost(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:300,1
    - Dst: do_test_session_timeout
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:302,1
    - Dst: do_test_session_timeout
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:303,1
    - Dst: do_test_session_timeout
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:304,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:313,1
    - Dst: do_test_commit_on_lost
      Src: /src/librdkafka/tests/0106-cgrp_sess_timeout.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 298
    functionDepth: 8
    functionLinenumber: 298
    functionLinenumberEnd: 318
    functionName: main_0106_cgrp_sess_timeout
    functionSourceFile: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
    functionUses: 0
    functionsReached:
    - do_test_commit_on_lost
    - do_test_session_timeout
    - test_consumer_group_protocol_classic
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0106_cgrp_sess_timeout(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: errorEventCb::errorEventCb
    functionSourceFile: /src/librdkafka/tests/0095-all_brokers_down.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void errorEventCb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:39,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:41,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:41,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:41,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:41,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:42,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:43,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:48,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:48,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: errorEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0095-all_brokers_down.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - tostr
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:65,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:67,1
    - Dst: errorEventCb
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:72,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:74,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:75,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:77,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:79,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:81,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:85,1
    - Dst: errorEventCb
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:94,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:96,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:98,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:99,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:101,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:103,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:105,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:111,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0095-all_brokers_down.cpp:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 121
    functionName: main_0095_all_brokers_down
    functionSourceFile: /src/librdkafka/tests/0095-all_brokers_down.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - Test::conf_init
    - RdKafka::Conf*::set
    - RdKafka::KafkaConsumer*::consume
    - thrd_create
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - errorEventCb
    - Test::conf_set
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: int
    signature: int main_0095_all_brokers_down(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/8000-idle.cpp:40,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/8000-idle.cpp:43,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/8000-idle.cpp:45,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/8000-idle.cpp:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: do_test_idle_producer
    functionSourceFile: /src/librdkafka/tests/8000-idle.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - RdKafka::Producer*::poll
    - Test::Fail
    - thrd_create
    linkageType: ''
    returnType: void
    signature: void do_test_idle_producer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_idle_producer
      Src: /src/librdkafka/tests/8000-idle.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: main_8000_idle
    functionSourceFile: /src/librdkafka/tests/8000-idle.cpp
    functionUses: 0
    functionsReached:
    - do_test_idle_producer
    linkageType: ''
    returnType: int
    signature: int main_8000_idle(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:60,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: error_is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int error_is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const
      char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:96,1
    - Dst: on_response_received_cb
      Src: /src/librdkafka/tests/0105-transactions_mock.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: on_response_received_trampoline
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - on_response_received_cb
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_response_received_trampoline(rd_kafka_t *rk,\n
      \                               int sockfd,\n                                const
      char *brokername,\n                                int32_t brokerid,\n                                int16_t
      ApiKey,\n                                int16_t ApiVersion,\n                                int32_t
      CorrId,\n                                size_t size,\n                                int64_t
      rtt,\n                                rd_kafka_resp_err_t err,\n                                void
      *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_response_received
      Src: /src/librdkafka/tests/0105-transactions_mock.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: on_new_producer
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_response_received
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_producer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0105-transactions_mock.c:146,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:148,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:150,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:156,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:158,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:159,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0105-transactions_mock.c:160,1
    - Dst: va_start
      Src: /src/librdkafka/tests/0105-transactions_mock.c:164,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0105-transactions_mock.c:165,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:166,1
    - Dst: va_arg
      Src: /src/librdkafka/tests/0105-transactions_mock.c:168,1
    - Dst: va_end
      Src: /src/librdkafka/tests/0105-transactions_mock.c:173,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:177,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0105-transactions_mock.c:180,1
    - Dst: rd_kafka_handle_mock_cluster
      Src: /src/librdkafka/tests/0105-transactions_mock.c:183,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:184,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:190,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:191,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:192,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 3
    argNames:
    - mclusterp
    - transactional_id
    - broker_cnt
    argTypes:
    - rd_kafka_mock_cluster_t**
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 197
    functionName: create_txn_producer
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_snprintf
    - rd_kafka_handle_mock_cluster
    - va_start
    - strcmp
    - test_conf_init
    - TEST_ASSERT
    - rd_kafka_mock_topic_create
    - test_conf_set
    - va_end
    - va_arg
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: RD_SENTINEL
    signature: "RD_SENTINEL *\ncreate_txn_producer(rd_kafka_mock_cluster_t **mclusterp,\n
      \                   const char *transactional_id,\n                    int broker_cnt,\n
      \                   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:212,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:214,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:220,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:221,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:226,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:232,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:232,1
    - Dst: RD_UT_COVERAGE_CHECK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:234,1
    - Dst: RD_UT_COVERAGE_CHECK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:235,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:240,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:240,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:244,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:244,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:245,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:245,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:246,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:248,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:254,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:258,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:258,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:259,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:259,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:260,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:263,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:269,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:270,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:271,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:273,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:275,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:278,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:282,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:287,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:289,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:290,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:292,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:293,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:298,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:304,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:304,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:308,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 204
    functionDepth: 7
    functionLinenumber: 204
    functionLinenumberEnd: 311
    functionName: do_test_txn_recoverable_errors
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - RD_KAFKA_V_PARTITION
    - RD_UT_COVERAGE_CHECK
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - rd_kafka_flush
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_recoverable_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:324,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:326,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:333,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:333,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:338,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:338,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:342,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:342,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:343,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:343,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:344,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:347,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:351,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:351,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:352,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:352,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:353,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:356,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:357,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:359,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:360,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:362,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:362,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:364,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:364,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:366,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:369,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:369,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:373,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:373,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:375,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:375,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:376,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:376,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:377,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:379,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:379,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:383,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 318
    functionDepth: 7
    functionLinenumber: 318
    functionLinenumberEnd: 388
    functionName: do_test_txn_fatal_idempo_errors
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - RD_KAFKA_V_PARTITION
    - rd_kafka_error_destroy
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - RD_KAFKA_V_TOPIC
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_fatal_idempo_errors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:409,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:411,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:414,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:420,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:420,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:425,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:425,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:429,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:429,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:430,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:430,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:431,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:433,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:438,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:443,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:447,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:447,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:448,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:448,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:449,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:453,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:454,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:455,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:456,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:458,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:459,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:461,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:461,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:463,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:463,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:465,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:468,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:469,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:470,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:471,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:473,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:474,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:475,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:475,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:477,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:477,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:479,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:482,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:485,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:486,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:487,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:487,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:488,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:492,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:492,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:494,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:494,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:495,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:495,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:496,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:498,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:498,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:502,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 1
    argNames:
    - with_sleep
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 401
    functionDepth: 7
    functionLinenumber: 401
    functionLinenumberEnd: 507
    functionName: do_test_txn_slow_reinit
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - RD_KAFKA_V_PARTITION
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - TIMING_STOP
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_slow_reinit(rd_bool_t with_sleep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:530,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:530,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:532,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:535,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:542,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:542,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:547,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:547,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:551,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:551,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:552,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:552,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:553,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:555,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:558,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:562,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:566,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:566,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:567,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:567,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:568,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:570,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:573,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:574,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:576,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:577,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:578,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:578,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:579,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:581,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:582,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:583,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:583,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:587,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 521
    functionDepth: 7
    functionLinenumber: 521
    functionLinenumberEnd: 592
    functionName: do_test_txn_fenced_reinit
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - RD_KAFKA_V_PARTITION
    - rd_kafka_error_destroy
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - RD_KAFKA_V_TOPIC
    - rd_kafka_error_string
    - rd_kafka_fatal_error
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_fenced_reinit(rd_kafka_resp_err_t error_code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:727,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:750,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:755,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:759,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:761,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:762,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:768,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:768,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:777,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:777,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:778,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:780,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:781,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:784,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:789,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:790,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:793,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:798,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:800,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:800,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:803,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:804,1
    - Dst: rd_kafka_mock_push_request_errors_array
      Src: /src/librdkafka/tests/0105-transactions_mock.c:810,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:814,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:816,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0105-transactions_mock.c:817,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:819,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0105-transactions_mock.c:820,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:821,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:824,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:828,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:829,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0105-transactions_mock.c:830,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:831,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0105-transactions_mock.c:832,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:833,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0105-transactions_mock.c:835,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:835,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:837,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:841,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:845,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:850,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:852,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:853,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:855,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:856,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:857,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:859,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:861,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:863,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:866,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:868,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:872,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:873,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:874,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:875,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:879,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:880,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:881,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:884,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:885,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:887,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:888,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:889,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:892,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:893,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:896,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:897,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:900,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:905,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:912,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:914,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 598
    functionDepth: 7
    functionLinenumber: 598
    functionLinenumberEnd: 915
    functionName: do_test_txn_endtxn_errors
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_push_request_errors_array
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - RD_STR_ToF
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - TEST_FAIL
    - RD_KAFKA_V_VALUE
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - tmout_multip
    - rd_kafka_error_is_retriable
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - TIMING_STOP
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_endtxn_errors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:927,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:929,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:931,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:931,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:943,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:943,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:945,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:945,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:946,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:946,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:953,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:966,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:968,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:970,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:972,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:973,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:975,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:976,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:978,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:979,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:984,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 921
    functionDepth: 7
    functionLinenumber: 921
    functionLinenumberEnd: 987
    functionName: do_test_txn_endtxn_infinite
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - TIMING_STOP
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_endtxn_infinite(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1000,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1002,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1004,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1004,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1016,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1016,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1018,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1018,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1019,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1019,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1026,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1039,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1041,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1043,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1045,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1046,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1048,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1049,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1050,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1051,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1053,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1053,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1054,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1054,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1057,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1060,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1062,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1062,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1064,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1064,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1065,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1070,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 994
    functionDepth: 7
    functionLinenumber: 994
    functionLinenumberEnd: 1073
    functionName: do_test_txn_endtxn_timeout
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - TEST_SAY_ERROR
    - rd_kafka_error_name
    - rd_kafka_destroy
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - SUB_TEST_QUICK
    - TIMING_STOP
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_endtxn_timeout(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1088,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1093,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1096,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1096,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1108,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1108,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1110,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1110,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1111,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1111,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1115,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1120,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1122,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1124,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1126,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1127,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1129,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1130,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1131,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1132,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1134,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1134,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1135,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1135,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1138,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1141,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1143,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1143,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1145,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1145,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1146,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1151,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1081
    functionDepth: 7
    functionLinenumber: 1081
    functionLinenumberEnd: 1157
    functionName: do_test_txn_endtxn_timeout_inflight
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - TEST_SAY_ERROR
    - rd_kafka_error_name
    - rd_kafka_destroy
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - TIMING_STOP
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_endtxn_timeout_inflight(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1173,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1175,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1180,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1180,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1182,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1182,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1188,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1189,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1190,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1193,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1198,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1203,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1205,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1206,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1208,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1209,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1211,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1211,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1215,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1166
    functionDepth: 7
    functionLinenumber: 1166
    functionLinenumberEnd: 1218
    functionName: do_test_txn_req_cnt
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_mock_push_request_errors
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_topic_partition_list_new
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_abort_transaction
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_begin_transaction
    - TEST_CALL_ERROR__
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_txn_req_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1234,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1236,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1240,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1240,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1242,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1242,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1247,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1249,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1253,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1253,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1254,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1255,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1255,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1258,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1261,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1262,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1264,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1267,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1269,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1270,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1271,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1272,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1272,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1274,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1275,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1275,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1276,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1277,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1279,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1279,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1284,1
    - Dst: test_get_partition_count
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1288,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1289,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1291,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1291,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1293,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1297,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1297,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1298,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1299,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1299,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1301,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1302,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1303,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1304,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1304,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1305,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1307,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1307,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1312,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1314,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1314,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1316,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1316,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1317,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1318,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1318,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1320,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1324,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1325,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1326,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1329,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1330,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1331,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1331,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1335,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1336,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1338,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1339,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1342,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1343,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1344,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1346,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1346,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1350,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1225
    functionDepth: 8
    functionLinenumber: 1225
    functionLinenumberEnd: 1353
    functionName: do_test_txn_requires_abort_errors
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - test_get_partition_count
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_requires_abort_errors(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1382,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1384,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1390,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1391,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1391,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1393,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1395,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1398,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1399,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1399,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1401,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1401,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1403,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1406,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1407,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1409,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1412,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1415,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1417,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1418,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1420,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1420,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1422,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1424,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - down_coord
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1360
    functionDepth: 7
    functionLinenumber: 1360
    functionLinenumberEnd: 1429
    functionName: do_test_txn_broker_down_in_txn
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_CALL_ERROR__
    - rd_kafka_flush
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_sleep
    - rd_kafka_mock_broker_set_up
    - rd_kafka_mock_broker_set_down
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_broker_down_in_txn(rd_bool_t down_coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1443,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mcluster
    - transactional_id
    - broker_cnt
    - coord_idp
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1450
    functionName: set_next_coord
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_coordinator_set
    - TEST_SAY
    linkageType: ''
    returnType: void
    signature: "void set_next_coord(rd_kafka_mock_cluster_t *mcluster,\n                           const
      char *transactional_id,\n                           int broker_cnt,\n                           int32_t
      *coord_idp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1466,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1468,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1470,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1473,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1477,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1478,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1478,1
    - Dst: set_next_coord
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1484,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1487,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1487,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1489,1
    - Dst: set_next_coord
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1493,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1497,1
    - Dst: set_next_coord
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1502,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1508,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1508,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1512,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1512,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1517,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1456
    functionDepth: 7
    functionLinenumber: 1456
    functionLinenumberEnd: 1520
    functionName: do_test_txn_switch_coordinator
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_commit_transaction
    - test_produce_msgs2_nowait
    - TEST_SAY
    - SUB_TEST
    - test_timeout_set
    - create_txn_producer
    - rd_kafka_abort_transaction
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_mock_coordinator_set
    - rd_kafka_begin_transaction
    - TEST_CALL_ERROR__
    - set_next_coord
    - test_produce_msgs2
    linkageType: ''
    returnType: void
    signature: void do_test_txn_switch_coordinator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1535,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1537,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1539,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1543,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1544,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1544,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1546,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1546,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1550,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1551,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1557,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1558,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1559,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1562,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1564,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1564,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1567,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1568,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1572,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1575,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1575,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1577,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1527
    functionDepth: 7
    functionLinenumber: 1527
    functionLinenumberEnd: 1580
    functionName: do_test_txn_switch_coordinator_refresh
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_commit_transaction
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - TEST_SAY
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_mock_coordinator_set
    - rd_kafka_begin_transaction
    - TEST_CALL_ERROR__
    - test_produce_msgs2
    linkageType: ''
    returnType: void
    signature: void do_test_txn_switch_coordinator_refresh(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1594,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1596,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1598,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1599,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1600,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1602,1
    - Dst: rd_kafka_mock_cluster_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1605,1
    - Dst: rd_kafka_mock_set_apiversion
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1608,1
    - Dst: rd_kafka_brokers_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1611,1
    - Dst: rd_kafka_mock_cluster_bootstraps
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1611,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1615,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1616,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1617,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1618,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1620,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1621,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1621,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1624,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1625,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1625,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1626,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1628,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1628,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1629,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1630,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1632,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1633,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1635,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1637,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1587
    functionDepth: 6
    functionLinenumber: 1587
    functionLinenumberEnd: 1640
    functionName: do_test_txns_not_supported
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_error_name
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_mock_cluster_destroy
    - TEST_SAY
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_brokers_add
    - test_create_handle
    - rd_kafka_mock_set_apiversion
    - rd_kafka_mock_cluster_new
    - RD_KAFKA_V_KEY
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - rd_kafka_error_string
    - test_conf_set
    - rd_kafka_mock_cluster_bootstraps
    linkageType: ''
    returnType: void
    signature: void do_test_txns_not_supported(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1653,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1655,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1659,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1659,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1661,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1661,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1663,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1663,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1664,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1665,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1665,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1668,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1675,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1685,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1686,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1688,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1690,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1691,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1693,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1694,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1696,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1696,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1700,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1646
    functionDepth: 7
    functionLinenumber: 1646
    functionLinenumberEnd: 1703
    functionName: do_test_txns_send_offsets_concurrent_is_retried
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - rd_kafka_err2str
    - TEST_CALL_ERROR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txns_send_offsets_concurrent_is_retried(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1718,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1720,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1724,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1724,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1726,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1726,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1728,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1728,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1729,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1730,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1730,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1733,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1736,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1738,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1740,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1741,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1744,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1745,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1747,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1748,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1750,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1750,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1754,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1711
    functionDepth: 7
    functionLinenumber: 1711
    functionLinenumberEnd: 1757
    functionName: do_test_txns_send_offsets_non_eligible
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - rd_kafka_err2str
    - TEST_CALL_ERROR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txns_send_offsets_non_eligible(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1771,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1774,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1777,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1777,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1779,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1779,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1781,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1781,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1782,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1783,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1783,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1785,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1788,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1789,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1790,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1791,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1792,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1795,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1796,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1797,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1800,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1801,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1802,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1803,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1804,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1805,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1805,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1808,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1809,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1809,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1812,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1815,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1816,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1817,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1818,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1819,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1821,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1823,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1824,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1825,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1827,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1828,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1831,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1763
    functionDepth: 7
    functionLinenumber: 1763
    functionLinenumberEnd: 1834
    functionName: do_test_txns_no_timeout_crash
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - RD_KAFKA_V_VALUE
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_mock_broker_set_rtt
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txns_no_timeout_crash(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1846,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1846,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1847,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1849,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1851,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1853,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1854,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1856,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1857,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1857,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1858,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1859,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1859,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1860,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1861,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1861,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1862,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1862,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1864,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1864,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1866,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1870,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ApiKey
    - ErrorCode
    argTypes:
    - int16_t
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1840
    functionDepth: 7
    functionLinenumber: 1840
    functionLinenumberEnd: 1873
    functionName: do_test_txn_auth_failure
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_mock_push_request_errors
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_error_string
    - create_txn_producer
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - rd_kafka_ApiKey2str
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: "void do_test_txn_auth_failure(int16_t ApiKey,\n                                     rd_kafka_resp_err_t
      ErrorCode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1893,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1895,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1905,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1908,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1913,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1913,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1924,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1925,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1934,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1935,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1942,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1942,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1947,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1949,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1951,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1958,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1959,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1960,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1962,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1964,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1967,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1969,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1970,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1972,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1973,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1975,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1979,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1981,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1987,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1990,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1991,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1992,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1993,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1996,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:1997,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2004,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2005,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2010,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2013,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2013,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2019,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2021,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1881
    functionDepth: 7
    functionLinenumber: 1881
    functionLinenumberEnd: 2022
    functionName: do_test_txn_flush_timeout
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - rd_kafka_topic_partition_list_new
    - rd_kafka_mock_topic_create
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - rd_sleep
    - rd_kafka_error_string
    - rd_kafka_mock_broker_set_up
    - rd_kafka_mock_broker_set_down
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_flush_timeout(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2038,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2040,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2044,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2044,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2052,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2054,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2054,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2059,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2065,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2072,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2072,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2073,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2075,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2075,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2077,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2086,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2086,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2087,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2089,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2089,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2096,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2097,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2100,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2102,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2105,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2106,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2113,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2116,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2117,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2117,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2119,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2123,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2124,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2127,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2129,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2129,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2132,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2133,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2032
    functionDepth: 7
    functionLinenumber: 2032
    functionLinenumberEnd: 2140
    functionName: do_test_txn_coord_req_destroy
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_init_transactions
    - rd_kafka_producev
    - rd_kafka_consumer_group_metadata_destroy
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - test_timeout_set
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_coord_req_destroy(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_handle_mock_cluster
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2157,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2158,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2163,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2165,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2168,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2171,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2174,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2175,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2181,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2182,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2188,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 11
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2194
    functionName: multi_find_on_response_received_cb
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_kafka_handle_mock_cluster
    - TEST_SAY
    - rd_kafka_mock_broker_set_rtt
    - rd_atomic32_get
    - rd_kafka_mock_broker_set_up
    - rd_kafka_name
    - rd_kafka_mock_broker_set_down
    - rd_atomic32_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t multi_find_on_response_received_cb(rd_kafka_t
      *rk,\n                                   int sockfd,\n                                   const
      char *brokername,\n                                   int32_t brokerid,\n                                   int16_t
      ApiKey,\n                                   int16_t ApiVersion,\n                                   int32_t
      CorrId,\n                                   size_t size,\n                                   int64_t
      rtt,\n                                   rd_kafka_resp_err_t err,\n                                   void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2224,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2226,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2229,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2240,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2241,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2246,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2247,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2248,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2249,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2255,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2255,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2257,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2257,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2260,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2261,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2261,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2262,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2263,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2263,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2266,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2274,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2280,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2281,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2283,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2286,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2288,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2289,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2290,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2291,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2293,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2294,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2298,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2300,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2302,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2302,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2306,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2306,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2309,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2214
    functionDepth: 7
    functionLinenumber: 2214
    functionLinenumberEnd: 2314
    functionName: do_test_txn_coord_req_multi_find
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_coordinator_set
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - rd_atomic32_init
    - TEST_SAY
    - rd_kafka_err2str
    - rd_atomic32_get
    - RD_KAFKA_V_PARTITION
    - TEST_CALL_ERROR__
    - RD_KAFKA_V_VALUE
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_mock_topic_create
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - rd_kafka_mock_broker_set_rtt
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_coord_req_multi_find(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2348,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2351,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2353,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2354,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 11
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2360
    functionName: multi_addparts_response_received_cb
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - rd_atomic32_get
    - rd_kafka_name
    - rd_atomic32_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t multi_addparts_response_received_cb(rd_kafka_t
      *rk,\n                                    int sockfd,\n                                    const
      char *brokername,\n                                    int32_t brokerid,\n                                    int16_t
      ApiKey,\n                                    int16_t ApiVersion,\n                                    int32_t
      CorrId,\n                                    size_t size,\n                                    int64_t
      rtt,\n                                    rd_kafka_resp_err_t err,\n                                    void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2369,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2371,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2374,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2380,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2383,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2387,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2388,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2389,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2393,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2393,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2400,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2401,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2401,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2402,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2402,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2402,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2403,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2405,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2405,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2411,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2413,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2413,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2416,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2419,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2422,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2422,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2423,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2423,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2424,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2426,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2429,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2429,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2430,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2430,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2431,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2433,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2434,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2435,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2437,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2438,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2442,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2442,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2443,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2443,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2444,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2448,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2450,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2450,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2453,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2363
    functionDepth: 7
    functionLinenumber: 2363
    functionLinenumberEnd: 2458
    functionName: do_test_txn_addparts_req_multi
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - rd_atomic32_init
    - rd_atomic32_set
    - TEST_SAY
    - rd_atomic32_get
    - RD_KAFKA_V_PARTITION
    - TEST_CALL_ERROR__
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - SUB_TEST
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_usleep
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - RD_KAFKA_V_TOPIC
    - rd_kafka_mock_broker_set_rtt
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_addparts_req_multi(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2480,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2482,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2484,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2485,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2486,1
    - Dst: rd_kafka_mock_cluster_bootstraps
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2487,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2488,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2489,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2490,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2492,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2496,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2496,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2497,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2497,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2498,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2500,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2500,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2504,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2505,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2507,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2507,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2508,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2523,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2533,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2534,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2536,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2538,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2539,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2539,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2541,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2543,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2543,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2544,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2548,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2555,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2560,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2563,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2564,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2565,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2568,1
    - Dst: test_consumer_incremental_assign
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2578,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2579,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2581,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2585,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2586,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2588,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2469
    functionDepth: 7
    functionLinenumber: 2469
    functionLinenumberEnd: 2589
    functionName: do_test_unstable_offset_commit
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_incremental_assign
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_committed
    - TEST_CALL_ERROR__
    - rd_kafka_commit
    - test_create_consumer
    - TEST_CALL_ERR__
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - test_consumer_poll_exact
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - test_conf_init
    - test_conf_set
    - rd_kafka_begin_transaction
    - rd_kafka_mock_cluster_bootstraps
    linkageType: ''
    returnType: void
    signature: void do_test_unstable_offset_commit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2607,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2613,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2622,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2623,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2623,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2625,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2627,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2630,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2631,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2631,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2633,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2633,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2635,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2636,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2637,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2639,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2641,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2642,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2643,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2644,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2644,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2646,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2649,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2650,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2652,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2653,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2653,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2655,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2657,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2661,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2661,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2662,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2664,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2664,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2666,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2668,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2597
    functionDepth: 7
    functionLinenumber: 2597
    functionLinenumberEnd: 2674
    functionName: do_test_commit_after_msg_timeout
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - TEST_SAY_ERROR
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_kafka_mock_broker_set_up
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_mock_broker_set_down
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_commit_after_msg_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2691,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2693,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2696,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2699,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2704,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2704,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2709,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2709,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2714,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2714,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2715,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2715,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2716,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2717,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2721,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2726,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2734,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2734,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2735,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2735,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2736,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2737,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2737,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2738,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2738,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2739,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2740,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2740,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2741,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2741,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2742,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2746,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2747,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2749,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2753,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2753,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2754,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2755,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2756,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2758,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2759,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2759,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2762,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2763,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2764,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2765,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2767,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2768,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2770,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2770,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2772,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2772,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2774,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2777,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2777,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2781,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2781,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2783,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2783,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2784,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2784,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2785,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2787,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2787,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2789,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2682
    functionDepth: 7
    functionLinenumber: 2682
    functionLinenumberEnd: 2792
    functionName: do_test_out_of_order_seq
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - TIMING_STOP
    - rd_kafka_commit_transaction
    - rd_sleep
    - RD_KAFKA_V_TOPIC
    - rd_kafka_mock_broker_set_rtt
    - TIMING_START
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_out_of_order_seq(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2825,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2827,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2831,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2833,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2833,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2841,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2841,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2845,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2845,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2846,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2847,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2848,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2853,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2854,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2854,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2855,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2864,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2866,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2870,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2870,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2871,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2873,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2875,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2877,1
    - Dst: rd_kafka_mock_topic_set_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2878,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2883,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2884,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2885,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2886,1
    - Dst: rd_kafka_mock_cluster_bootstraps
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2887,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2888,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2889,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2890,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2892,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2893,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2895,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2898,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2814
    functionDepth: 7
    functionLinenumber: 2814
    functionLinenumberEnd: 2901
    functionName: do_test_topic_disappears_for_awhile
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - create_txn_producer
    - rd_kafka_begin_transaction
    - rd_kafka_destroy
    - TEST_SAY
    - RD_KAFKA_V_PARTITION
    - TEST_CALL_ERROR__
    - test_create_consumer
    - rd_kafka_metadata
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - test_consumer_subscribe
    - rd_kafka_mock_topic_set_error
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - tmout_multip
    - test_consumer_poll_exact
    - SUB_TEST_QUICK
    - TIMING_STOP
    - rd_kafka_producev
    - rd_kafka_commit_transaction
    - rd_sleep
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - test_conf_set
    - rd_kafka_metadata_destroy
    - rd_kafka_mock_cluster_bootstraps
    linkageType: ''
    returnType: void
    signature: void do_test_topic_disappears_for_awhile(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2933,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2935,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2937,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2940,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2931
    functionDepth: 1
    functionLinenumber: 2931
    functionLinenumberEnd: 2945
    functionName: delayed_up_cb
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_coordinator_set
    - rd_kafka_mock_broker_set_up
    - rd_sleep
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int delayed_up_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2961,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2961,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2966,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2968,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2973,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2974,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2975,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2979,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2981,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2981,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2982,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2982,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2983,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2983,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2984,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2984,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2985,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2986,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2988,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2997,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:2998,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3000,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3001,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3002,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3003,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3005,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3006,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3007,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3008,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3009,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3011,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3012,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3013,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3016,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3017,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3017,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3018,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3020,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - switch_coord
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 2947
    functionDepth: 7
    functionLinenumber: 2947
    functionLinenumberEnd: 3026
    functionName: do_test_disconnected_group_coord
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_coordinator_set
    - rd_kafka_send_offsets_to_transaction
    - TIMING_ASSERT
    - RD_STR_ToF
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - TEST_SAY
    - RD_KAFKA_V_PARTITION
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_topic_partition_list_new
    - thrd_create
    - rd_kafka_mock_topic_create
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - TIMING_STOP
    - rd_kafka_commit_transaction
    - rd_sleep
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - TIMING_START
    - thrd_join
    - rd_kafka_mock_broker_set_down
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_disconnected_group_coord(rd_bool_t switch_coord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3046,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3055,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3058,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3059,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3059,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3061,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3063,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3066,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3067,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3067,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3068,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3068,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3071,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3075,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3080,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3089,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3094,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3095,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3098,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3102,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3103,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3106,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3108,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3110,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3111,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3112,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3113,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3114,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3118,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3119,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3035
    functionDepth: 7
    functionLinenumber: 3035
    functionLinenumberEnd: 3127
    functionName: do_test_txn_coordinator_null_not_fatal
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_error_destroy
    - TEST_CALL_ERROR__
    - rd_kafka_flush
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_usleep
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_kafka_mock_broker_set_up
    - rd_kafka_error_string
    - rd_kafka_mock_broker_set_down
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_coordinator_null_not_fatal(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3141,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3145,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3146,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3147,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3148,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3150,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3153,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3154,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3155,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3158,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3159,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3160,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3160,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3162,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3163,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3165,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3167,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3172,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3173,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3174,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3177,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3178,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3179,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3179,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3181,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3182,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3184,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3186,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 3135
    functionDepth: 6
    functionLinenumber: 3135
    functionLinenumberEnd: 3189
    functionName: do_test_txn_resumable_init
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - test_conf_init
    - SUB_TEST
    - TIMING_START
    - TEST_SAY
    - rd_kafka_error_string
    - TEST_ASSERT
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - TIMING_ASSERT
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void do_test_txn_resumable_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - intermed_calls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3212
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3212
    functionName: RETRY_TXN_CALL__
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETRY_TXN_CALL__(call, intermed_calls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - call
    - ','
    - exp_err_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3229
    functionName: TXN_CALL_EXPECT_ERROR__
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TXN_CALL_EXPECT_ERROR__(call, exp_err_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3249,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3251,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3253,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3254,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3254,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3256,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3258,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3260,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3261,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3262,1
    - Dst: RETRY_TXN_CALL__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3266,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3267,1
    - Dst: TXN_CALL_EXPECT_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3268,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3268,1
    - Dst: RETRY_TXN_CALL__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3271,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3271,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3274,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3275,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3279,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3283,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3284,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3287,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3288,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3289,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3292,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3293,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3295,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3296,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3299,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3300,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3308,1
    - Dst: RETRY_TXN_CALL__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3310,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3311,1
    - Dst: TXN_CALL_EXPECT_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3312,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3312,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3315,1
    - Dst: RETRY_TXN_CALL__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3317,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3318,1
    - Dst: TXN_CALL_EXPECT_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3319,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3319,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3323,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 1
    argNames:
    - do_commit
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3237
    functionDepth: 7
    functionLinenumber: 3237
    functionLinenumberEnd: 3326
    functionName: do_test_txn_resumable_calls_timeout
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_coordinator_set
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_mock_broker_push_request_error_rtts
    - TXN_CALL_EXPECT_ERROR__
    - TEST_CALL_ERROR__
    - rd_kafka_abort_transaction
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_mock_topic_create
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_commit_transaction
    - RETRY_TXN_CALL__
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_resumable_calls_timeout(rd_bool_t do_commit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3344,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3346,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3348,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3349,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3349,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3351,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3353,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3355,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3357,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3357,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3359,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3359,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3361,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3365,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3366,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3371,1
    - Dst: TXN_CALL_EXPECT_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3373,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3373,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3378,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3380,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3383,1
    - Dst: TXN_CALL_EXPECT_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3385,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3385,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3390,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3392,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3395,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3395,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3397,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3398,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3398,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3401,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3402,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3404,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 1
    argNames:
    - do_commit
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3333
    functionDepth: 7
    functionLinenumber: 3333
    functionLinenumberEnd: 3407
    functionName: do_test_txn_resumable_calls_timeout_error
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_error_name
    - rd_kafka_mock_coordinator_set
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs2_nowait
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - TXN_CALL_EXPECT_ERROR__
    - TEST_CALL_ERROR__
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_commit_transaction
    - rd_sleep
    - rd_kafka_error_string
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_resumable_calls_timeout_error(rd_bool_t do_commit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3455,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3459,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3461,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3462,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3465,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3469,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3472,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3476,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3478,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3480,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3481,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3482,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3483,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3485,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3487,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3489,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3493,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3495,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3497,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3498,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3500,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3501,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3503,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3505,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3507,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3509,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3510,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3514,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3518,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3518,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3521,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3522,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3523,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3524,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3526,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3528,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3535
      start: 3433
    functionDepth: 1
    functionLinenumber: 3433
    functionLinenumberEnd: 3535
    functionName: txn_concurrent_thread_main
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - TEST_SAY_ERROR
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - TIMING_ASSERT
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_abort_transaction
    - mtx_unlock
    - TEST_FAIL
    - mtx_lock
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_init_transactions
    - rd_kafka_error_is_retriable
    - TIMING_STOP
    - rd_kafka_commit_transaction
    - rd_sleep
    - rd_kafka_consumer_group_metadata_destroy
    - TIMING_START
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: int
    signature: int txn_concurrent_thread_main(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3550,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3552,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3560,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3567,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3569,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3570,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3570,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3573,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3578,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3581,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3583,1
    - Dst: _start_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3592,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3593,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3593,1
    - Dst: _end_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3594,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3597,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3597,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3599,1
    - Dst: _start_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3602,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3603,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3604,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3605,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3607,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3608,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3609,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3610,1
    - Dst: _end_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3611,1
    - Dst: _start_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3614,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3615,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3615,1
    - Dst: _end_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3616,1
    - Dst: _start_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3618,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3619,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3619,1
    - Dst: _end_call
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3620,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3626,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3628,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3630,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3632,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 1
    argNames:
    - do_commit
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3537
    functionDepth: 7
    functionLinenumber: 3537
    functionLinenumberEnd: 3635
    functionName: do_test_txn_concurrent_operations
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - mtx_init
    - _start_call
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_destroy
    - test_produce_msgs2_nowait
    - rd_kafka_err2str
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - rd_kafka_abort_transaction
    - mtx_unlock
    - mtx_lock
    - rd_kafka_topic_partition_list_new
    - SUB_TEST
    - thrd_create
    - rd_kafka_mock_topic_create
    - _end_call
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_init_transactions
    - mtx_destroy
    - SUB_TEST_PASS
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - thrd_join
    - rd_kafka_mock_broker_set_rtt
    - test_timeout_set
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_concurrent_operations(rd_bool_t do_commit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - callname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3590
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3590
    functionName: _start_call
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _start_call(callname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3591
      start: 3590
    functionDepth: 0
    functionLinenumber: 3590
    functionLinenumberEnd: 3591
    functionName: _end_call
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _end_call()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3658,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3658,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3660,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3663,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3670,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3670,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3675,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3675,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3679,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3679,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3680,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3680,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3681,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3683,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3686,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3690,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3694,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3698,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3698,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3699,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3699,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3700,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3702,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3705,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3706,1
    - Dst: TEST_SAY_ERROR
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3708,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3709,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3709,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3710,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3712,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3713,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3714,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3714,1
    - Dst: rd_kafka_mock_broker_error_stack_cnt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3719,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3721,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3724,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3727,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3729,1
    - Dst: rd_kafka_mock_broker_error_stack_cnt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3731,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3733,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3736,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3741,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3743,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3746,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3648
    functionDepth: 7
    functionLinenumber: 3648
    functionLinenumberEnd: 3751
    functionName: do_test_txn_fenced_abort
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - rd_kafka_mock_broker_error_stack_cnt
    - TEST_ASSERT
    - create_txn_producer
    - TEST_SAY_ERROR
    - rd_kafka_mock_coordinator_set
    - rd_kafka_ApiKey2str
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_error_is_fatal
    - TEST_SAY
    - rd_kafka_mock_broker_push_request_error_rtts
    - RD_KAFKA_V_PARTITION
    - rd_kafka_error_destroy
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - RD_KAFKA_V_TOPIC
    - rd_kafka_fatal_error
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_fenced_abort(rd_kafka_resp_err_t error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3768,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3768,1
    - Dst: create_txn_producer
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3770,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3774,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3774,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3776,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3776,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3778,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3778,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3779,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3780,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3780,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3783,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3789,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3796,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3797,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3799,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3804,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3806,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3807,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3810,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3810,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3813,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3815,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3815,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3817,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3817,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3820,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3820,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3822,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3825,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - times_out
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3828
      start: 3758
    functionDepth: 7
    functionLinenumber: 3758
    functionLinenumberEnd: 3828
    functionName: do_test_txn_offset_commit_doesnt_retry_too_quickly
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - create_txn_producer
    - rd_kafka_topic_partition_list_add
    - rd_kafka_send_offsets_to_transaction
    - RD_STR_ToF
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - TEST_CALL_ERROR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_group_metadata_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_consumer_group_metadata_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: void do_test_txn_offset_commit_doesnt_retry_too_quickly(rd_bool_t times_out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3832,1
    - Dst: do_test_txn_recoverable_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3834,1
    - Dst: do_test_txn_fatal_idempo_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3836,1
    - Dst: do_test_txn_fenced_reinit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3838,1
    - Dst: do_test_txn_fenced_reinit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3839,1
    - Dst: do_test_txn_req_cnt
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3841,1
    - Dst: do_test_txn_requires_abort_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3843,1
    - Dst: do_test_txn_slow_reinit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3845,1
    - Dst: do_test_txn_slow_reinit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3846,1
    - Dst: do_test_txn_endtxn_errors
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3852,1
    - Dst: do_test_txn_endtxn_infinite
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3854,1
    - Dst: do_test_txn_endtxn_timeout
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3856,1
    - Dst: do_test_txn_endtxn_timeout_inflight
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3858,1
    - Dst: do_test_txn_broker_down_in_txn
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3861,1
    - Dst: do_test_txn_broker_down_in_txn
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3864,1
    - Dst: do_test_txns_not_supported
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3866,1
    - Dst: do_test_txns_send_offsets_concurrent_is_retried
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3868,1
    - Dst: do_test_txns_send_offsets_non_eligible
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3870,1
    - Dst: do_test_txn_coord_req_destroy
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3872,1
    - Dst: do_test_txn_coord_req_multi_find
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3874,1
    - Dst: do_test_txn_addparts_req_multi
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3876,1
    - Dst: do_test_txns_no_timeout_crash
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3878,1
    - Dst: do_test_txn_auth_failure
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3880,1
    - Dst: do_test_txn_auth_failure
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3884,1
    - Dst: do_test_txn_flush_timeout
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3888,1
    - Dst: do_test_unstable_offset_commit
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3890,1
    - Dst: do_test_commit_after_msg_timeout
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3892,1
    - Dst: do_test_txn_switch_coordinator
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3894,1
    - Dst: do_test_txn_switch_coordinator_refresh
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3896,1
    - Dst: do_test_out_of_order_seq
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3898,1
    - Dst: do_test_topic_disappears_for_awhile
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3900,1
    - Dst: do_test_disconnected_group_coord
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3902,1
    - Dst: do_test_disconnected_group_coord
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3904,1
    - Dst: do_test_txn_coordinator_null_not_fatal
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3906,1
    - Dst: do_test_txn_resumable_calls_timeout
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3908,1
    - Dst: do_test_txn_resumable_calls_timeout
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3910,1
    - Dst: do_test_txn_resumable_calls_timeout_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3912,1
    - Dst: do_test_txn_resumable_calls_timeout_error
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3914,1
    - Dst: do_test_txn_resumable_init
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3915,1
    - Dst: do_test_txn_concurrent_operations
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3917,1
    - Dst: do_test_txn_concurrent_operations
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3919,1
    - Dst: do_test_txn_fenced_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3921,1
    - Dst: do_test_txn_fenced_abort
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3923,1
    - Dst: do_test_txn_offset_commit_doesnt_retry_too_quickly
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3925,1
    - Dst: do_test_txn_offset_commit_doesnt_retry_too_quickly
      Src: /src/librdkafka/tests/0105-transactions_mock.c:3927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3831
    functionDepth: 9
    functionLinenumber: 3831
    functionLinenumberEnd: 3930
    functionName: main_0105_transactions_mock
    functionSourceFile: /src/librdkafka/tests/0105-transactions_mock.c
    functionUses: 0
    functionsReached:
    - do_test_topic_disappears_for_awhile
    - do_test_txn_endtxn_errors
    - do_test_txn_coord_req_multi_find
    - do_test_txn_resumable_calls_timeout
    - do_test_unstable_offset_commit
    - do_test_txns_send_offsets_non_eligible
    - do_test_txns_no_timeout_crash
    - do_test_txn_addparts_req_multi
    - do_test_txn_endtxn_infinite
    - do_test_txn_coord_req_destroy
    - do_test_txn_auth_failure
    - do_test_txns_not_supported
    - do_test_txn_switch_coordinator_refresh
    - do_test_txn_fenced_abort
    - do_test_txn_broker_down_in_txn
    - do_test_txn_offset_commit_doesnt_retry_too_quickly
    - do_test_txn_req_cnt
    - do_test_txn_switch_coordinator
    - do_test_txn_recoverable_errors
    - do_test_txn_slow_reinit
    - do_test_txn_endtxn_timeout_inflight
    - do_test_txn_flush_timeout
    - do_test_txn_fatal_idempo_errors
    - do_test_txn_resumable_init
    - do_test_txn_fenced_reinit
    - do_test_txn_requires_abort_errors
    - do_test_txns_send_offsets_concurrent_is_retried
    - do_test_txn_coordinator_null_not_fatal
    - do_test_commit_after_msg_timeout
    - do_test_txn_concurrent_operations
    - do_test_out_of_order_seq
    - do_test_disconnected_group_coord
    - do_test_txn_endtxn_timeout
    - do_test_txn_resumable_calls_timeout_error
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0105_transactions_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - topic
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: myAvgStatsCb::myAvgStatsCb
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myAvgStatsCb(std::string topic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0110-batch_size.cpp:53,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0110-batch_size.cpp:55,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0110-batch_size.cpp:55,1
    - Dst: myAvgStatsCb::read_batch_stats
      Src: /src/librdkafka/tests/0110-batch_size.cpp:58,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0110-batch_size.cpp:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: myAvgStatsCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - myAvgStatsCb::read_batch_stats
    - Test::Say
    - RdKafka::Event::str
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0110-batch_size.cpp:71,1
    - Dst: rapidjson::Pointer::IsValid
      Src: /src/librdkafka/tests/0110-batch_size.cpp:73,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:74,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:74,1
    - Dst: rapidjson::Pointer::GetParseErrorOffset
      Src: /src/librdkafka/tests/0110-batch_size.cpp:75,1
    - Dst: rapidjson::Pointer::GetParseErrorCode
      Src: /src/librdkafka/tests/0110-batch_size.cpp:76,1
    - Dst: rapidjson::GetValueByPointer
      Src: /src/librdkafka/tests/0110-batch_size.cpp:78,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0110-batch_size.cpp:80,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:80,1
    - Dst: rapidjson::Value*::GetInt
      Src: /src/librdkafka/tests/0110-batch_size.cpp:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - d
    - path
    - val
    argTypes:
    - rapidjson::Document
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: myAvgStatsCb::read_val
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 0
    functionsReached:
    - rapidjson::Pointer::GetParseErrorCode
    - Test::Fail
    - rapidjson::Value*::GetInt
    - rapidjson::Pointer::GetParseErrorOffset
    - tostr
    - std::string::c_str
    - Test::Say
    - rapidjson::Pointer::IsValid
    - rapidjson::GetValueByPointer
    linkageType: ''
    returnType: void
    signature: void read_val(rapidjson::Document &d, const std::string &path, int
      &val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0110-batch_size.cpp:90,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0110-batch_size.cpp:90,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:91,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:91,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0110-batch_size.cpp:92,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0110-batch_size.cpp:92,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0110-batch_size.cpp:93,1
    - Dst: myAvgStatsCb::read_val
      Src: /src/librdkafka/tests/0110-batch_size.cpp:95,1
    - Dst: myAvgStatsCb::read_val
      Src: /src/librdkafka/tests/0110-batch_size.cpp:96,1
    - Dst: myAvgStatsCb::read_val
      Src: /src/librdkafka/tests/0110-batch_size.cpp:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stats
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: myAvgStatsCb::read_batch_stats
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 1
    functionsReached:
    - rapidjson::GetParseError_En
    - Test::Fail
    - rapidjson::Document::GetErrorOffset
    - tostr
    - std::string::c_str
    - myAvgStatsCb::read_val
    - rapidjson::Document::GetParseError
    - rapidjson::Document::Parse
    linkageType: ''
    returnType: void
    signature: void read_batch_stats(const std::string &stats)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0110-batch_size.cpp:109,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0110-batch_size.cpp:114,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0110-batch_size.cpp:121,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0110-batch_size.cpp:124,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0110-batch_size.cpp:125,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0110-batch_size.cpp:127,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0110-batch_size.cpp:129,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:130,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0110-batch_size.cpp:132,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:134,1
    - Dst: memset
      Src: /src/librdkafka/tests/0110-batch_size.cpp:140,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0110-batch_size.cpp:144,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:147,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0110-batch_size.cpp:147,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0110-batch_size.cpp:150,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:150,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0110-batch_size.cpp:151,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0110-batch_size.cpp:153,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0110-batch_size.cpp:155,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0110-batch_size.cpp:157,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:157,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0110-batch_size.cpp:165,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0110-batch_size.cpp:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 170
    functionName: do_test_batch_size
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Conf*::set
    - Test::conf_init
    - RdKafka::Producer*::flush
    - tostr
    - thrd_create
    - RdKafka::err2str
    - memset
    - test_mk_topic_name
    - Test::Say
    - Test::conf_set
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void do_test_batch_size()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_batch_size
      Src: /src/librdkafka/tests/0110-batch_size.cpp:176,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0110-batch_size.cpp:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: main_0110_batch_size
    functionSourceFile: /src/librdkafka/tests/0110-batch_size.cpp
    functionUses: 0
    functionsReached:
    - do_test_batch_size
    - Test::Skip
    linkageType: ''
    returnType: int
    signature: int main_0110_batch_size(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: myLogCb::myLogCb
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myLogCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: myLogCb::expecting
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void expecting(bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: myLogCb::count
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int count()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0058-log.cpp:52,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0058-log.cpp:55,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0058-log.cpp:55,1
    - Dst: RdKafka::Event::severity
      Src: /src/librdkafka/tests/0058-log.cpp:55,1
    - Dst: RdKafka::Event::fac
      Src: /src/librdkafka/tests/0058-log.cpp:56,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0058-log.cpp:57,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0058-log.cpp:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: myLogCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::fac
    - Test::Fail
    - RdKafka::Event::severity
    - tostr
    - RdKafka::Event::str
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0058-log.cpp:70,1
    - Dst: myLogCb::myLogCb
      Src: /src/librdkafka/tests/0058-log.cpp:71,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0058-log.cpp:74,1
    - Dst: test_curr_name
      Src: /src/librdkafka/tests/0058-log.cpp:74,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0058-log.cpp:75,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0058-log.cpp:76,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0058-log.cpp:78,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0058-log.cpp:79,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0058-log.cpp:81,1
    - Dst: myLogCb::expecting
      Src: /src/librdkafka/tests/0058-log.cpp:82,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0058-log.cpp:83,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0058-log.cpp:85,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0058-log.cpp:90,1
    - Dst: RdKafka::Queue*::poll
      Src: /src/librdkafka/tests/0058-log.cpp:91,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0058-log.cpp:93,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0058-log.cpp:96,1
    - Dst: RdKafka::Producer*::set_log_queue
      Src: /src/librdkafka/tests/0058-log.cpp:97,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0058-log.cpp:99,1
    - Dst: myLogCb::expecting
      Src: /src/librdkafka/tests/0058-log.cpp:100,1
    - Dst: RdKafka::Queue*::poll
      Src: /src/librdkafka/tests/0058-log.cpp:102,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0058-log.cpp:104,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0058-log.cpp:106,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0058-log.cpp:106,1
    - Dst: myLogCb::count
      Src: /src/librdkafka/tests/0058-log.cpp:106,1
    - Dst: myLogCb::count
      Src: /src/librdkafka/tests/0058-log.cpp:107,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0058-log.cpp:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - what
    - main_queue
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: test_log
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Queue*::poll
    - RdKafka::Producer*::set_log_queue
    - Test::Fail
    - myLogCb::count
    - RdKafka::Conf*::set
    - tostr
    - thrd_create
    - Test::Say
    - myLogCb::myLogCb
    - test_curr_name
    - Test::conf_set
    - myLogCb::expecting
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void test_log(std::string what, bool main_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_log
      Src: /src/librdkafka/tests/0058-log.cpp:119,1
    - Dst: test_log
      Src: /src/librdkafka/tests/0058-log.cpp:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: main_0058_log
    functionSourceFile: /src/librdkafka/tests/0058-log.cpp
    functionUses: 0
    functionsReached:
    - test_log
    linkageType: ''
    returnType: int
    signature: int main_0058_log(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:61,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0073-headers.c:64,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/0073-headers.c:66,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0073-headers.c:69,1
    - Dst: rd_kafka_message_detach_headers
      Src: /src/librdkafka/tests/0073-headers.c:73,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:74,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:77,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:78,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:83,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:86,1
    - Dst: test_headers_dump
      Src: /src/librdkafka/tests/0073-headers.c:90,1
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/tests/0073-headers.c:92,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0073-headers.c:96,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0073-headers.c:102,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:103,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0073-headers.c:107,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0073-headers.c:109,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:115,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/0073-headers.c:122,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:125,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:129,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:141,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:146,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0073-headers.c:146,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0073-headers.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:157,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0073-headers.c:157,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:164,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0073-headers.c:169,1
    - Dst: rd_kafka_message_detach_headers
      Src: /src/librdkafka/tests/0073-headers.c:173,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:174,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:175,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:176,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/0073-headers.c:179,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:180,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:181,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/tests/0073-headers.c:182,1
    - Dst: expect_check
      Src: /src/librdkafka/tests/0073-headers.c:184,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 4
    argNames:
    - what
    - expected
    - rkmessage
    - is_const
    argTypes:
    - char*
    - struct expect*
    - rd_kafka_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 187
    functionName: expect_check
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 4
    functionsReached:
    - TEST_SAYL
    - rd_kafka_header_get_all
    - rd_kafka_message_headers
    - strcmp
    - rd_kafka_err2str
    - TEST_ASSERT
    - rd_kafka_headers_destroy
    - test_headers_dump
    - expect_check
    - strlen
    - memcpy
    - TEST_FAIL
    - rd_kafka_message_detach_headers
    linkageType: ''
    returnType: void
    signature: "void expect_check(const char *what,\n                         const
      struct expect *expected,\n                         rd_kafka_message_t *rkmessage,\n
      \                        int is_const)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_check
      Src: /src/librdkafka/tests/0073-headers.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - what
    - rkmessage
    - is_const
    argTypes:
    - char*
    - rd_kafka_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: msg_final_check
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - expect_check
    linkageType: ''
    returnType: void
    signature: void msg_final_check(const char *what, rd_kafka_message_t *rkmessage,
      int is_const)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_final_check
      Src: /src/librdkafka/tests/0073-headers.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: handle_consumed_msg
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - msg_final_check
    linkageType: ''
    returnType: void
    signature: void handle_consumed_msg(rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:217,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:218,1
    - Dst: msg_final_check
      Src: /src/librdkafka/tests/0073-headers.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 44
    functionsReached:
    - msg_final_check
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: expect_check
      Src: /src/librdkafka/tests/0073-headers.c:241,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/tests/0073-headers.c:243,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0073-headers.c:247,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0073-headers.c:248,1
    - Dst: rd_kafka_header_remove
      Src: /src/librdkafka/tests/0073-headers.c:249,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/tests/0073-headers.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 253
    functionName: on_send1
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_header_remove
    - rd_kafka_message_headers
    - rd_kafka_header_add
    - expect_check
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send1(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_check
      Src: /src/librdkafka/tests/0073-headers.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: on_send2
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - expect_check
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send2(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0073-headers.c:280,1
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0073-headers.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: on_new
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 7
    functionsReached:
    - rd_kafka_interceptor_add_on_send
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new(rd_kafka_t *rk,\n                                  const
      rd_kafka_conf_t *conf,\n                                  void *ic_opaque,\n
      \                                 char *errstr,\n                                  size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0073-headers.c:292,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0073-headers.c:293,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0073-headers.c:294,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0073-headers.c:296,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0073-headers.c:298,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0073-headers.c:302,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0073-headers.c:303,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0073-headers.c:303,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0073-headers.c:304,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0073-headers.c:305,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:306,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:306,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0073-headers.c:310,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0073-headers.c:311,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0073-headers.c:311,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0073-headers.c:312,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0073-headers.c:313,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:314,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:315,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:316,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:317,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:318,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0073-headers.c:318,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:319,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0073-headers.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0073-headers.c:321,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0073-headers.c:322,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0073-headers.c:329,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0073-headers.c:329,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0073-headers.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - topic
    - msgcnt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 286
    functionDepth: 6
    functionLinenumber: 286
    functionLinenumberEnd: 332
    functionName: do_produce
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - test_create_handle
    - rd_kafka_destroy
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - rd_kafka_flush
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TEST_ASSERT
    - rd_kafka_err2str
    - RD_KAFKA_V_HEADER
    - RD_KAFKA_V_PARTITION
    - test_conf_set
    - strlen
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: void do_produce(const char *topic, int msgcnt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0073-headers.c:338,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0073-headers.c:340,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0073-headers.c:341,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0073-headers.c:344,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0073-headers.c:346,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0073-headers.c:353,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0073-headers.c:358,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0073-headers.c:361,1
    - Dst: handle_consumed_msg
      Src: /src/librdkafka/tests/0073-headers.c:363,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0073-headers.c:365,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0073-headers.c:368,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0073-headers.c:369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - topic
    - msgcnt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 334
    functionDepth: 7
    functionLinenumber: 334
    functionLinenumberEnd: 370
    functionName: do_consume
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 1
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_assign
    - handle_consumed_msg
    - rd_kafka_message_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_message_errstr
    - test_consumer_close
    - rd_kafka_topic_partition_list_add
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_destroy
    - TEST_FAIL
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_consume(const char *topic, int msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0073-headers.c:374,1
    - Dst: do_produce
      Src: /src/librdkafka/tests/0073-headers.c:377,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0073-headers.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 381
    functionName: main_0073_headers
    functionSourceFile: /src/librdkafka/tests/0073-headers.c
    functionUses: 0
    functionsReached:
    - do_produce
    - do_consume
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0073_headers(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:42,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:46,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:47,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:49,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:51,1
    - Dst: RdKafka::Producer*::c_ptr
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:58,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:60,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:62,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:63,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:65,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:67,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:74,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:76,1
    - Dst: RdKafka::Topic*::c_ptr
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:78,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:80,1
    - Dst: RdKafka::Topic*::name
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:82,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:83,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:85,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0078-c_from_cpp.cpp:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 95
    functionName: main_0078_c_from_cpp
    functionSourceFile: /src/librdkafka/tests/0078-c_from_cpp.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Topic*::c_ptr
    - Test::Fail
    - RdKafka::Producer*::name
    - RdKafka::Conf*::set
    - RdKafka::Producer*::c_ptr
    - thrd_create
    - rd_kafka_name
    - Test::Say
    - rd_kafka_topic_name
    - RdKafka::Topic*::name
    linkageType: ''
    returnType: int
    signature: int main_0078_c_from_cpp(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:39,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0063-clusterid.cpp:46,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:47,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0063-clusterid.cpp:49,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:51,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0063-clusterid.cpp:57,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:58,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:59,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0063-clusterid.cpp:60,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:62,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:72,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0063-clusterid.cpp:72,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0063-clusterid.cpp:73,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:74,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:75,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:78,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0063-clusterid.cpp:79,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:80,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:81,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:84,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:90,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0063-clusterid.cpp:90,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0063-clusterid.cpp:91,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:92,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:94,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0063-clusterid.cpp:95,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 101
    functionName: do_test_clusterid
    functionSourceFile: /src/librdkafka/tests/0063-clusterid.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - Test::conf_init
    - thrd_create
    - Test::Say
    - std::string::empty
    - RdKafka::Producer*::clusterid
    - Test::conf_set
    - tmout_multip
    linkageType: ''
    returnType: void
    signature: void do_test_clusterid(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:110,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0063-clusterid.cpp:117,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:118,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0063-clusterid.cpp:120,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:122,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0063-clusterid.cpp:128,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:129,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0063-clusterid.cpp:130,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0063-clusterid.cpp:131,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:133,1
    - Dst: RdKafka::Producer*::controllerid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:140,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0063-clusterid.cpp:140,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:142,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:143,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0063-clusterid.cpp:143,1
    - Dst: RdKafka::Producer*::controllerid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:147,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:149,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0063-clusterid.cpp:150,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0063-clusterid.cpp:150,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:154,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0063-clusterid.cpp:154,1
    - Dst: RdKafka::Producer*::controllerid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:160,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0063-clusterid.cpp:160,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:162,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0063-clusterid.cpp:163,1
    - Dst: RdKafka::Producer*::controllerid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:165,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0063-clusterid.cpp:167,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0063-clusterid.cpp:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 172
    functionName: do_test_controllerid
    functionSourceFile: /src/librdkafka/tests/0063-clusterid.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - Test::conf_init
    - tostr
    - thrd_create
    - RdKafka::Producer*::controllerid
    - Test::Say
    - Test::conf_set
    - tmout_multip
    linkageType: ''
    returnType: void
    signature: void do_test_controllerid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_clusterid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:176,1
    - Dst: do_test_controllerid
      Src: /src/librdkafka/tests/0063-clusterid.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: main_0063_clusterid
    functionSourceFile: /src/librdkafka/tests/0063-clusterid.cpp
    functionUses: 0
    functionsReached:
    - do_test_clusterid
    - do_test_controllerid
    linkageType: ''
    returnType: int
    signature: int main_0063_clusterid(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0044-partition_cnt.c:54,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0044-partition_cnt.c:60,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0044-partition_cnt.c:61,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0044-partition_cnt.c:62,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0044-partition_cnt.c:64,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0044-partition_cnt.c:67,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0044-partition_cnt.c:68,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0044-partition_cnt.c:68,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0044-partition_cnt.c:70,1
    - Dst: test_create_partitions
      Src: /src/librdkafka/tests/0044-partition_cnt.c:73,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0044-partition_cnt.c:75,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0044-partition_cnt.c:78,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0044-partition_cnt.c:80,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0044-partition_cnt.c:82,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0044-partition_cnt.c:83,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0044-partition_cnt.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 10
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: test_producer_partition_cnt_change
    functionSourceFile: /src/librdkafka/tests/0044-partition_cnt.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - test_wait_delivery
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - test_create_topic_wait_exists
    - tsprintf
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    - test_create_partitions
    - test_produce_msgs_nowait
    - test_create_topic_object
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void test_producer_partition_cnt_change(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0044-partition_cnt.c:88,1
    - Dst: test_producer_partition_cnt_change
      Src: /src/librdkafka/tests/0044-partition_cnt.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 11
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: main_0044_partition_cnt
    functionSourceFile: /src/librdkafka/tests/0044-partition_cnt.c
    functionUses: 0
    functionsReached:
    - test_can_create_topics
    - test_producer_partition_cnt_change
    linkageType: ''
    returnType: int
    signature: int main_0044_partition_cnt(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0000-unittests.c:39,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0000-unittests.c:43,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0000-unittests.c:44,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0000-unittests.c:46,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0000-unittests.c:49,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0000-unittests.c:51,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0000-unittests.c:53,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0000-unittests.c:54,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0000-unittests.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 57
    functionName: show_build_opts
    functionSourceFile: /src/librdkafka/tests/0000-unittests.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - TEST_SAY
    - TEST_ASSERT
    - test_conf_set
    - rd_kafka_new
    - test_conf_get
    linkageType: ''
    returnType: void
    signature: void show_build_opts(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: show_build_opts
      Src: /src/librdkafka/tests/0000-unittests.c:66,1
    - Dst: rd_kafka_unittest
      Src: /src/librdkafka/tests/0000-unittests.c:68,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0000-unittests.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: main_0000_unittests
    functionSourceFile: /src/librdkafka/tests/0000-unittests.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - show_build_opts
    - rd_kafka_unittest
    linkageType: ''
    returnType: int
    signature: int main_0000_unittests(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:62,1
    - Dst: std::ifstream::fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:63,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:64,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:64,1
    - Dst: std::ifstream::tellg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:66,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:68,1
    - Dst: std::ifstream::read
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:69,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:69,1
    - Dst: std::ifstream::close
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: TestSSLVerify::read_file
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::tellg
    - Test::Fail
    - strerror
    - std::ifstream::seekg
    - std::string::c_str
    - std::vector::resize
    - std::ifstream::fail
    - std::ifstream::close
    - std::ifstream::read
    - std::vector::data
    linkageType: ''
    returnType: std::vector<char>
    signature: std::vector<char> read_file(const std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verify_ok
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: TestSSLVerify::TestVerifyCb::TestVerifyCb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void TestVerifyCb(bool verify_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: ~TestVerifyCb()
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - mtx_destroy
    linkageType: ''
    returnType: void
    signature: void ~TestVerifyCb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:102,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:104,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:104,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - broker_name
    - broker_id
    - x509_error
    - depth
    - buf
    - size
    - errstr
    argTypes:
    - std::string
    - int32_t
    - int*
    - int
    - char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: TestSSLVerify::TestVerifyCb::ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - tostr
    - mtx_unlock
    - Test::Say
    - mtx_lock
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cert_verify_cb(const std::string &broker_name,\n                          int32_t
      broker_id,\n                          int *x509_error,\n                          int
      depth,\n                          const char *buf,\n                          size_t
      size,\n                          std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - should_succeed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: TestSSLVerify::TestEventCb::TestEventCb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEventCb(bool should_succeed)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:134,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:136,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:136,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:140,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:140,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:141,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:142,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:143,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:146,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:146,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:147,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:149,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:149,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:150,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:155,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:160,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: TestSSLVerify::TestEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - Test::Fail
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:188,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:189,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:190,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:191,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:195,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:195,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:197,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:207,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:208,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:209,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:211,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:214,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - conf
    - loc_prop
    - pem_prop
    - cert_type
    - use_conf_value_file
    argTypes:
    - RdKafka::Conf*
    - std::string
    - std::string
    - RdKafka::CertificateType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 216
    functionName: TestSSLVerify::conf_location_to_pem
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - Test::Fail
    - std::istreambuf_iterator<char>
    - RdKafka::Conf*::set
    - test_getenv
    - std::string::c_str
    - Test::Say
    - RdKafka::Conf*::get
    linkageType: ''
    returnType: void
    signature: "void conf_location_to_pem(RdKafka::Conf *conf,\n                                 std::string
      loc_prop,\n                                 std::string pem_prop,\n                                 RdKafka::CertificateType
      cert_type,\n                                 bool use_conf_value_file)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:239,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:240,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:241,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:242,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:246,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:246,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:248,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:257,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:257,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:261,1
    - Dst: std::ifstream::fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:262,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:263,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:263,1
    - Dst: std::ifstream::tellg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:264,1
    - Dst: std::ifstream::seekg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:265,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:267,1
    - Dst: std::ifstream::read
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:268,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:268,1
    - Dst: std::ifstream::close
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:269,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:271,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:271,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:273,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - conf
    - loc_prop
    - cert_type
    - encoding
    - use_conf_value_file
    argTypes:
    - RdKafka::Conf*
    - std::string
    - RdKafka::CertificateType
    - RdKafka::CertificateEncoding
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: TestSSLVerify::conf_location_to_setter
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - std::ifstream::tellg
    - c_str
    - Test::Fail
    - RdKafka::Conf*::set_ssl_cert
    - strerror
    - RdKafka::Conf*::set
    - test_getenv
    - std::ifstream::seekg
    - tostr
    - std::string::c_str
    - std::vector::resize
    - std::ifstream::fail
    - std::ifstream::close
    - Test::Say
    - std::ifstream::read
    - RdKafka::Conf*::get
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void conf_location_to_setter(RdKafka::Conf *conf,\n                                    std::string
      loc_prop,\n                                    RdKafka::CertificateType cert_type,\n
      \                                   RdKafka::CertificateEncoding encoding,\n
      \                                   bool use_conf_value_file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: TestSSLVerify::is_client_auth_required
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - test_getenv
    linkageType: ''
    returnType: bool
    signature: bool is_client_auth_required()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:342,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:350,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:354,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:355,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:357,1
    - Dst: TestSSLVerify::is_client_auth_required
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:362,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:366,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:367,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:381,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:383,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:385,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:387,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:388,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:390,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:392,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:394,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:398,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:399,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:400,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:408,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:411,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:415,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:418,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:425,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:427,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:431,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:434,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:437,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:439,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:441,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:443,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:445,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:450,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:452,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:455,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:458,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:460,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:461,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:466,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:468,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:469,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:475,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 10
    argNames:
    - line
    - verify_ok
    - untrusted_client_key
    - untrusted_client_key_intermediate_ca
    - load_key
    - key_enc
    - load_pub
    - pub_enc
    - load_ca
    - ca_enc
    argTypes:
    - int
    - bool
    - bool
    - bool
    - cert_load_t
    - RdKafka::CertificateEncoding
    - cert_load_t
    - RdKafka::CertificateEncoding
    - cert_load_t
    - RdKafka::CertificateEncoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 476
    functionName: TestSSLVerify::do_test_verify
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - TestSSLVerify::is_client_auth_required
    - Test::Fail
    - mtx_lock
    - Test::conf_init
    - RdKafka::Conf*::set
    - TestSSLVerify::conf_location_to_setter
    - Test::Skip
    - tostr
    - thrd_create
    - RdKafka::Producer*::clusterid
    - Test::Say
    - std::string::empty
    - RdKafka::Conf*::get
    - mtx_unlock
    - TestSSLVerify::conf_location_to_pem
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: "void do_test_verify(const int line,\n                           bool
      verify_ok,\n                           bool untrusted_client_key,\n                           bool
      untrusted_client_key_intermediate_ca,\n                           cert_load_t
      load_key,\n                           RdKafka::CertificateEncoding key_enc,\n
      \                          cert_load_t load_pub,\n                           RdKafka::CertificateEncoding
      pub_enc,\n                           cert_load_t load_ca,\n                           RdKafka::CertificateEncoding
      ca_enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:484,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:488,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:489,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:491,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:492,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:494,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:494,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:495,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:497,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:497,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:498,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:500,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:501,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:501,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:502,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:505,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:505,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:506,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:508,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:509,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:509,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:510,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:512,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:512,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:513,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:515,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:516,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:516,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:517,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:520,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:523,1
    - Dst: std::string::find
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:525,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:526,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 529
    functionName: TestSSLVerify::do_test_bad_calls
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - Test::Fail
    - RdKafka::Conf*::set_ssl_cert
    - test_getenv
    - RdKafka::Conf*::set
    - std::vector::size
    - thrd_create
    - TestSSLVerify::read_file
    - std::string::find
    - Test::Say
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void do_test_bad_calls()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:62,1
    - Dst: std::ifstream::fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:63,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:64,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:64,1
    - Dst: std::ifstream::tellg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:65,1
    - Dst: std::ifstream::seekg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:66,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:68,1
    - Dst: std::ifstream::read
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:69,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:69,1
    - Dst: std::ifstream::close
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: TestSSLVerify::read_file
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::tellg
    - Test::Fail
    - strerror
    - std::ifstream::seekg
    - std::string::c_str
    - std::vector::resize
    - std::ifstream::fail
    - std::ifstream::close
    - std::ifstream::read
    - std::vector::data
    linkageType: ''
    returnType: std::vector<char>
    signature: std::vector<char> read_file(const std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - verify_ok
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: TestSSLVerify::TestVerifyCb::TestVerifyCb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void TestVerifyCb(bool verify_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: ~TestVerifyCb()
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - mtx_destroy
    linkageType: ''
    returnType: void
    signature: void ~TestVerifyCb()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:102,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:104,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:104,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - broker_name
    - broker_id
    - x509_error
    - depth
    - buf
    - size
    - errstr
    argTypes:
    - std::string
    - int32_t
    - int*
    - int
    - char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: TestSSLVerify::TestVerifyCb::ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - tostr
    - mtx_unlock
    - Test::Say
    - mtx_lock
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cert_verify_cb(const std::string &broker_name,\n                          int32_t
      broker_id,\n                          int *x509_error,\n                          int
      depth,\n                          const char *buf,\n                          size_t
      size,\n                          std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - should_succeed
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: TestSSLVerify::TestEventCb::TestEventCb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestEventCb(bool should_succeed)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:134,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:136,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:136,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:140,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:140,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:141,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:142,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:143,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:146,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:146,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:147,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:149,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:149,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:150,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:155,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:160,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 166
    functionName: TestSSLVerify::TestEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - Test::Fail
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:188,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:189,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:190,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:191,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:195,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:195,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:197,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:207,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:208,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:209,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:211,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:214,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - conf
    - loc_prop
    - pem_prop
    - cert_type
    - use_conf_value_file
    argTypes:
    - RdKafka::Conf*
    - std::string
    - std::string
    - RdKafka::CertificateType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 216
    functionName: TestSSLVerify::conf_location_to_pem
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 1
    functionsReached:
    - c_str
    - Test::Fail
    - std::istreambuf_iterator<char>
    - RdKafka::Conf*::set
    - test_getenv
    - std::string::c_str
    - Test::Say
    - RdKafka::Conf*::get
    linkageType: ''
    returnType: void
    signature: "void conf_location_to_pem(RdKafka::Conf *conf,\n                                 std::string
      loc_prop,\n                                 std::string pem_prop,\n                                 RdKafka::CertificateType
      cert_type,\n                                 bool use_conf_value_file)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:239,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:240,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:241,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:242,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:246,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:246,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:248,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:257,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:257,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:261,1
    - Dst: std::ifstream::fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:262,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:263,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:263,1
    - Dst: std::ifstream::tellg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:264,1
    - Dst: std::ifstream::seekg
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:265,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:267,1
    - Dst: std::ifstream::read
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:268,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:268,1
    - Dst: std::ifstream::close
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:269,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:271,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:271,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:273,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - conf
    - loc_prop
    - cert_type
    - encoding
    - use_conf_value_file
    argTypes:
    - RdKafka::Conf*
    - std::string
    - RdKafka::CertificateType
    - RdKafka::CertificateEncoding
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 276
    functionName: TestSSLVerify::conf_location_to_setter
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 1
    functionsReached:
    - std::ifstream::tellg
    - c_str
    - Test::Fail
    - RdKafka::Conf*::set_ssl_cert
    - strerror
    - RdKafka::Conf*::set
    - test_getenv
    - std::ifstream::seekg
    - tostr
    - std::string::c_str
    - std::vector::resize
    - std::ifstream::fail
    - std::ifstream::close
    - Test::Say
    - std::ifstream::read
    - RdKafka::Conf*::get
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: "void conf_location_to_setter(RdKafka::Conf *conf,\n                                    std::string
      loc_prop,\n                                    RdKafka::CertificateType cert_type,\n
      \                                   RdKafka::CertificateEncoding encoding,\n
      \                                   bool use_conf_value_file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: TestSSLVerify::is_client_auth_required
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 1
    functionsReached:
    - test_getenv
    linkageType: ''
    returnType: bool
    signature: bool is_client_auth_required()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tostr
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:342,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:350,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:354,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:355,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:357,1
    - Dst: TestSSLVerify::is_client_auth_required
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:362,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:366,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:367,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:381,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:383,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:385,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:387,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:388,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:390,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:392,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:394,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:398,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:399,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:400,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:408,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:411,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:415,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:418,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:425,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:427,1
    - Dst: TestSSLVerify::conf_location_to_pem
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:431,1
    - Dst: TestSSLVerify::conf_location_to_setter
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:434,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:437,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:439,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:441,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:443,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:445,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:450,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:452,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:455,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:458,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:460,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:461,1
    - Dst: RdKafka::Producer*::clusterid
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:466,1
    - Dst: std::string::empty
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:468,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:469,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:475,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 10
    argNames:
    - line
    - verify_ok
    - untrusted_client_key
    - untrusted_client_key_intermediate_ca
    - load_key
    - key_enc
    - load_pub
    - pub_enc
    - load_ca
    - ca_enc
    argTypes:
    - int
    - bool
    - bool
    - bool
    - cert_load_t
    - RdKafka::CertificateEncoding
    - cert_load_t
    - RdKafka::CertificateEncoding
    - cert_load_t
    - RdKafka::CertificateEncoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 476
    functionName: TestSSLVerify::do_test_verify
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - TestSSLVerify::is_client_auth_required
    - Test::Fail
    - mtx_lock
    - Test::conf_init
    - RdKafka::Conf*::set
    - TestSSLVerify::conf_location_to_setter
    - Test::Skip
    - tostr
    - thrd_create
    - RdKafka::Producer*::clusterid
    - Test::Say
    - std::string::empty
    - RdKafka::Conf*::get
    - mtx_unlock
    - TestSSLVerify::conf_location_to_pem
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: "void do_test_verify(const int line,\n                           bool
      verify_ok,\n                           bool untrusted_client_key,\n                           bool
      untrusted_client_key_intermediate_ca,\n                           cert_load_t
      load_key,\n                           RdKafka::CertificateEncoding key_enc,\n
      \                          cert_load_t load_pub,\n                           RdKafka::CertificateEncoding
      pub_enc,\n                           cert_load_t load_ca,\n                           RdKafka::CertificateEncoding
      ca_enc)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:484,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:488,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:489,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:491,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:492,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:494,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:494,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:495,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:497,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:497,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:498,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:500,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:501,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:501,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:502,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:505,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:505,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:506,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:508,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:509,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:509,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:510,1
    - Dst: TestSSLVerify::read_file
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:512,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:512,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:513,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:515,1
    - Dst: std::vector::data
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:516,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:516,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:517,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:520,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:523,1
    - Dst: std::string::find
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:525,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:526,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 529
    functionName: TestSSLVerify::do_test_bad_calls
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - c_str
    - Test::Fail
    - RdKafka::Conf*::set_ssl_cert
    - test_getenv
    - RdKafka::Conf*::set
    - std::vector::size
    - thrd_create
    - TestSSLVerify::read_file
    - std::string::find
    - Test::Say
    - std::vector::data
    linkageType: ''
    returnType: void
    signature: void do_test_bad_calls()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_check_builtin
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:552,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:553,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:557,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:558,1
    - Dst: do_test_bad_calls
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:563,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:570,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:574,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:580,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:584,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:588,1
    - Dst: test_getenv
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:595,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:596,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:601,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:604,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:608,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:611,1
    - Dst: do_test_verify
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 619
    functionName: main_0097_ssl_verify
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - do_test_verify
    - test_getenv
    - do_test_bad_calls
    - Test::Skip
    - Test::Say
    - test_check_builtin
    linkageType: ''
    returnType: int
    signature: int main_0097_ssl_verify(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_check_builtin
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:623,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:624,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:634,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:638,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:639,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:640,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:641,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:642,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:646,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:649,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0097-ssl_verify.cpp:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 657
    functionName: main_0097_ssl_verify_local
    functionSourceFile: /src/librdkafka/tests/0097-ssl_verify.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Conf*::set
    - Test::Skip
    - thrd_create
    - Test::Say
    - test_check_builtin
    linkageType: ''
    returnType: int
    signature: int main_0097_ssl_verify_local(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:59,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:64,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:67,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:70,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:71,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:73,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:78,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:79,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:80,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:82,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:84,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:90,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:93,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:98,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 104
    functionName: consumer_batch_queue
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_free
    - TEST_SAY
    - TIMING_START
    - rd_kafka_message_errstr
    - TEST_ASSERT
    - rd_kafka_message_destroy
    - TIMING_STOP
    - rd_kafka_name
    - TEST_WARN
    - rd_kafka_consume_batch_queue
    - test_msgver_add_msg
    - TEST_FAIL
    - malloc
    linkageType: ''
    returnType: int
    signature: int consumer_batch_queue(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:127,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:129,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:130,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:131,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:133,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:134,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:137,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:139,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:142,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:146,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:148,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:149,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:152,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:163,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:165,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:167,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:168,1
    - Dst: rd_kafka_topic_partition_list_set_offset
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:169,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:171,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:173,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:177,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:179,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:183,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:185,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:187,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:189,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:191,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 107
    functionDepth: 10
    functionLinenumber: 107
    functionLinenumberEnd: 194
    functionName: do_test_consume_batch_with_seek
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - rd_kafka_seek_partitions
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - test_produce_msgs_easy
    - rd_kafka_topic_partition_list_set_offset
    - test_consumer_close
    - test_msgver_verify
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - thrd_create
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_msgver_init
    - thrd_join
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_with_seek(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:217,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:219,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:220,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:221,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:223,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:224,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:227,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:229,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:232,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:236,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:238,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:239,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:242,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:253,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:255,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:257,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:258,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:261,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:262,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:264,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:267,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:269,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:274,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:275,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:278,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:280,1
    - Dst: consumer_batch_queue
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:283,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:285,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:290,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:292,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:294,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:296,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:298,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 197
    functionDepth: 10
    functionLinenumber: 197
    functionLinenumberEnd: 301
    functionName: do_test_consume_batch_with_pause_and_resume_different_batch
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - test_produce_msgs_easy
    - test_consumer_close
    - consumer_batch_queue
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - thrd_create
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_msgver_verify_part
    - rd_kafka_resume_partitions
    - test_msgver_init
    - rd_sleep
    - test_conf_init
    - thrd_join
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_with_pause_and_resume_different_batch(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:322,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:324,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:325,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:326,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:328,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:329,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:332,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:334,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:337,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:341,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:343,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:344,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:347,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:358,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:360,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:362,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:363,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:366,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:367,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:369,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:372,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:374,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:376,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:379,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:381,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:386,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:388,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:390,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:392,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:394,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 304
    functionDepth: 10
    functionLinenumber: 304
    functionLinenumberEnd: 397
    functionName: do_test_consume_batch_with_pause_and_resume_same_batch
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - test_produce_msgs_easy
    - test_consumer_close
    - test_msgver_verify
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - thrd_create
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_resume_partitions
    - test_msgver_init
    - rd_sleep
    - test_conf_init
    - thrd_join
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_with_pause_and_resume_same_batch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:417,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:419,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:420,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:421,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:422,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:424,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:425,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:428,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:430,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:433,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:439,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:440,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:441,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:442,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:445,1
    - Dst: consumer_batch_queue
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:458,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:459,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:461,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:462,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:463,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:466,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:471,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:473,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 400
    functionDepth: 10
    functionLinenumber: 400
    functionLinenumberEnd: 476
    functionName: do_test_consume_batch_store_offset
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - test_produce_msgs_easy
    - test_consumer_close
    - consumer_batch_queue
    - test_msgver_verify
    - rd_kafka_commit
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - test_id_generate
    - test_msgver_clear
    - SUB_TEST_PASS
    - test_msgver_init
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_store_offset(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:480,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:499,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:501,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:503,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:505,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:506,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:507,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:509,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:511,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:513,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:513,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:518,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:519,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:519,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:520,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:522,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:522,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:527,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:528,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:528,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:529,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:531,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:531,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:533,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:535,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:540,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:541,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:542,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:543,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:544,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:546,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:547,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:550,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:552,1
    - Dst: test_msgver_ignore_eof
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:553,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:566,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:568,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:570,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:571,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:574,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:575,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:577,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:580,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:582,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:584,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:587,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:589,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:591,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:593,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:597,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:599,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:601,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:603,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:605,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 479
    functionDepth: 10
    functionLinenumber: 479
    functionLinenumberEnd: 608
    functionName: do_test_consume_batch_control_msgs
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - test_produce_msgs2
    - rd_kafka_destroy
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_committed
    - rd_kafka_abort_transaction
    - TEST_CALL_ERROR__
    - test_create_consumer
    - TEST_FAIL
    - rd_kafka_commit
    - test_create_handle
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - thrd_create
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_init_transactions
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_resume_partitions
    - rd_kafka_commit_transaction
    - test_msgver_init
    - test_msgver_ignore_eof
    - rd_sleep
    - test_conf_init
    - thrd_join
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_begin_transaction
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch_control_msgs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consume_batch_with_seek
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:612,1
    - Dst: do_test_consume_batch_store_offset
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:613,1
    - Dst: do_test_consume_batch_with_pause_and_resume_different_batch
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:614,1
    - Dst: do_test_consume_batch_with_pause_and_resume_same_batch
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:615,1
    - Dst: do_test_consume_batch_control_msgs
      Src: /src/librdkafka/tests/0137-barrier_batch_consume.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 611
    functionDepth: 11
    functionLinenumber: 611
    functionLinenumberEnd: 619
    functionName: main_0137_barrier_batch_consume
    functionSourceFile: /src/librdkafka/tests/0137-barrier_batch_consume.c
    functionUses: 0
    functionsReached:
    - do_test_consume_batch_control_msgs
    - do_test_consume_batch_with_pause_and_resume_same_batch
    - do_test_consume_batch_with_seek
    - do_test_consume_batch_with_pause_and_resume_different_batch
    - do_test_consume_batch_store_offset
    linkageType: ''
    returnType: int
    signature: int main_0137_barrier_batch_consume(int argc, char **argv)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0133-ssl_keys.c:53,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0133-ssl_keys.c:54,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0133-ssl_keys.c:60,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:61,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0133-ssl_keys.c:63,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:64,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:67,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:70,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0133-ssl_keys.c:73,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:74,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:76,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:78,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:81,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0133-ssl_keys.c:83,1
    - Dst: test_read_file
      Src: /src/librdkafka/tests/0133-ssl_keys.c:85,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0133-ssl_keys.c:87,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:88,1
    - Dst: test_read_file
      Src: /src/librdkafka/tests/0133-ssl_keys.c:90,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0133-ssl_keys.c:91,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:92,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:95,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:98,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0133-ssl_keys.c:101,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0133-ssl_keys.c:104,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0133-ssl_keys.c:106,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0133-ssl_keys.c:111,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0133-ssl_keys.c:113,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0133-ssl_keys.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - type
    - correct_password
    argTypes:
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 124
    functionName: do_test_ssl_keys
    functionSourceFile: /src/librdkafka/tests/0133-ssl_keys.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - test_read_file
    - strcmp
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_new
    - TEST_FAIL
    - rd_kafka_conf_destroy
    - RD_STR_ToF
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_ssl_keys(const char *type, rd_bool_t correct_password)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0133-ssl_keys.c:132,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/0133-ssl_keys.c:135,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0133-ssl_keys.c:137,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0133-ssl_keys.c:139,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:143,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:144,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:145,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:146,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:147,1
    - Dst: do_test_ssl_keys
      Src: /src/librdkafka/tests/0133-ssl_keys.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: main_0133_ssl_keys
    functionSourceFile: /src/librdkafka/tests/0133-ssl_keys.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - test_conf_init
    - TEST_SKIP
    - rd_kafka_conf_destroy
    - do_test_ssl_keys
    linkageType: ''
    returnType: int
    signature: int main_0133_ssl_keys(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0125-immediate_flush.c:40,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0125-immediate_flush.c:45,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0125-immediate_flush.c:47,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0125-immediate_flush.c:48,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0125-immediate_flush.c:49,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0125-immediate_flush.c:51,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0125-immediate_flush.c:54,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0125-immediate_flush.c:57,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0125-immediate_flush.c:59,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0125-immediate_flush.c:61,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0125-immediate_flush.c:64,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0125-immediate_flush.c:68,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0125-immediate_flush.c:69,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0125-immediate_flush.c:69,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0125-immediate_flush.c:70,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0125-immediate_flush.c:72,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0125-immediate_flush.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 37
    functionDepth: 10
    functionLinenumber: 37
    functionLinenumberEnd: 77
    functionName: do_test_flush_overrides_linger_ms_time
    functionSourceFile: /src/librdkafka/tests/0125-immediate_flush.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - test_produce_msgs2_nowait
    - test_create_topic_wait_exists
    - rd_kafka_flush
    - test_consume_msgs_easy
    - test_conf_init
    - TIMING_START
    - rd_kafka_poll
    - test_conf_set
    - test_mk_topic_name
    - TIMING_ASSERT
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: void do_test_flush_overrides_linger_ms_time()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0125-immediate_flush.c:97,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0125-immediate_flush.c:101,1
    - Dst: rd_strndup
      Src: /src/librdkafka/tests/0125-immediate_flush.c:106,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0125-immediate_flush.c:108,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0125-immediate_flush.c:109,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0125-immediate_flush.c:110,1
    - Dst: free
      Src: /src/librdkafka/tests/0125-immediate_flush.c:111,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0125-immediate_flush.c:113,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0125-immediate_flush.c:115,1
    - Dst: test_produce_msgs2_nowait
      Src: /src/librdkafka/tests/0125-immediate_flush.c:118,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0125-immediate_flush.c:122,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0125-immediate_flush.c:123,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0125-immediate_flush.c:123,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0125-immediate_flush.c:124,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0125-immediate_flush.c:126,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0125-immediate_flush.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 89
    functionDepth: 7
    functionLinenumber: 89
    functionLinenumberEnd: 128
    functionName: do_test_first_flush_immediate
    functionSourceFile: /src/librdkafka/tests/0125-immediate_flush.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_create_handle
    - TEST_CALL_ERR__
    - rd_kafka_destroy
    - free
    - test_produce_msgs2_nowait
    - rd_strndup
    - rd_kafka_flush
    - test_conf_init
    - TIMING_START
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - TIMING_ASSERT
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: void do_test_first_flush_immediate()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_flush_overrides_linger_ms_time
      Src: /src/librdkafka/tests/0125-immediate_flush.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 11
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: main_0125_immediate_flush
    functionSourceFile: /src/librdkafka/tests/0125-immediate_flush.c
    functionUses: 0
    functionsReached:
    - do_test_flush_overrides_linger_ms_time
    linkageType: ''
    returnType: int
    signature: int main_0125_immediate_flush(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0125-immediate_flush.c:139,1
    - Dst: do_test_first_flush_immediate
      Src: /src/librdkafka/tests/0125-immediate_flush.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 8
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: main_0125_immediate_flush_mock
    functionSourceFile: /src/librdkafka/tests/0125-immediate_flush.c
    functionUses: 0
    functionsReached:
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_first_flush_immediate
    linkageType: ''
    returnType: int
    signature: int main_0125_immediate_flush_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: myThreadCb::myThreadCb
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_init
    linkageType: ''
    returnType: void
    signature: void myThreadCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: ~myThreadCb()
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_destroy
    linkageType: ''
    returnType: void
    signature: void ~myThreadCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:47,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: myThreadCb::startCount
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int startCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:54,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: myThreadCb::exitCount
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int exitCount()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:60,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:60,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:61,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - threadname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: myThreadCb::thread_start_cb
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_lock
    - mtx_unlock
    - tostr
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void thread_start_cb(const char *threadname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:66,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:66,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:67,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - threadname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: myThreadCb::thread_exit_cb
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - mtx_lock
    - mtx_unlock
    - tostr
    - Test::Say
    linkageType: ''
    returnType: void
    signature: void thread_exit_cb(const char *threadname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:89,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:89,1
    - Dst: myThreadCb*::thread_start_cb
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - thread_type
    - threadname
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_thread_type_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: on_thread_start_trampoline
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - myThreadCb*::thread_start_cb
    - tostr
    - Test::Say
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_thread_start_trampoline(\n    rd_kafka_t *rk,\n
      \   rd_kafka_thread_type_t thread_type,\n    const char *threadname,\n    void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:107,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:107,1
    - Dst: myThreadCb*::thread_exit_cb
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - thread_type
    - threadname
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_thread_type_t
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: on_thread_exit_trampoline
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - tostr
    - Test::Say
    - myThreadCb*::thread_exit_cb
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_thread_exit_trampoline(\n    rd_kafka_t *rk,\n
      \   rd_kafka_thread_type_t thread_type,\n    const char *threadname,\n    void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:125,1
    - Dst: rd_kafka_interceptor_add_on_thread_start
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:126,1
    - Dst: rd_kafka_interceptor_add_on_thread_exit
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: on_new
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 8
    functionsReached:
    - rd_kafka_interceptor_add_on_thread_exit
    - Test::Say
    - rd_kafka_interceptor_add_on_thread_start
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new(rd_kafka_t *rk,\n                                  const
      rd_kafka_conf_t *conf,\n                                  void *ic_opaque,\n
      \                                 char *errstr,\n                                  size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:143,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - new_conf
    - old_conf
    - filter_cnt
    - filter
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_conf_t*
    - size_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: on_conf_dup
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - Test::Say
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_conf_dup(rd_kafka_conf_t *new_conf,\n                                       const
      rd_kafka_conf_t *old_conf,\n                                       size_t filter_cnt,\n
      \                                      const char **filter,\n                                       void
      *ic_opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:151,1
    - Dst: myThreadCb::myThreadCb
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:154,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:156,1
    - Dst: RdKafka::Conf*::c_ptr_global
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:164,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:165,1
    - Dst: rd_kafka_conf_interceptor_add_on_conf_dup
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:167,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:170,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:172,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:173,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:177,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:177,1
    - Dst: myThreadCb::startCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:177,1
    - Dst: myThreadCb::exitCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:178,1
    - Dst: myThreadCb::startCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:181,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:182,1
    - Dst: myThreadCb::exitCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:183,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:184,1
    - Dst: myThreadCb::startCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:185,1
    - Dst: myThreadCb::exitCount
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:185,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 187
    functionName: test_thread_cbs
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - myThreadCb::myThreadCb
    - rd_kafka_conf_interceptor_add_on_conf_dup
    - Test::Fail
    - tostr
    - myThreadCb::startCount
    - thrd_create
    - Test::Say
    - Test::conf_set
    - myThreadCb::exitCount
    - RdKafka::Conf*::c_ptr_global
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void test_thread_cbs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_thread_cbs
      Src: /src/librdkafka/tests/0100-thread_interceptors.cpp:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: main_0100_thread_interceptors
    functionSourceFile: /src/librdkafka/tests/0100-thread_interceptors.cpp
    functionUses: 0
    functionsReached:
    - test_thread_cbs
    linkageType: ''
    returnType: int
    signature: int main_0100_thread_interceptors(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:60,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:60,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:63,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: my_error_cb
    functionSourceFile: /src/librdkafka/tests/0047-partial_buf_tmout.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void my_error_cb(rd_kafka_t *rk, int err, const char *reason, void
      *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:70,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:75,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:76,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:77,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:78,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:79,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:80,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:82,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:84,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:87,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:89,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:92,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:94,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0047-partial_buf_tmout.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 8
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: main_0047_partial_buf_tmout
    functionSourceFile: /src/librdkafka/tests/0047-partial_buf_tmout.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_conf_set_error_cb
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - rd_kafka_flush
    - test_conf_init
    - TEST_ASSERT
    - test_conf_set
    - test_mk_topic_name
    - test_create_producer_topic
    - test_wait_topic_exists
    - test_produce_msgs_nowait
    linkageType: ''
    returnType: int
    signature: int main_0047_partial_buf_tmout(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - expected_broker_ids
    - expected_broker_id_cnt
    - actual_broker_ids
    - actual_broker_id_cnt
    argTypes:
    - int32_t*
    - size_t
    - int32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 51
    functionName: fetch_metadata_verify_brokers
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t fetch_metadata_verify_brokers(int32_t *expected_broker_ids,\n
      \                                              size_t expected_broker_id_cnt,\n
      \                                              int32_t *actual_broker_ids,\n
      \                                              size_t actual_broker_id_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0151-purge-brokers.c:65,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:68,1
    - Dst: request_metadata_cb
      Src: /src/librdkafka/tests/0151-purge-brokers.c:72,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0151-purge-brokers.c:73,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0151-purge-brokers.c:74,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0151-purge-brokers.c:76,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:79,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0151-purge-brokers.c:79,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0151-purge-brokers.c:82,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:84,1
    - Dst: rd_kafka_brokers_learned_ids
      Src: /src/librdkafka/tests/0151-purge-brokers.c:86,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0151-purge-brokers.c:87,1
    - Dst: fetch_metadata_verify_brokers
      Src: /src/librdkafka/tests/0151-purge-brokers.c:91,1
    - Dst: await_after_action_cb
      Src: /src/librdkafka/tests/0151-purge-brokers.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:102,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:107,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - rk
    - expected_broker_ids
    - expected_broker_id_cnt
    - action
    argTypes:
    - rd_kafka_t*
    - int32_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 114
    functionName: fetch_metadata
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - request_metadata_cb
    - rd_usleep
    - rd_kafka_brokers_learned_ids
    - RD_IF_FREE
    - test_clock
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - fetch_metadata_verify_brokers
    - await_after_action_cb
    - rd_kafka_metadata_destroy
    - tmout_multip
    - rd_kafka_metadata
    linkageType: ''
    returnType: void
    signature: "void fetch_metadata(rd_kafka_t *rk,\n                           int32_t
      *expected_broker_ids,\n                           size_t expected_broker_id_cnt,\n
      \                          rd_bool_t (*request_metadata_cb)(int action),\n                           rd_bool_t
      (*await_after_action_cb)(int action),\n                           int action)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - initial_cluster_size
    - ','
    - actions
    - ','
    - action_cnt
    - ','
    - expected_broker_ids
    - ','
    - expected_brokers_cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: do_test_add_remove_brokers
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "do_test_add_remove_brokers(initial_cluster_size, actions, action_cnt,
      \ \\\n                                   expected_broker_ids, expected_brokers_cnt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0151-purge-brokers.c:165,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0151-purge-brokers.c:167,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:169,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:170,1
    - Dst: edit_configuration_cb
      Src: /src/librdkafka/tests/0151-purge-brokers.c:173,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:176,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0151-purge-brokers.c:178,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0151-purge-brokers.c:181,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0151-purge-brokers.c:184,1
    - Dst: fetch_metadata
      Src: /src/librdkafka/tests/0151-purge-brokers.c:188,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:196,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:199,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:200,1
    - Dst: rd_kafka_mock_broker_decommission
      Src: /src/librdkafka/tests/0151-purge-brokers.c:200,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:206,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:207,1
    - Dst: rd_kafka_mock_broker_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:208,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:213,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:215,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0151-purge-brokers.c:215,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:223,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0151-purge-brokers.c:223,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:229,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:230,1
    - Dst: fetch_metadata
      Src: /src/librdkafka/tests/0151-purge-brokers.c:240,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:245,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:246,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0151-purge-brokers.c:248,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0151-purge-brokers.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - initial_cluster_size
    - actions
    - action_cnt
    - expected_broker_ids
    - expected_brokers_cnt
    argTypes:
    - int32_t
    - int32_t[][]
    - size_t
    - int32_t[][]
    - int32_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 250
    functionName: do_test_add_remove_brokers0
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_broker_add
    - test_mock_cluster_new
    - test_create_handle
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_atomic32_set
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_mock_broker_decommission
    - rd_kafka_mock_broker_set_up
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_conf_set
    - fetch_metadata
    - rd_kafka_mock_broker_set_down
    - rd_kafka_mock_coordinator_set
    - edit_configuration_cb
    linkageType: ''
    returnType: void
    signature: "void do_test_add_remove_brokers0(\n    int32_t initial_cluster_size,\n
      \   int32_t actions[][2],\n    size_t action_cnt,\n    int32_t expected_broker_ids[][5],\n
      \   int32_t expected_brokers_cnt[],\n    rd_kafka_type_t (*edit_configuration_cb)(rd_kafka_conf_t
      *conf),\n    rd_bool_t (*request_metadata_cb)(int action),\n    rd_bool_t (*await_after_action_cb)(int
      action))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0151-purge-brokers.c:258,1
    - Dst: do_test_add_remove_brokers
      Src: /src/librdkafka/tests/0151-purge-brokers.c:277,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:277,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0151-purge-brokers.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 281
    functionName: do_test_replace_with_new_cluster
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - SUB_TEST_PASS
    - do_test_add_remove_brokers
    - SUB_TEST_QUICK
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void do_test_replace_with_new_cluster(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0151-purge-brokers.c:293,1
    - Dst: do_test_add_remove_brokers
      Src: /src/librdkafka/tests/0151-purge-brokers.c:319,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:319,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0151-purge-brokers.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: do_test_cluster_roll
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - SUB_TEST_PASS
    - do_test_add_remove_brokers
    - SUB_TEST_QUICK
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void do_test_cluster_roll(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0151-purge-brokers.c:332,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0151-purge-brokers.c:333,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:334,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0151-purge-brokers.c:335,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0151-purge-brokers.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 338
    functionName: do_test_remove_then_add_log_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_atomic32_set
    - strstr
    - rd_usleep
    linkageType: ''
    returnType: void
    signature: "void do_test_remove_then_add_log_cb(const rd_kafka_t *rk,\n                                           int
      level,\n                                           const char *fac,\n                                           const
      char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0151-purge-brokers.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: do_test_remove_then_add_await_after_action_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t do_test_remove_then_add_await_after_action_cb(int action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:368,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0151-purge-brokers.c:372,1
    - Dst: test_conf_set_log_interceptor
      Src: /src/librdkafka/tests/0151-purge-brokers.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 377
    functionName: do_test_remove_then_add_edit_configuration_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - test_timeout_set
    - test_conf_set_log_interceptor
    - test_conf_set
    linkageType: ''
    returnType: rd_kafka_type_t
    signature: rd_kafka_type_t do_test_remove_then_add_edit_configuration_cb(rd_kafka_conf_t
      *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0151-purge-brokers.c:387,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0151-purge-brokers.c:388,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0151-purge-brokers.c:389,1
    - Dst: do_test_add_remove_brokers0
      Src: /src/librdkafka/tests/0151-purge-brokers.c:402,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:403,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0151-purge-brokers.c:407,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0151-purge-brokers.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 386
    functionDepth: 7
    functionLinenumber: 386
    functionLinenumberEnd: 410
    functionName: do_test_remove_then_add
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_atomic32_init
    - do_test_add_remove_brokers0
    - RD_ARRAY_SIZE
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_remove_then_add(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/tests/0151-purge-brokers.c:423,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: do_test_down_then_up_no_rebootstrap_loop_log_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - strstr
    linkageType: ''
    returnType: void
    signature: "void do_test_down_then_up_no_rebootstrap_loop_log_cb(const rd_kafka_t
      *rk,\n                                                int level,\n                                                const
      char *fac,\n                                                const char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_set_log_interceptor
      Src: /src/librdkafka/tests/0151-purge-brokers.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: do_test_down_then_up_no_rebootstrap_loop_edit_configuration_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - test_conf_set_log_interceptor
    linkageType: ''
    returnType: rd_kafka_type_t
    signature: "rd_kafka_type_t do_test_down_then_up_no_rebootstrap_loop_edit_configuration_cb(\n
      \   rd_kafka_conf_t *conf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - action
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: do_test_down_then_up_no_rebootstrap_loop_request_metadata_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t do_test_down_then_up_no_rebootstrap_loop_request_metadata_cb(int
      action)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0151-purge-brokers.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - action
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 463
    functionName: do_test_down_then_up_no_rebootstrap_loop_await_after_action_cb
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_sleep
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t do_test_down_then_up_no_rebootstrap_loop_await_after_action_cb(int
      action)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0151-purge-brokers.c:470,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0151-purge-brokers.c:471,1
    - Dst: do_test_add_remove_brokers0
      Src: /src/librdkafka/tests/0151-purge-brokers.c:485,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0151-purge-brokers.c:486,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:500,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0151-purge-brokers.c:501,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0151-purge-brokers.c:505,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0151-purge-brokers.c:508,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0151-purge-brokers.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 469
    functionDepth: 7
    functionLinenumber: 469
    functionLinenumberEnd: 511
    functionName: do_test_down_then_up_no_rebootstrap_loop
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_atomic32_init
    - do_test_add_remove_brokers0
    - TEST_ASSERT
    - RD_ARRAY_SIZE
    - rd_atomic32_get
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_down_then_up_no_rebootstrap_loop(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0151-purge-brokers.c:523,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0151-purge-brokers.c:525,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:526,1
    - Dst: rd_kafka_mock_broker_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:527,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:528,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0151-purge-brokers.c:530,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0151-purge-brokers.c:531,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:533,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0151-purge-brokers.c:534,1
    - Dst: rd_kafka_mock_broker_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:534,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0151-purge-brokers.c:536,1
    - Dst: rd_kafka_mock_broker_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:537,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0151-purge-brokers.c:538,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0151-purge-brokers.c:540,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0151-purge-brokers.c:541,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0151-purge-brokers.c:543,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0151-purge-brokers.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 546
    functionName: do_test_add_same_broker_id
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_broker_add
    - test_mock_cluster_new
    - TEST_CALL_ERR__
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    - test_mock_cluster_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_add_same_broker_id(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0151-purge-brokers.c:550,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0151-purge-brokers.c:551,1
    - Dst: do_test_add_same_broker_id
      Src: /src/librdkafka/tests/0151-purge-brokers.c:555,1
    - Dst: do_test_replace_with_new_cluster
      Src: /src/librdkafka/tests/0151-purge-brokers.c:557,1
    - Dst: do_test_cluster_roll
      Src: /src/librdkafka/tests/0151-purge-brokers.c:559,1
    - Dst: do_test_remove_then_add
      Src: /src/librdkafka/tests/0151-purge-brokers.c:561,1
    - Dst: do_test_down_then_up_no_rebootstrap_loop
      Src: /src/librdkafka/tests/0151-purge-brokers.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 8
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: main_0151_purge_brokers_mock
    functionSourceFile: /src/librdkafka/tests/0151-purge-brokers.c
    functionUses: 0
    functionsReached:
    - do_test_add_same_broker_id
    - do_test_down_then_up_no_rebootstrap_loop
    - test_needs_auth
    - do_test_replace_with_new_cluster
    - TEST_SKIP
    - do_test_cluster_roll
    - do_test_remove_then_add
    linkageType: ''
    returnType: int
    signature: int main_0151_purge_brokers_mock(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:62,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:67,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:67,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:68,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:70,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:71,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:76,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:78,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:82,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:83,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - line
    - c
    - start
    - target
    - timeout_ms
    argTypes:
    - int
    - _consumer_t*
    - int64_t
    - int64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 86
    functionName: static_member_wait_rebalance0
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - TIMING_START
    - rd_kafka_name
    - test_consumer_poll_once
    - test_clock
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: "int static_member_wait_rebalance0(int line,\n                                         _consumer_t
      *c,\n                                         int64_t start,\n                                         int64_t
      *target,\n                                         int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - C
    - ','
    - START
    - ','
    - TARGET
    - ','
    - TIMEOUT_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: static_member_expect_rebalance
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: static_member_expect_rebalance(C, START, TARGET, TIMEOUT_MS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - C
    - ','
    - START
    - ','
    - TARGET
    - ','
    - TIMEOUT_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: static_member_wait_rebalance
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: static_member_wait_rebalance(C, START, TARGET, TIMEOUT_MS)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:107,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:109,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:110,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:111,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:115,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:116,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:117,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:120,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:121,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:126,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:127,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:128,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:129,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:134,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:134,1
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 143
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 13
    functionsReached:
    - rd_kafka_err2name
    - test_print_partition_list
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_name
    - rd_kafka_assign
    - rd_kafka_yield
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:152,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:154,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:155,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:155,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:158,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:160,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:161,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:165,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:166,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:168,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:169,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:170,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:174,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:175,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:176,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:177,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:179,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:180,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:181,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:183,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:184,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:185,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:186,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:188,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:190,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:191,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:200,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:203,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:209,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:212,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:220,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:223,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:226,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:228,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:232,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:233,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:234,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:235,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:236,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:237,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:238,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:240,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:244,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:245,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:248,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:250,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:253,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:256,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:262,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:262,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:266,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:269,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:272,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:275,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:281,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:284,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:287,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:290,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:295,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:296,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:301,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:303,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:308,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:312,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:313,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:317,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:323,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:326,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:329,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:332,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:339,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:345,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:348,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:352,1
    - Dst: test_consumer_poll_expect_err
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:355,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:359,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:362,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:365,1
    - Dst: static_member_wait_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:371,1
    - Dst: test_consumer_poll_once
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:374,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:377,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:380,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:382,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:384,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:385,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:386,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:389,1
    - Dst: static_member_expect_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:393,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:401,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:404,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:405,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:407,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:408,1
    - Dst: free
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:409,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 146
    functionDepth: 10
    functionLinenumber: 146
    functionLinenumberEnd: 412
    functionName: do_test_static_group_rebalance
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - test_wait_topic_exists
    - test_consumer_poll_once
    - TIMING_ASSERT
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - test_consumer_close
    - rd_kafka_conf_set_opaque
    - test_consumer_poll_expect_err
    - test_msgver_verify
    - test_create_consumer
    - test_clock
    - test_consumer_subscribe
    - static_member_wait_rebalance
    - static_member_expect_rebalance
    - SUB_TEST
    - test_id_generate
    - test_msgver_clear
    - SUB_TEST_PASS
    - rd_strdup
    - TIMING_STOP
    - free
    - test_msgver_init
    - rd_kafka_unsubscribe
    - tsprintf
    - test_conf_init
    - TIMING_START
    - rd_kafka_poll_set_consumer
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_static_group_rebalance(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:422,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:431,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:434,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:435,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:436,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - what
    - c
    - cnt
    argTypes:
    - char*
    - rd_kafka_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: await_assignment_multi
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll_no_msgs
    - TEST_SAY
    - rd_kafka_assignment
    - rd_kafka_name
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void await_assignment_multi(const char *what, rd_kafka_t **c, int cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:463,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:468,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:470,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:472,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:474,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:475,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:476,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:476,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:478,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:479,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:480,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:480,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:482,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:484,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:485,1
    - Dst: await_assignment_multi
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:487,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:490,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:491,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:492,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:493,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:493,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:494,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:499,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:503,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:506,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:507,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:508,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:510,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:510,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:511,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:512,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:512,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:513,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:517,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:518,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:518,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:519,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:520,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:522,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:524,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:526,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:527,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:529,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:529,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:531,1
    - Dst: await_assignment_multi
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:535,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:537,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:538,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 459
    functionDepth: 9
    functionLinenumber: 459
    functionLinenumberEnd: 541
    functionName: do_test_fenced_member_classic
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_name
    - test_wait_topic_exists
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - await_assignment_multi
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_message_destroy
    - SUB_TEST
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - SUB_TEST_PASS
    - test_consumer_poll_no_msgs
    - test_conf_init
    - rd_kafka_fatal_error
    - test_create_topic
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_fenced_member_classic(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:556,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:561,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:563,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:565,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:567,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:568,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:569,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:569,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:571,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:572,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:573,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:573,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:575,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:577,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:578,1
    - Dst: await_assignment_multi
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:580,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:583,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:584,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:585,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:586,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:586,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:587,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:592,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:596,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:599,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:600,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:601,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:603,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:603,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:604,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:605,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:605,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:606,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:610,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:611,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:611,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:612,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:613,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:616,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:618,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:620,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:621,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:623,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:623,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:625,1
    - Dst: await_assignment_multi
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:629,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:631,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:632,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 552
    functionDepth: 9
    functionLinenumber: 552
    functionLinenumberEnd: 635
    functionName: do_test_fenced_member_consumer
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_name
    - test_wait_topic_exists
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - await_assignment_multi
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_message_destroy
    - SUB_TEST
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - SUB_TEST_PASS
    - test_consumer_poll_no_msgs
    - test_conf_init
    - rd_kafka_fatal_error
    - test_create_topic
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_fenced_member_consumer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:644,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:645,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:646,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:647,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:648,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bootstraps
    - group_id
    - group_instance_id
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 7
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: create_consumer
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 91
    functionsReached:
    - test_conf_set
    - test_conf_init
    - test_create_consumer
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *create_consumer(const char *bootstraps,\n                                   const
      char *group_id,\n                                   const char *group_instance_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:659,1
    - Dst: rd_kafka_consumer_group_metadata_generation_id
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:661,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 664
    functionName: consumer_generation_id
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_group_metadata_generation_id
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_consumer_group_metadata
    linkageType: ''
    returnType: int32_t
    signature: int32_t consumer_generation_id(rd_kafka_t *consumer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_api_key
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - request
    - opaque
    argTypes:
    - rd_kafka_mock_request_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 673
    functionName: is_api_key
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_api_key
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t is_api_key(rd_kafka_mock_request_t *request, void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:702,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:709,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:715,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:716,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:718,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:719,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:720,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:722,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:723,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:724,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:726,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:727,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:729,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:730,1
    - Dst: consumer_generation_id
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:733,1
    - Dst: consumer_generation_id
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:734,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:735,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:735,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:736,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:736,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:737,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:739,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:742,1
    - Dst: rd_kafka_mock_start_request_tracking
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:743,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:744,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:744,1
    - Dst: test_mock_wait_matching_requests
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:745,1
    - Dst: rd_kafka_mock_stop_request_tracking
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:747,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:755,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:757,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:760,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:761,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:762,1
    - Dst: consumer_generation_id
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:764,1
    - Dst: consumer_generation_id
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:765,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:767,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:771,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:776,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:776,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:777,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:777,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:778,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:780,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:782,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:782,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:785,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:785,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:789,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:790,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:791,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:792,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:794,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:795,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:796,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:797,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 52
    argCount: 1
    argNames:
    - variation
    argTypes:
    - do_test_static_membership_mock_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 697
    functionDepth: 4
    functionLinenumber: 697
    functionLinenumberEnd: 800
    functionName: do_test_static_membership_mock
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - consumer_generation_id
    - TEST_ASSERT
    - rd_kafka_assignment
    - test_mock_cluster_new
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_mock_stop_request_tracking
    - test_partition_list_and_offsets_cmp
    - RD_IF_FREE
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_consumer_poll_exact
    - SUB_TEST_QUICK
    - rd_kafka_mock_start_request_tracking
    - rd_kafka_unsubscribe
    - create_consumer
    - test_mock_wait_matching_requests
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: "void do_test_static_membership_mock(\n    do_test_static_membership_mock_variation_t
      variation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:805,1
    - Dst: do_test_static_group_rebalance
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:806,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:809,1
    - Dst: do_test_fenced_member_classic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:810,1
    - Dst: do_test_fenced_member_consumer
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 802
    functionDepth: 11
    functionLinenumber: 802
    functionLinenumberEnd: 816
    functionName: main_0102_static_group_rebalance
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - do_test_fenced_member_consumer
    - do_test_fenced_member_classic
    - do_test_static_group_rebalance
    - test_consumer_group_protocol_classic
    linkageType: ''
    returnType: int
    signature: int main_0102_static_group_rebalance(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:819,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:822,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:823,1
    - Dst: do_test_static_membership_mock
      Src: /src/librdkafka/tests/0102-static_group_rebalance.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 818
    functionDepth: 5
    functionLinenumber: 818
    functionLinenumberEnd: 836
    functionName: main_0102_static_group_rebalance_mock
    functionSourceFile: /src/librdkafka/tests/0102-static_group_rebalance.c
    functionUses: 0
    functionsReached:
    - do_test_static_membership_mock
    - test_consumer_group_protocol_classic
    - TEST_SKIP_MOCK_CLUSTER
    - TEST_SKIP
    linkageType: ''
    returnType: int
    signature: int main_0102_static_group_rebalance_mock(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:45,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:48,1
    - Dst: cnd_signal
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:50,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: log_cb
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 6
    functionsReached:
    - cnd_signal
    - mtx_unlock
    - strstr
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: void log_cb(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:65,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:68,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:72,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:74,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:75,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:78,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:79,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:80,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:81,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:82,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:83,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:86,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:87,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:89,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:89,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:90,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:91,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:93,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:96,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:97,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:100,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:108,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:109,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:110,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:111,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:113,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:115,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:116,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:119,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:120,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:121,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 2
    argNames:
    - mcluster
    - bootstraps
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 62
    functionDepth: 7
    functionLinenumber: 62
    functionLinenumberEnd: 124
    functionName: do_test_OffsetFetch_stale_member_epoch_error
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_consumer_close
    - test_msgver_verify
    - test_create_consumer
    - test_create_handle
    - test_consumer_subscribe
    - rd_kafka_flush
    - rd_kafka_mock_push_request_errors
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - test_msgver_init
    - test_conf_init
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: "void do_test_OffsetFetch_stale_member_epoch_error(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    const char *bootstraps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:148,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:149,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:154,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:156,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:158,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:159,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:160,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:161,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:162,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:165,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:169,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:170,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:171,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:172,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:174,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:176,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:179,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:185,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:186,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:191,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:192,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:193,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:193,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:196,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:197,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:199,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:200,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:202,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:204,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - mcluster
    - bootstraps
    - expected_err
    - variation
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_resp_err_t
    - do_test_OffsetCommit_manual_error_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 140
    functionDepth: 7
    functionLinenumber: 140
    functionLinenumberEnd: 207
    functionName: do_test_OffsetCommit_manual_error
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_produce_msgs_easy_v
    - test_msgver_verify
    - RD_IF_FREE
    - rd_kafka_commit
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_msgver_init
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void do_test_OffsetCommit_manual_error(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    const char *bootstraps,\n    rd_kafka_resp_err_t expected_err,\n
      \   do_test_OffsetCommit_manual_error_variation_t variation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:246,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:247,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:255,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:256,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:257,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:259,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:260,1
    - Dst: rd_kafka_mock_set_group_consumer_session_timeout_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:261,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:263,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:266,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:267,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:268,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:269,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:270,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:271,1
    - Dst: test_conf_set_log_interceptor
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:272,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:275,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:277,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:282,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:282,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:283,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:284,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:285,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:287,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:289,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:292,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:295,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:306,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:307,1
    - Dst: test_mock_cluster_member_assignment
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:309,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:311,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:314,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:316,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:318,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:323,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:330,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:331,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:335,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:337,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:338,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:342,1
    - Dst: test_consumer_poll_exact
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:343,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:345,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:347,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:350,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:353,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:354,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:355,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - mcluster
    - bootstraps
    - variation
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - do_test_OffsetCommit_automatic_stale_member_epoch_error_variation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 237
    functionDepth: 7
    functionLinenumber: 237
    functionLinenumberEnd: 358
    functionName: do_test_OffsetCommit_automatic_stale_member_epoch_error
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - rd_kafka_mock_cgrp_consumer_target_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_clear_request_errors
    - rd_kafka_mock_coordinator_set
    - RD_STR_ToF
    - rd_kafka_mock_set_group_consumer_session_timeout_ms
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_produce_msgs_easy_v
    - test_consumer_close
    - rd_kafka_mock_broker_push_request_error_rtts
    - cnd_timedwait_ms
    - test_mock_cluster_member_assignment
    - test_msgver_verify
    - mtx_unlock
    - test_create_consumer
    - test_consumer_subscribe
    - mtx_lock
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_consumer_poll_exact
    - SUB_TEST_QUICK
    - test_consumer_poll_no_msgs
    - test_msgver_init
    - test_conf_set_log_interceptor
    - test_conf_init
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void do_test_OffsetCommit_automatic_stale_member_epoch_error(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    const char *bootstraps,\n    do_test_OffsetCommit_automatic_stale_member_epoch_error_variation_t\n
      \       variation)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:364,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:365,1
    - Dst: cnd_signal
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:369,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:371,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:373,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:374,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:375,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: log_cb_closing_issue
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - cnd_signal
    - mtx_unlock
    - strstr
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void log_cb_closing_issue(const rd_kafka_t *rk,\n                                 int
      level,\n                                 const char *fac,\n                                 const
      char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:412,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:420,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:422,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:423,1
    - Dst: strcpy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:425,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:425,1
    - Dst: strcpy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:426,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:426,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:428,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:429,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:430,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:431,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:432,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:433,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:434,1
    - Dst: test_conf_set_log_interceptor
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:435,1
    - Dst: rd_kafka_mock_coordinator_set
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:438,1
    - Dst: rd_kafka_mock_set_group_consumer_session_timeout_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:439,1
    - Dst: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:441,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:444,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:445,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:446,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:449,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:450,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:451,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:454,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:455,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:456,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:459,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:461,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:461,1
    - Dst: test_consumer_subscribe_multi
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:462,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:465,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:466,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:468,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:471,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:474,1
    - Dst: test_produce_msgs2
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:481,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:482,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:486,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:488,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:489,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:492,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:493,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:494,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:500,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:501,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:502,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:505,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:506,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:509,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:514,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:518,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:519,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:521,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:522,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 2
    argNames:
    - mcluster
    - bootstraps
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 405
    functionDepth: 7
    functionLinenumber: 405
    functionLinenumberEnd: 525
    functionName: do_test_consumer_inflight_heartbeat_on_leave
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    - TEST_ASSERT
    - cnd_init
    - mtx_init
    - rd_kafka_mock_coordinator_set
    - rd_kafka_mock_set_group_consumer_session_timeout_ms
    - test_produce_msgs2
    - test_consumer_poll
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_mock_broker_push_request_error_rtts
    - cnd_destroy
    - cnd_timedwait_ms
    - mtx_unlock
    - test_create_consumer
    - test_clock
    - test_create_handle
    - test_consumer_subscribe
    - mtx_lock
    - rd_kafka_flush
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_mock_topic_create
    - mtx_destroy
    - SUB_TEST_PASS
    - rd_kafka_conf_set_dr_msg_cb
    - SUB_TEST_QUICK
    - test_msgver_init
    - test_conf_set_log_interceptor
    - test_conf_init
    - strcpy
    - test_mk_topic_name
    - test_conf_set
    - test_consumer_subscribe_multi
    linkageType: ''
    returnType: void
    signature: "void do_test_consumer_inflight_heartbeat_on_leave(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    const char *bootstraps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:532,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:534,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:535,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:541,1
    - Dst: do_test_OffsetFetch_stale_member_epoch_error
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:543,1
    - Dst: do_test_OffsetCommit_manual_error
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:546,1
    - Dst: do_test_OffsetCommit_manual_error
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:549,1
    - Dst: do_test_OffsetCommit_automatic_stale_member_epoch_error
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:555,1
    - Dst: do_test_consumer_inflight_heartbeat_on_leave
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:558,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 527
    functionDepth: 8
    functionLinenumber: 527
    functionLinenumberEnd: 563
    functionName: main_0148_offset_fetch_commit_error_mock
    functionSourceFile: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - do_test_OffsetFetch_stale_member_epoch_error
    - do_test_consumer_inflight_heartbeat_on_leave
    - do_test_OffsetCommit_manual_error
    - test_consumer_group_protocol_classic
    - TEST_SKIP
    - test_mock_cluster_destroy
    - do_test_OffsetCommit_automatic_stale_member_epoch_error
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0148_offset_fetch_commit_error_mock(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:46,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:53,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:56,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:57,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:58,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:59,1
    - Dst: test_produce_msgs_nowait
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:62,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:65,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:67,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0021-rkt_destroy.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 45
    functionDepth: 8
    functionLinenumber: 45
    functionLinenumberEnd: 72
    functionName: main_0021_rkt_destroy
    functionSourceFile: /src/librdkafka/tests/0021-rkt_destroy.c
    functionUses: 0
    functionsReached:
    - test_wait_delivery
    - rd_kafka_destroy
    - test_create_producer
    - rd_kafka_topic_destroy
    - test_conf_init
    - test_id_generate
    - test_mk_topic_name
    - test_create_producer_topic
    - test_wait_topic_exists
    - test_produce_msgs_nowait
    linkageType: ''
    returnType: int
    signature: int main_0021_rkt_destroy(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: '&operator<<(const T &data)'
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tostr
    signature: tostr &operator<<(const T &data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: str
      Src: /src/librdkafka/tests/testcpp.h:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: operator std::string()
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - str
    linkageType: ''
    returnType: void
    signature: void operator std::string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - testid
    - ','
    - exp_partition
    - ','
    - msgidp
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: TestMessageVerify
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TestMessageVerify(testid, exp_partition, msgidp, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail0
      Src: /src/librdkafka/tests/testcpp.h:77,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: Test::Fail
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 97
    functionsReached:
    - test_fail0
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Fail(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail0
      Src: /src/librdkafka/tests/testcpp.h:81,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Test::FailLater
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 2
    functionsReached:
    - test_fail0
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED FailLater(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_SKIP
      Src: /src/librdkafka/tests/testcpp.h:85,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Test::Skip
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 12
    functionsReached:
    - std::string::c_str
    - test_SKIP
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Skip(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_SAY
      Src: /src/librdkafka/tests/testcpp.h:88,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Test::Say
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 100
    functionsReached:
    - test_SAY
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Say(int level, std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Test::Say
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 101
    functionsReached:
    - Test::Say
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Say(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/testcpp.h:99,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - suffix
    - randomized
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: "std::string mk_topic_name(std::string suffix,\n                                           bool
      randomized)"
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - test_mk_topic_name
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED std::string mk_topic_name(std::string suffix,\n                                           bool
      randomized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/testcpp.h:106,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: std::string mk_unique_group_name(std::string suffix)
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - test_mk_topic_name
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED std::string mk_unique_group_name(std::string suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:117,1
    - Dst: test_create_partitions
      Src: /src/librdkafka/tests/testcpp.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - use_handle
    - topicname
    - new_partition_cnt
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 9
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Test::create_partitions
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Handle*::c_ptr
    - test_create_partitions
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_partitions(RdKafka::Handle *use_handle,\n                                        const
      char *topicname,\n                                        int new_partition_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:130,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/testcpp.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - use_handle
    - topicname
    - partition_cnt
    - replication_factor
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 9
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: Test::create_topic
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 2
    functionsReached:
    - test_create_topic
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_topic(RdKafka::Handle *use_handle,\n                                   const
      char *topicname,\n                                   int partition_cnt,\n                                   int
      replication_factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:144,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/testcpp.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - use_handle
    - topicname
    - partition_cnt
    - replication_factor
    - timeout
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Test::create_topic_wait_exists
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - test_create_topic_wait_exists
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_topic_wait_exists(RdKafka::Handle *use_handle,\n
      \                                              const char *topicname,\n                                               int
      partition_cnt,\n                                               int replication_factor,\n
      \                                              int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:156,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/testcpp.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - use_handle
    - topicname
    argTypes:
    - RdKafka::Handle*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 9
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: Test::delete_topic
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - test_delete_topic
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED delete_topic(RdKafka::Handle *use_handle,\n                                   const
      char *topicname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_is_forbidden_conf_group_protocol_consumer
      Src: /src/librdkafka/tests/testcpp.h:165,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Test::is_forbidden_conf_group_protocol_consumer
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - std::string::c_str
    - test_is_forbidden_conf_group_protocol_consumer
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED is_forbidden_conf_group_protocol_consumer(\n    const std::string
      &name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::is_forbidden_conf_group_protocol_consumer
      Src: /src/librdkafka/tests/testcpp.h:178,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:179,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:179,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.h:183,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - RdKafka::Conf*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: Test::conf_set
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 27
    functionsReached:
    - Test::Fail
    - RdKafka::Conf*::set
    - tostr
    - Test::Say
    - Test::is_forbidden_conf_group_protocol_consumer
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED conf_set(RdKafka::Conf *conf,\n                               std::string
      name,\n                               std::string val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:192,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: partition
      Src: /src/librdkafka/tests/testcpp.h:194,1
    - Dst: offset
      Src: /src/librdkafka/tests/testcpp.h:195,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:196,1
    - Dst: err
      Src: /src/librdkafka/tests/testcpp.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - header
    - partitions
    argTypes:
    - std::string
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: Test::print_TopicPartitions
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 2
    functionsReached:
    - topic
    - tostr
    - partition
    - offset
    - RdKafka::err2str
    - Test::Say
    - std::vector<RdKafka::TopicPartition *>::size
    - err
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED print_TopicPartitions(\n    std::string header,\n    const
      std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:203,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:203,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:205,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/testcpp.h:207,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:208,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: Test::subscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 17
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED subscribe(RdKafka::KafkaConsumer *c,\n                                const
      std::string &topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:216,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:216,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:218,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:219,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/testcpp.h:221,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:222,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - topic1
    - topic2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: Test::subscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 17
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED subscribe(RdKafka::KafkaConsumer *c,\n                                const
      std::string &topic1,\n                                const std::string &topic2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:227,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:227,1
    - Dst: RdKafka::KafkaConsumer*::unsubscribe
      Src: /src/librdkafka/tests/testcpp.h:229,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:230,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - RdKafka::KafkaConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Test::unsubscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 3
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    - RdKafka::KafkaConsumer*::unsubscribe
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED unsubscribe(RdKafka::KafkaConsumer *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/testcpp.h:240,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/testcpp.h:242,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:243,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:243,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/testcpp.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - parts
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: Test::incremental_assign
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - Test::print_TopicPartitions
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::name
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED incremental_assign(\n    RdKafka::KafkaConsumer *c,\n    const
      std::vector<RdKafka::TopicPartition *> &parts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/testcpp.h:252,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/testcpp.h:254,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:255,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:255,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/testcpp.h:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - parts
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: Test::incremental_unassign
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::print_TopicPartitions
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED incremental_unassign(\n    RdKafka::KafkaConsumer *c,\n
      \   const std::vector<RdKafka::TopicPartition *> &parts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/testcpp.h:268,1
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:272,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:274,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:277,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:278,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/testcpp.h:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - c
    - partition_count
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: Test::wait_for_assignment
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - topic
    - std::vector::size
    - test_mock_cluster_destroy
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED wait_for_assignment(RdKafka::KafkaConsumer *c,\n                                          size_t
      partition_count,\n                                          const std::string
      *topic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:300,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:301,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:302,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:302,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:303,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:304,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:306,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:307,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:307,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - c
    - partition_count
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: Test::check_assignment
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - topic
    - Test::Fail
    - std::vector::size
    - tostr
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED check_assignment(RdKafka::KafkaConsumer *c,\n                                       size_t
      partition_count,\n                                       const std::string *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:323,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:325,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - c
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: Test::assignment_partition_count
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 13
    functionsReached:
    - std::vector::size
    - topic
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED assignment_partition_count(RdKafka::KafkaConsumer *c,\n
      \                                                  std::string *topic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/testcpp.h:340,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/testcpp.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - timeout_ms
    argTypes:
    - RdKafka::KafkaConsumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: Test::poll_once
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 16
    functionsReached:
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::Message*::err
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED poll_once(RdKafka::KafkaConsumer *c, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/testcpp.h:356,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/testcpp.h:363,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/testcpp.h:365,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:365,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/testcpp.h:366,1
    - Dst: free
      Src: /src/librdkafka/tests/testcpp.h:369,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/testcpp.h:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - p
    - topic
    - partition
    - msgcnt
    - msgsize
    - flush
    argTypes:
    - RdKafka::Producer*
    - std::string
    - int32_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: Test::produce_msgs
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 3
    functionsReached:
    - free
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - malloc
    - TEST_ASSERT
    - RdKafka::err2str
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED produce_msgs(RdKafka::Producer *p,\n                                   const
      std::string &topic,\n                                   int32_t partition,\n
      \                                  int msgcnt,\n                                   int
      msgsize,\n                                   bool flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail0
      Src: /src/librdkafka/tests/testcpp.h:77,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: Test::Fail
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 104
    functionsReached:
    - test_fail0
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Fail(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_fail0
      Src: /src/librdkafka/tests/testcpp.h:81,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: Test::FailLater
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 2
    functionsReached:
    - test_fail0
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED FailLater(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_SKIP
      Src: /src/librdkafka/tests/testcpp.h:85,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: Test::Skip
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 12
    functionsReached:
    - std::string::c_str
    - test_SKIP
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Skip(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_SAY
      Src: /src/librdkafka/tests/testcpp.h:88,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - level
    - str
    argTypes:
    - int
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: Test::Say
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 108
    functionsReached:
    - test_SAY
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Say(int level, std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: Test::Say
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 109
    functionsReached:
    - Test::Say
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED Say(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/testcpp.h:99,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - suffix
    - randomized
    argTypes:
    - std::string
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: "std::string mk_topic_name(std::string suffix,\n                                           bool
      randomized)"
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - test_mk_topic_name
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED std::string mk_topic_name(std::string suffix,\n                                           bool
      randomized)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/testcpp.h:106,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - suffix
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: std::string mk_unique_group_name(std::string suffix)
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 0
    functionsReached:
    - test_mk_topic_name
    - std::string::c_str
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED std::string mk_unique_group_name(std::string suffix)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:117,1
    - Dst: test_create_partitions
      Src: /src/librdkafka/tests/testcpp.h:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - use_handle
    - topicname
    - new_partition_cnt
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 9
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: Test::create_partitions
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Handle*::c_ptr
    - test_create_partitions
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_partitions(RdKafka::Handle *use_handle,\n                                        const
      char *topicname,\n                                        int new_partition_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:130,1
    - Dst: test_create_topic
      Src: /src/librdkafka/tests/testcpp.h:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - use_handle
    - topicname
    - partition_cnt
    - replication_factor
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 9
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: Test::create_topic
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 2
    functionsReached:
    - test_create_topic
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_topic(RdKafka::Handle *use_handle,\n                                   const
      char *topicname,\n                                   int partition_cnt,\n                                   int
      replication_factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:144,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/testcpp.h:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - use_handle
    - topicname
    - partition_cnt
    - replication_factor
    - timeout
    argTypes:
    - RdKafka::Handle*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 10
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: Test::create_topic_wait_exists
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - test_create_topic_wait_exists
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED create_topic_wait_exists(RdKafka::Handle *use_handle,\n
      \                                              const char *topicname,\n                                               int
      partition_cnt,\n                                               int replication_factor,\n
      \                                              int timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Handle*::c_ptr
      Src: /src/librdkafka/tests/testcpp.h:156,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/testcpp.h:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - use_handle
    - topicname
    argTypes:
    - RdKafka::Handle*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 9
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: Test::delete_topic
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - test_delete_topic
    - RdKafka::Handle*::c_ptr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED delete_topic(RdKafka::Handle *use_handle,\n                                   const
      char *topicname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_is_forbidden_conf_group_protocol_consumer
      Src: /src/librdkafka/tests/testcpp.h:165,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/testcpp.h:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: Test::is_forbidden_conf_group_protocol_consumer
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - std::string::c_str
    - test_is_forbidden_conf_group_protocol_consumer
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED is_forbidden_conf_group_protocol_consumer(\n    const std::string
      &name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::is_forbidden_conf_group_protocol_consumer
      Src: /src/librdkafka/tests/testcpp.h:178,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:179,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:179,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/testcpp.h:183,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - RdKafka::Conf*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: Test::conf_set
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 27
    functionsReached:
    - Test::Fail
    - RdKafka::Conf*::set
    - tostr
    - Test::Say
    - Test::is_forbidden_conf_group_protocol_consumer
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED conf_set(RdKafka::Conf *conf,\n                               std::string
      name,\n                               std::string val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:190,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:192,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:193,1
    - Dst: partition
      Src: /src/librdkafka/tests/testcpp.h:194,1
    - Dst: offset
      Src: /src/librdkafka/tests/testcpp.h:195,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:196,1
    - Dst: err
      Src: /src/librdkafka/tests/testcpp.h:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - header
    - partitions
    argTypes:
    - std::string
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: Test::print_TopicPartitions
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 4
    functionsReached:
    - topic
    - tostr
    - partition
    - offset
    - RdKafka::err2str
    - Test::Say
    - std::vector<RdKafka::TopicPartition *>::size
    - err
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED print_TopicPartitions(\n    std::string header,\n    const
      std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:203,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:203,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:205,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/testcpp.h:207,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:208,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - c
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: Test::subscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 17
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED subscribe(RdKafka::KafkaConsumer *c,\n                                const
      std::string &topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:216,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:216,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:218,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/testcpp.h:219,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/tests/testcpp.h:221,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:222,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - c
    - topic1
    - topic2
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 223
    functionName: Test::subscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 17
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - std::vector::push_back
    - RdKafka::KafkaConsumer*::subscribe
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED subscribe(RdKafka::KafkaConsumer *c,\n                                const
      std::string &topic1,\n                                const std::string &topic2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:227,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:227,1
    - Dst: RdKafka::KafkaConsumer*::unsubscribe
      Src: /src/librdkafka/tests/testcpp.h:229,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:230,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - RdKafka::KafkaConsumer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: Test::unsubscribe
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 3
    functionsReached:
    - Test::Fail
    - RdKafka::err2str
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    - RdKafka::KafkaConsumer*::unsubscribe
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED unsubscribe(RdKafka::KafkaConsumer *c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:237,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/testcpp.h:240,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/tests/testcpp.h:242,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:243,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:243,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/testcpp.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - parts
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: Test::incremental_assign
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - Test::print_TopicPartitions
    - Test::Say
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::name
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED incremental_assign(\n    RdKafka::KafkaConsumer *c,\n    const
      std::vector<RdKafka::TopicPartition *> &parts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Test::Say
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/tests/testcpp.h:249,1
    - Dst: Test::print_TopicPartitions
      Src: /src/librdkafka/tests/testcpp.h:252,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/tests/testcpp.h:254,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:255,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/tests/testcpp.h:255,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/testcpp.h:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - parts
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: Test::incremental_unassign
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - tostr
    - RdKafka::KafkaConsumer*::incremental_unassign
    - Test::print_TopicPartitions
    - Test::Say
    - RdKafka::KafkaConsumer*::name
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED incremental_unassign(\n    RdKafka::KafkaConsumer *c,\n
      \   const std::vector<RdKafka::TopicPartition *> &parts)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/testcpp.h:268,1
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:272,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:274,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:277,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:278,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/testcpp.h:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - c
    - partition_count
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 288
    functionName: Test::wait_for_assignment
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 1
    functionsReached:
    - topic
    - std::vector::size
    - test_mock_cluster_destroy
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED wait_for_assignment(RdKafka::KafkaConsumer *c,\n                                          size_t
      partition_count,\n                                          const std::string
      *topic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:300,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:301,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:302,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:302,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:303,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:304,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:306,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/testcpp.h:307,1
    - Dst: tostr
      Src: /src/librdkafka/tests/testcpp.h:307,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - c
    - partition_count
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: Test::check_assignment
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 5
    functionsReached:
    - topic
    - Test::Fail
    - std::vector::size
    - tostr
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED check_assignment(RdKafka::KafkaConsumer *c,\n                                       size_t
      partition_count,\n                                       const std::string *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::assignment
      Src: /src/librdkafka/tests/testcpp.h:323,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/testcpp.h:325,1
    - Dst: topic
      Src: /src/librdkafka/tests/testcpp.h:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - c
    - topic
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 331
    functionName: Test::assignment_partition_count
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 13
    functionsReached:
    - std::vector::size
    - topic
    - RdKafka::KafkaConsumer*::assignment
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED assignment_partition_count(RdKafka::KafkaConsumer *c,\n
      \                                                  std::string *topic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/testcpp.h:340,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/testcpp.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - timeout_ms
    argTypes:
    - RdKafka::KafkaConsumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: Test::poll_once
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 16
    functionsReached:
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::Message*::err
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED poll_once(RdKafka::KafkaConsumer *c, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/testcpp.h:356,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/testcpp.h:363,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/testcpp.h:365,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/testcpp.h:365,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/testcpp.h:366,1
    - Dst: free
      Src: /src/librdkafka/tests/testcpp.h:369,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/testcpp.h:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - p
    - topic
    - partition
    - msgcnt
    - msgsize
    - flush
    argTypes:
    - RdKafka::Producer*
    - std::string
    - int32_t
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 373
    functionName: Test::produce_msgs
    functionSourceFile: /src/librdkafka/tests/testcpp.h
    functionUses: 3
    functionsReached:
    - free
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::flush
    - malloc
    - TEST_ASSERT
    - RdKafka::err2str
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED produce_msgs(RdKafka::Producer *p,\n                                   const
      std::string &topic,\n                                   int32_t partition,\n
      \                                  int msgcnt,\n                                   int
      msgsize,\n                                   bool flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0074-producev.c:48,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0074-producev.c:49,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0074-producev.c:51,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0074-producev.c:53,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0074-producev.c:53,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0074-producev.c:54,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0074-producev.c:56,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0074-producev.c:58,1
    - Dst: rd_kafka_produceva
      Src: /src/librdkafka/tests/0074-producev.c:70,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0074-producev.c:71,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0074-producev.c:72,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0074-producev.c:72,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0074-producev.c:75,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0074-producev.c:76,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0074-producev.c:77,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/tests/0074-producev.c:78,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0074-producev.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 81
    functionName: do_test_srkt_leak
    functionSourceFile: /src/librdkafka/tests/0074-producev.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_create_handle
    - rd_kafka_destroy
    - RD_KAFKA_V_VALUE
    - TEST_SAY
    - RD_KAFKA_V_TOPIC
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_produceva
    - rd_kafka_error_code
    - test_conf_set
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: void do_test_srkt_leak(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_srkt_leak
      Src: /src/librdkafka/tests/0074-producev.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: main_0074_producev
    functionSourceFile: /src/librdkafka/tests/0074-producev.c
    functionUses: 0
    functionsReached:
    - do_test_srkt_leak
    linkageType: ''
    returnType: int
    signature: int main_0074_producev(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0117-mock_errors.c:54,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0117-mock_errors.c:56,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:58,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:59,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:60,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0117-mock_errors.c:61,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0117-mock_errors.c:72,1
    - Dst: rd_kafka_handle_mock_cluster
      Src: /src/librdkafka/tests/0117-mock_errors.c:74,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0117-mock_errors.c:75,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0117-mock_errors.c:77,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0117-mock_errors.c:83,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0117-mock_errors.c:83,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0117-mock_errors.c:84,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0117-mock_errors.c:85,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0117-mock_errors.c:85,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0117-mock_errors.c:88,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:90,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0117-mock_errors.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - too_few_retries
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 48
    functionDepth: 6
    functionLinenumber: 48
    functionLinenumberEnd: 93
    functionName: do_test_producer_storage_error
    functionSourceFile: /src/librdkafka/tests/0117-mock_errors.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - RD_KAFKA_V_VALUE
    - test_flush
    - rd_kafka_mock_push_request_errors
    - rd_kafka_handle_mock_cluster
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - TEST_ASSERT
    - rd_kafka_err2str
    - SUB_TEST_QUICK
    - test_conf_set
    - SUB_TEST_PASS
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: void do_test_producer_storage_error(rd_bool_t too_few_retries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0117-mock_errors.c:112,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0117-mock_errors.c:114,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0117-mock_errors.c:116,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0117-mock_errors.c:118,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0117-mock_errors.c:121,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:125,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:126,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:127,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:130,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0117-mock_errors.c:132,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0117-mock_errors.c:133,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0117-mock_errors.c:135,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0117-mock_errors.c:137,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0117-mock_errors.c:138,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0117-mock_errors.c:142,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0117-mock_errors.c:143,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0117-mock_errors.c:146,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:147,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0117-mock_errors.c:149,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0117-mock_errors.c:159,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0117-mock_errors.c:160,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0117-mock_errors.c:161,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0117-mock_errors.c:161,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0117-mock_errors.c:162,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0117-mock_errors.c:165,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0117-mock_errors.c:171,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0117-mock_errors.c:175,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:177,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:179,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0117-mock_errors.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 182
    functionName: do_test_offset_commit_error_during_rebalance
    functionSourceFile: /src/librdkafka/tests/0117-mock_errors.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_err2name
    - rd_kafka_conf_dup
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_consumer_close
    - rd_kafka_commit
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - SUB_TEST
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - SUB_TEST_PASS
    - test_consumer_group_protocol_classic
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_offset_commit_error_during_rebalance(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0117-mock_errors.c:200,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0117-mock_errors.c:202,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0117-mock_errors.c:204,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0117-mock_errors.c:206,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0117-mock_errors.c:209,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:213,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:214,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:215,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:218,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:221,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0117-mock_errors.c:223,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0117-mock_errors.c:223,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0117-mock_errors.c:227,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0117-mock_errors.c:230,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0117-mock_errors.c:232,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0117-mock_errors.c:237,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0117-mock_errors.c:237,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0117-mock_errors.c:242,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:244,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0117-mock_errors.c:248,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0117-mock_errors.c:250,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0117-mock_errors.c:251,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0117-mock_errors.c:254,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0117-mock_errors.c:254,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0117-mock_errors.c:255,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:259,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:261,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:263,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0117-mock_errors.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - auto_commit
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 191
    functionDepth: 7
    functionLinenumber: 191
    functionLinenumberEnd: 266
    functionName: do_test_offset_commit_request_timed_out
    functionSourceFile: /src/librdkafka/tests/0117-mock_errors.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_produce_msgs_easy_v
    - test_consumer_close
    - rd_kafka_committed
    - rd_kafka_commit
    - test_create_consumer
    - TEST_CALL_ERR__
    - test_consumer_subscribe
    - rd_kafka_mock_push_request_errors
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_conf_init
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_offset_commit_request_timed_out(rd_bool_t auto_commit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0117-mock_errors.c:281,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0117-mock_errors.c:283,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0117-mock_errors.c:285,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0117-mock_errors.c:287,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0117-mock_errors.c:289,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:293,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0117-mock_errors.c:294,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0117-mock_errors.c:296,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0117-mock_errors.c:300,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0117-mock_errors.c:302,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0117-mock_errors.c:305,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0117-mock_errors.c:307,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:309,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0117-mock_errors.c:311,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0117-mock_errors.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 273
    functionDepth: 7
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: do_test_joingroup_coordinator_load_in_progress
    functionSourceFile: /src/librdkafka/tests/0117-mock_errors.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_produce_msgs_easy_v
    - rd_kafka_mock_push_request_errors
    - test_conf_init
    - SUB_TEST
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_topic_create
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_joingroup_coordinator_load_in_progress()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0117-mock_errors.c:318,1
    - Dst: do_test_producer_storage_error
      Src: /src/librdkafka/tests/0117-mock_errors.c:320,1
    - Dst: do_test_producer_storage_error
      Src: /src/librdkafka/tests/0117-mock_errors.c:321,1
    - Dst: do_test_offset_commit_error_during_rebalance
      Src: /src/librdkafka/tests/0117-mock_errors.c:323,1
    - Dst: do_test_offset_commit_request_timed_out
      Src: /src/librdkafka/tests/0117-mock_errors.c:325,1
    - Dst: do_test_offset_commit_request_timed_out
      Src: /src/librdkafka/tests/0117-mock_errors.c:326,1
    - Dst: do_test_joingroup_coordinator_load_in_progress
      Src: /src/librdkafka/tests/0117-mock_errors.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 8
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: main_0117_mock_errors
    functionSourceFile: /src/librdkafka/tests/0117-mock_errors.c
    functionUses: 0
    functionsReached:
    - do_test_offset_commit_request_timed_out
    - do_test_producer_storage_error
    - do_test_offset_commit_error_during_rebalance
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_joingroup_coordinator_load_in_progress
    linkageType: ''
    returnType: int
    signature: int main_0117_mock_errors(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - C
    - ','
    - D
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: TEST_BRKVER
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BRKVER(A, B, C, D)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - V
    - ','
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TEST_BRKVER_X
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_BRKVER_X(V, I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - topic
    - ','
    - testid
    - ','
    - partition
    - ','
    - msgcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: test_produce_msgs_easy
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: test_produce_msgs_easy(topic, testid, partition, msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - file
    - ','
    - line
    - ','
    - do_lock
    - ','
    - fail_now
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: TEST_FAIL0
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL0(file, line, do_lock, fail_now, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: TEST_FAIL
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 166
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: TEST_FAIL_LATER
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL_LATER(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - LATER
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: TEST_FAIL_LATER0
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAIL_LATER0(LATER, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: TEST_FAILCNT
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_FAILCNT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: TEST_LATER_CHECK
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_LATER_CHECK(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: TEST_PERROR
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_PERROR(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: TEST_WARN
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_WARN(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: TEST_ASSERT
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 245
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT(expr, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: TEST_ASSERT_LATER
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEST_ASSERT_LATER(expr, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/tests/testshared.h:259,1
    - Dst: QueryPerformanceFrequency
      Src: /src/librdkafka/tests/testshared.h:265,1
    - Dst: QueryPerformanceCounter
      Src: /src/librdkafka/tests/testshared.h:266,1
    - Dst: clock_gettime
      Src: /src/librdkafka/tests/testshared.h:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 274
    functionName: test_clock
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 38
    functionsReached:
    - QueryPerformanceCounter
    - gettimeofday
    - QueryPerformanceFrequency
    - clock_gettime
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE test_clock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: TIMING_RESTART
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_RESTART(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TIMING
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: TIMING_START
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_START(TIMING, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: TIMING_STOPPED
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_STOPPED(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: TIMING_STOP
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_STOP(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: TIMING_REPORT
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_REPORT(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: TIMING_STOP
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_STOP(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TIMING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: TIMING_DURATION
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_DURATION(TIMING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - TIMING
    - ','
    - DO_FAIL_LATER
    - ','
    - TMIN_MS
    - ','
    - TMAX_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 349
    functionName: TIMING_ASSERT0
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_ASSERT0(TIMING, DO_FAIL_LATER, TMIN_MS, TMAX_MS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TIMING
    - ','
    - TMIN_MS
    - ','
    - TMAX_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: TIMING_ASSERT
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_ASSERT(TIMING, TMIN_MS, TMAX_MS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TIMING
    - ','
    - TMIN_MS
    - ','
    - TMAX_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: TIMING_ASSERT_LATER
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMING_ASSERT_LATER(TIMING, TMIN_MS, TMAX_MS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/testshared.h:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - timing
    - us
    argTypes:
    - test_timing_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: TIMING_EVERY
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 3
    functionsReached:
    - test_clock
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED TIMING_EVERY(test_timing_t *timing, int us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - IS_QUICK
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: SUB_TEST0
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_TEST0(IS_QUICK, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: SUB_TEST
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_TEST(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 386
    functionName: SUB_TEST_QUICK
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 114
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_TEST_QUICK(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: SUB_TEST_PASS
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 197
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_TEST_PASS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: SUB_TEST_SKIP
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_TEST_SKIP(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: rd_sleep
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_sleep(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    functionName: rd_sleep
    functionSourceFile: /src/librdkafka/tests/testshared.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_sleep(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: TestSchemaValidator::TestSchemaValidator
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSchemaValidator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:58,1
    - Dst: std::ifstream::is_open
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:59,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:60,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:60,1
    - Dst: strerror
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:61,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:62,1
    - Dst: std::istreambuf_iterator<char>
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:63,1
    - Dst: rapidjson::Document::Document
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:66,1
    - Dst: Parse
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:67,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:67,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:68,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:68,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:69,1
    - Dst: GetParseError
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:69,1
    - Dst: GetErrorOffset
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:70,1
    - Dst: rapidjson::SchemaDocument::SchemaDocument
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:72,1
    - Dst: rapidjson::SchemaValidator::SchemaValidator
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - schema_path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: TestSchemaValidator::TestSchemaValidator
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - rapidjson::GetParseError_En
    - Test::Fail
    - GetParseError
    - strerror
    - std::istreambuf_iterator<char>
    - std::ifstream::is_open
    - tostr
    - std::string::c_str
    - rapidjson::Document::Document
    - rapidjson::SchemaValidator::SchemaValidator
    - Parse
    - rapidjson::SchemaDocument::SchemaDocument
    - GetErrorOffset
    linkageType: ''
    returnType: void
    signature: void TestSchemaValidator(const std::string schema_path)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: ~TestSchemaValidator()
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestSchemaValidator()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:88,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:88,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:89,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:89,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:90,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:90,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:91,1
    - Dst: rapidjson::Document::Accept
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:94,1
    - Dst: GetInvalidSchemaPointer
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:97,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:98,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:98,1
    - Dst: rapidjson::StringBuffer::GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:98,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:99,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:99,1
    - Dst: GetInvalidSchemaKeyword
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:100,1
    - Dst: rapidjson::StringBuffer::Clear
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:101,1
    - Dst: GetInvalidDocumentPointer
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:103,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:104,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:104,1
    - Dst: rapidjson::StringBuffer::GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:104,1
    - Dst: rapidjson::StringBuffer::Clear
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:105,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:107,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:107,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - json_doc
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: TestSchemaValidator::validate
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - rapidjson::StringBuffer::GetString
    - GetInvalidDocumentPointer
    - rapidjson::GetParseError_En
    - Test::Fail
    - rapidjson::Document::GetErrorOffset
    - tostr
    - std::string::c_str
    - GetInvalidSchemaPointer
    - rapidjson::Document::GetParseError
    - rapidjson::Document::Parse
    - rapidjson::Document::Accept
    - GetInvalidSchemaKeyword
    - Test::Say
    - rapidjson::StringBuffer::Clear
    linkageType: ''
    returnType: void
    signature: void validate(const std::string &json_doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: TestSchemaValidator::TestSchemaValidator
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSchemaValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - schema_path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: TestSchemaValidator::TestSchemaValidator
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TestSchemaValidator(const std::string schema_path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: ~TestSchemaValidator()
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TestSchemaValidator()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - json_doc
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: TestSchemaValidator::validate
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void validate(const std::string &json_doc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TestSchemaValidator
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - schema_path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: myEventCb::myEventCb
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - TestSchemaValidator
    linkageType: ''
    returnType: void
    signature: void myEventCb(const std::string schema_path)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:152,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:155,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:155,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:155,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:157,1
    - Dst: validate
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:159,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:159,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: myEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - tostr
    - RdKafka::Event::str
    - Test::Say
    - validate
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:176,1
    - Dst: myEventCb
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:177,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:180,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:182,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:184,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:185,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:187,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:189,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:192,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:195,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:197,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:200,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:200,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:208,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:208,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:212,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 217
    functionName: test_stats_timing
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Conf*::set
    - tostr
    - thrd_create
    - Test::Say
    - myEventCb
    - test_clock
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void test_stats_timing()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:249,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:249,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:251,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:251,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:252,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:252,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:253,1
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:256,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:256,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:258,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:258,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:259,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:259,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:260,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:262,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:262,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:263,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:263,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:264,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:264,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:265,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:265,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:267,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:267,1
    - Dst: GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:267,1
    - Dst: GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:268,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:270,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:270,1
    - Dst: GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:270,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:271,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:271,1
    - Dst: GetString
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:271,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:285,1
    - Dst: topic::c_str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:286,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:287,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:287,1
    - Dst: rapidjson::GetValueByPointer
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:296,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:298,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:298,1
    - Dst: rapidjson::GetValueByPointer
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:301,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:303,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:303,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:306,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:306,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:307,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:307,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:308,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:308,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:310,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:310,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:311,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:311,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:312,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:312,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:314,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:314,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:314,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:316,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:317,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:318,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:319,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:326,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:326,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:326,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:330,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:330,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:330,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:338,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:338,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:339,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:339,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:340,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:340,1
    - Dst: assert
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:341,1
    - Dst: rapidjson::Document::HasMember
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:341,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:343,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:344,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:345,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:346,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:348,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:348,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:351,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 4
    argNames:
    - prod_stats
    - cons_stats
    - exp_parts
    - partcnt
    argTypes:
    - std::string
    - std::string
    - struct exp_part_stats*
    - int
    assertStmts:
    - condition: (c.HasMember("name"))
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (cp->HasMember("rxmsgs"))
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (!strcmp(c["type"].GetString(), "consumer"))
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (pp->HasMember("partition"))
      pos:
        line_end: 305
        line_start: 305
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("type"))
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("txmsg_bytes"))
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (cp->HasMember("rxbytes"))
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (pp->HasMember("txmsgs"))
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("txmsgs"))
      pos:
        line_end: 337
        line_start: 337
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (c.HasMember("type"))
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (!strcmp(p["type"].GetString(), "producer"))
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("rxmsgs"))
      pos:
        line_end: 339
        line_start: 339
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (pp->HasMember("txbytes"))
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("name"))
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (p.HasMember("rxmsg_bytes"))
      pos:
        line_end: 340
        line_start: 340
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    - condition: (cp->HasMember("partition"))
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    constantsTouched: []
    func_position:
      end: 354
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 354
    functionName: verify_e2e_stats
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - rapidjson::Value*::HasMember
    - rapidjson::GetParseError_En
    - Test::Fail
    - rd_snprintf
    - GetInt
    - strcmp
    - rapidjson::Document::GetErrorOffset
    - tostr
    - std::string::c_str
    - GetString
    - rapidjson::Document::GetParseError
    - rapidjson::Document::Parse
    - topic::c_str
    - Test::Say
    - rapidjson::Document::HasMember
    - assert
    - rapidjson::GetValueByPointer
    linkageType: ''
    returnType: void
    signature: "void verify_e2e_stats(const std::string &prod_stats,\n                             const
      std::string &cons_stats,\n                             struct exp_part_stats
      *exp_parts,\n                             int partcnt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:371,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:380,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:381,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:383,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:389,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:390,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:392,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:394,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:400,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:401,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:402,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:403,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:404,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:406,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:408,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:420,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:420,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:432,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:435,1
    - Dst: test_prepare_msg
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:439,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:441,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:444,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:444,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:446,1
    - Dst: free
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:450,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:452,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:454,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:459,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:460,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:466,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:466,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:468,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:469,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:470,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:470,1
    - Dst: TestMessageVerify
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:473,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:484,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:485,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:496,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:496,1
    - Dst: RdKafka::KafkaConsumer*::poll
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:498,1
    - Dst: verify_e2e_stats
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:502,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 510
    functionName: test_stats
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - Test::conf_init
    - RdKafka::Message*::err
    - TestMessageVerify
    - RdKafka::KafkaConsumer*::poll
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::Producer*::poll
    - verify_e2e_stats
    - malloc
    - test_prepare_msg
    - RdKafka::Message*::errstr
    - RdKafka::Conf*::set
    - test_mock_cluster_destroy
    - thrd_create
    - test_id_generate
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - Test::Fail
    - RdKafka::Producer*::produce
    - free
    - RdKafka::Producer*::flush
    - tostr
    - std::vector::push_back
    - test_mk_topic_name
    - RdKafka::KafkaConsumer*::assign
    linkageType: ''
    returnType: void
    signature: void test_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_stats_timing
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 4
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: main_0053_stats_timing
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - test_stats_timing
    linkageType: ''
    returnType: int
    signature: int main_0053_stats_timing(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_stats
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:521,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0053-stats_cb.cpp:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: main_0053_stats
    functionSourceFile: /src/librdkafka/tests/0053-stats_cb.cpp
    functionUses: 0
    functionsReached:
    - Test::Skip
    - test_stats
    linkageType: ''
    returnType: int
    signature: int main_0053_stats(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0031-get_offsets.c:46,1
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0031-get_offsets.c:53,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0031-get_offsets.c:55,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0031-get_offsets.c:57,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0031-get_offsets.c:58,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0031-get_offsets.c:59,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0031-get_offsets.c:63,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0031-get_offsets.c:64,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0031-get_offsets.c:65,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:68,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0031-get_offsets.c:71,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0031-get_offsets.c:74,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0031-get_offsets.c:75,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:77,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:78,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0031-get_offsets.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 43
    functionDepth: 6
    functionLinenumber: 43
    functionLinenumberEnd: 81
    functionName: test_query_watermark_offsets_timeout
    functionSourceFile: /src/librdkafka/tests/0031-get_offsets.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_create_handle
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_conf_init
    - TEST_ASSERT
    - test_mock_cluster_destroy
    - rd_kafka_mock_broker_push_request_error_rtts
    - rd_kafka_query_watermark_offsets
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - TEST_SKIP_MOCK_CLUSTER
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void test_query_watermark_offsets_timeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0031-get_offsets.c:90,1
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0031-get_offsets.c:97,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0031-get_offsets.c:99,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0031-get_offsets.c:101,1
    - Dst: rd_kafka_mock_topic_create
      Src: /src/librdkafka/tests/0031-get_offsets.c:102,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0031-get_offsets.c:105,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0031-get_offsets.c:107,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0031-get_offsets.c:108,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0031-get_offsets.c:109,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:111,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0031-get_offsets.c:114,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0031-get_offsets.c:117,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0031-get_offsets.c:120,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:125,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0031-get_offsets.c:128,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0031-get_offsets.c:131,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:133,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0031-get_offsets.c:136,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0031-get_offsets.c:139,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:141,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:142,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0031-get_offsets.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 87
    functionDepth: 6
    functionLinenumber: 87
    functionLinenumberEnd: 145
    functionName: test_query_watermark_offsets_leader_change
    functionSourceFile: /src/librdkafka/tests/0031-get_offsets.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - test_create_handle
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_conf_init
    - TEST_ASSERT
    - test_mock_cluster_destroy
    - rd_kafka_query_watermark_offsets
    - rd_kafka_mock_topic_create
    - test_mk_topic_name
    - test_conf_set
    - SUB_TEST_PASS
    - TEST_SKIP_MOCK_CLUSTER
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void test_query_watermark_offsets_leader_change(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0031-get_offsets.c:151,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0031-get_offsets.c:162,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0031-get_offsets.c:165,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0031-get_offsets.c:167,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:168,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0031-get_offsets.c:169,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0031-get_offsets.c:170,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0031-get_offsets.c:172,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0031-get_offsets.c:173,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0031-get_offsets.c:176,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0031-get_offsets.c:181,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0031-get_offsets.c:188,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0031-get_offsets.c:190,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0031-get_offsets.c:191,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0031-get_offsets.c:195,1
    - Dst: rd_kafka_get_watermark_offsets
      Src: /src/librdkafka/tests/0031-get_offsets.c:196,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0031-get_offsets.c:197,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0031-get_offsets.c:199,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0031-get_offsets.c:200,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0031-get_offsets.c:202,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0031-get_offsets.c:208,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0031-get_offsets.c:213,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0031-get_offsets.c:221,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:223,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0031-get_offsets.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 150
    functionDepth: 7
    functionLinenumber: 150
    functionLinenumberEnd: 226
    functionName: main_0031_get_offsets
    functionSourceFile: /src/librdkafka/tests/0031-get_offsets.c
    functionUses: 0
    functionsReached:
    - test_create_topic_object
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - test_consumer_stop
    - TEST_SAY
    - TIMING_START
    - test_produce_msgs_easy
    - rd_kafka_err2str
    - rd_kafka_get_watermark_offsets
    - rd_kafka_query_watermark_offsets
    - test_consume_msgs
    - test_mk_topic_name
    - TEST_FAIL
    - tmout_multip
    - test_create_consumer
    - test_consumer_start
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: int main_0031_get_offsets(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_query_watermark_offsets_timeout
      Src: /src/librdkafka/tests/0031-get_offsets.c:230,1
    - Dst: test_query_watermark_offsets_leader_change
      Src: /src/librdkafka/tests/0031-get_offsets.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 7
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: main_0031_get_offsets_mock
    functionSourceFile: /src/librdkafka/tests/0031-get_offsets.c
    functionUses: 0
    functionsReached:
    - test_query_watermark_offsets_timeout
    - test_query_watermark_offsets_leader_change
    linkageType: ''
    returnType: int
    signature: int main_0031_get_offsets_mock(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0030-offset_commit.c:56,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:56,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0030-offset_commit.c:60,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:62,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:62,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:64,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0030-offset_commit.c:68,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:73,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:74,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:77,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:82,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0030-offset_commit.c:87,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0030-offset_commit.c:93,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0030-offset_commit.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 102
    functionName: offset_commit_cb
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 3
    functionsReached:
    - TEST_SAYL
    - test_print_partition_list
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_find
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb(rd_kafka_t *rk,\n                             rd_kafka_resp_err_t
      err,\n                             rd_kafka_topic_partition_list_t *offsets,\n
      \                            void *opaque)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0030-offset_commit.c:122,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0030-offset_commit.c:124,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:125,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:126,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:128,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:130,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/tests/0030-offset_commit.c:131,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:132,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0030-offset_commit.c:133,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:134,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/tests/0030-offset_commit.c:135,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0030-offset_commit.c:137,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0030-offset_commit.c:155,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0030-offset_commit.c:155,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0030-offset_commit.c:157,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0030-offset_commit.c:160,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0030-offset_commit.c:162,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:163,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0030-offset_commit.c:164,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:165,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0030-offset_commit.c:171,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:176,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:179,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0030-offset_commit.c:180,1
    - Dst: rd_kafka_offset_store
      Src: /src/librdkafka/tests/0030-offset_commit.c:187,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:190,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:192,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0030-offset_commit.c:197,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/tests/0030-offset_commit.c:201,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0030-offset_commit.c:202,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:204,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:205,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:211,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:215,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0030-offset_commit.c:219,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:220,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:221,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/tests/0030-offset_commit.c:224,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:225,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:226,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0030-offset_commit.c:228,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:229,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:231,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:234,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/tests/0030-offset_commit.c:239,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:240,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:241,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:242,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0030-offset_commit.c:245,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:247,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:254,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0030-offset_commit.c:262,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0030-offset_commit.c:266,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:270,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0030-offset_commit.c:283,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:284,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0030-offset_commit.c:285,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:286,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:288,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:289,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0030-offset_commit.c:293,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:294,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0030-offset_commit.c:296,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0030-offset_commit.c:296,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:298,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:299,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0030-offset_commit.c:301,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:302,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:304,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:307,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:310,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0030-offset_commit.c:311,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:312,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:317,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0030-offset_commit.c:319,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0030-offset_commit.c:320,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0030-offset_commit.c:323,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0030-offset_commit.c:325,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:326,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0030-offset_commit.c:327,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:328,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0030-offset_commit.c:334,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:339,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:342,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0030-offset_commit.c:343,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:346,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:351,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:357,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0030-offset_commit.c:358,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:359,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0030-offset_commit.c:361,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0030-offset_commit.c:363,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 130
    argCount: 5
    argNames:
    - what
    - auto_commit
    - auto_store
    - async
    - subscribe
    argTypes:
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 105
    functionDepth: 6
    functionLinenumber: 105
    functionLinenumberEnd: 364
    functionName: do_offset_test
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_conf_set_offset_commit_cb
    - rd_kafka_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_offset_store
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - test_consumer_close
    - rd_kafka_committed
    - TEST_FAIL
    - test_str_id_generate
    - test_create_handle
    - rd_kafka_position
    - test_consumer_subscribe
    - test_consumer_assign
    - rd_kafka_message_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_topic_partition_list_find
    - tmout_multip
    - SUB_TEST_QUICK
    - TIMING_STOP
    - test_consumer_poll_no_msgs
    - rd_kafka_conf_set_default_topic_conf
    - test_conf_init
    - TIMING_START
    - rd_kafka_poll_set_consumer
    - test_conf_set
    - rd_kafka_commit_message
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: void
    signature: "void do_offset_test(const char *what,\n                           int
      auto_commit,\n                           int auto_store,\n                           int
      async,\n                           int subscribe)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:375,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:377,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:378,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:381,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:382,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:382,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:385,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:388,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:391,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 401
    functionName: empty_offset_commit_cb
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void empty_offset_commit_cb(rd_kafka_t *rk,\n                                   rd_kafka_resp_err_t
      err,\n                                   rd_kafka_topic_partition_list_t *offsets,\n
      \                                  void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0030-offset_commit.c:414,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0030-offset_commit.c:416,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:417,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:418,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0030-offset_commit.c:419,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:421,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0030-offset_commit.c:423,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0030-offset_commit.c:425,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0030-offset_commit.c:427,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:429,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/tests/0030-offset_commit.c:431,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:434,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:434,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:436,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:436,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:438,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/tests/0030-offset_commit.c:440,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:443,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:444,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:446,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:446,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0030-offset_commit.c:448,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:450,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0030-offset_commit.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 453
    functionName: do_empty_commit
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_topic_conf_set
    - test_conf_init
    - TEST_SAY
    - rd_kafka_commit_queue
    - rd_kafka_err2str
    - test_consumer_close
    - test_conf_set
    - SUB_TEST_PASS
    - test_create_consumer
    - TEST_FAIL
    - test_str_id_generate
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_empty_commit(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:466,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:467,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:469,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:472,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:475,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:479,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:481,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:482,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0030-offset_commit.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 486
    functionName: nonexist_offset_commit_cb
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void nonexist_offset_commit_cb(rd_kafka_t *rk,\n                                      rd_kafka_resp_err_t
      err,\n                                      rd_kafka_topic_partition_list_t
      *offsets,\n                                      void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0030-offset_commit.c:494,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0030-offset_commit.c:497,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0030-offset_commit.c:499,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:505,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0030-offset_commit.c:507,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0030-offset_commit.c:508,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/tests/0030-offset_commit.c:510,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:512,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0030-offset_commit.c:514,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0030-offset_commit.c:515,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:517,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0030-offset_commit.c:518,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:519,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0030-offset_commit.c:520,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/tests/0030-offset_commit.c:522,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0030-offset_commit.c:524,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:524,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0030-offset_commit.c:526,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0030-offset_commit.c:527,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:529,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0030-offset_commit.c:531,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0030-offset_commit.c:533,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0030-offset_commit.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 536
    functionName: do_nonexist_commit
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_conf_set_default_topic_conf
    - test_conf_init
    - TEST_SAY
    - rd_kafka_topic_partition_list_new
    - rd_kafka_commit_queue
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - test_consumer_close
    - rd_kafka_poll_set_consumer
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - TEST_FAIL
    - test_str_id_generate
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_nonexist_commit(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0030-offset_commit.c:541,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0030-offset_commit.c:541,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0030-offset_commit.c:542,1
    - Dst: do_empty_commit
      Src: /src/librdkafka/tests/0030-offset_commit.c:544,1
    - Dst: do_nonexist_commit
      Src: /src/librdkafka/tests/0030-offset_commit.c:546,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:548,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:552,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:557,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0030-offset_commit.c:563,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:567,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:571,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:576,1
    - Dst: do_offset_test
      Src: /src/librdkafka/tests/0030-offset_commit.c:581,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0030-offset_commit.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 539
    functionDepth: 8
    functionLinenumber: 539
    functionLinenumberEnd: 589
    functionName: main_0030_offset_commit
    functionSourceFile: /src/librdkafka/tests/0030-offset_commit.c
    functionUses: 0
    functionsReached:
    - rd_free
    - do_offset_test
    - do_nonexist_commit
    - test_produce_msgs_easy
    - do_empty_commit
    - test_mk_topic_name
    - rd_strdup
    linkageType: ''
    returnType: int
    signature: int main_0030_offset_commit(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0002-unkpart.c:55,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:58,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:63,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:64,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:69,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 71
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0002-unkpart.c
    functionUses: 9
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - TEST_SAY
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:87,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0002-unkpart.c:89,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0002-unkpart.c:92,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0002-unkpart.c:95,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0002-unkpart.c:97,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0002-unkpart.c:97,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:99,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:100,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0002-unkpart.c:100,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0002-unkpart.c:104,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0002-unkpart.c:105,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:107,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:108,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0002-unkpart.c:110,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0002-unkpart.c:114,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0002-unkpart.c:116,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0002-unkpart.c:118,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0002-unkpart.c:119,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0002-unkpart.c:121,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:123,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:128,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:130,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0002-unkpart.c:130,1
    - Dst: free
      Src: /src/librdkafka/tests/0002-unkpart.c:131,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:135,1
    - Dst: test_get_partition_count
      Src: /src/librdkafka/tests/0002-unkpart.c:148,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/tests/0002-unkpart.c:149,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:150,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0002-unkpart.c:155,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:158,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0002-unkpart.c:162,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0002-unkpart.c:165,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:168,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0002-unkpart.c:168,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0002-unkpart.c:169,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 74
    functionDepth: 8
    functionLinenumber: 74
    functionLinenumberEnd: 172
    functionName: do_test_unkpart
    functionSourceFile: /src/librdkafka/tests/0002-unkpart.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - TEST_ASSERT
    - rd_kafka_name
    - rd_kafka_last_error
    - rd_kafka_destroy
    - rd_kafka_conf_set_dr_cb
    - TEST_SAY
    - rd_kafka_err2str
    - test_get_partition_count
    - TEST_FAIL
    - rd_kafka_produce
    - rd_kafka_metadata
    - malloc
    - test_create_handle
    - rd_kafka_flush
    - rd_kafka_topic_name
    - tmout_multip
    - free
    - test_conf_init
    - test_mk_topic_name
    - strlen
    - rd_kafka_metadata_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_unkpart(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0002-unkpart.c:185,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:192,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0002-unkpart.c:194,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/tests/0002-unkpart.c:196,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0002-unkpart.c:197,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0002-unkpart.c:198,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0002-unkpart.c:199,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0002-unkpart.c:202,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0002-unkpart.c:203,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0002-unkpart.c:205,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:207,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:207,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0002-unkpart.c:210,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:212,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:212,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0002-unkpart.c:215,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:218,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0002-unkpart.c:218,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0002-unkpart.c:221,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0002-unkpart.c:222,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:223,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0002-unkpart.c:223,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0002-unkpart.c:224,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:226,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0002-unkpart.c:226,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0002-unkpart.c:228,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0002-unkpart.c:230,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0002-unkpart.c:233,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0002-unkpart.c:234,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0002-unkpart.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 184
    functionDepth: 6
    functionLinenumber: 184
    functionLinenumberEnd: 237
    functionName: do_test_unkpart_timeout_nobroker
    functionSourceFile: /src/librdkafka/tests/0002-unkpart.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - test_create_handle
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - rd_kafka_flush
    - rd_kafka_topic_new
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_err2str
    - rd_kafka_poll
    - rd_kafka_outq_len
    - test_conf_set
    - test_mk_topic_name
    - rd_kafka_produce
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: void
    signature: void do_test_unkpart_timeout_nobroker(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_unkpart
      Src: /src/librdkafka/tests/0002-unkpart.c:241,1
    - Dst: do_test_unkpart_timeout_nobroker
      Src: /src/librdkafka/tests/0002-unkpart.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 9
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: main_0002_unkpart
    functionSourceFile: /src/librdkafka/tests/0002-unkpart.c
    functionUses: 0
    functionsReached:
    - do_test_unkpart_timeout_nobroker
    - do_test_unkpart
    linkageType: ''
    returnType: int
    signature: int main_0002_unkpart(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem_ctrl.c:42,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/sockem_ctrl.c:52,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/sockem_ctrl.c:55,1
    - Dst: cnd_signal
      Src: /src/librdkafka/tests/sockem_ctrl.c:60,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/sockem_ctrl.c:65,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/tests/sockem_ctrl.c:66,1
    - Dst: printf
      Src: /src/librdkafka/tests/sockem_ctrl.c:73,1
    - Dst: test_socket_sockem_set_all
      Src: /src/librdkafka/tests/sockem_ctrl.c:78,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/tests/sockem_ctrl.c:80,1
    - Dst: free
      Src: /src/librdkafka/tests/sockem_ctrl.c:81,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem_ctrl.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: sockem_ctrl_thrd_main
    functionSourceFile: /src/librdkafka/tests/sockem_ctrl.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - free
    - mtx_lock
    - printf
    - TAILQ_FIRST
    - test_socket_sockem_set_all
    - cnd_timedwait_ms
    - cnd_signal
    - mtx_unlock
    - test_clock
    linkageType: ''
    returnType: int
    signature: int sockem_ctrl_thrd_main(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/sockem_ctrl.c:98,1
    - Dst: calloc
      Src: /src/librdkafka/tests/sockem_ctrl.c:100,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/sockem_ctrl.c:101,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem_ctrl.c:104,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/tests/sockem_ctrl.c:106,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/sockem_ctrl.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/sockem_ctrl.c:111,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/tests/sockem_ctrl.c:112,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem_ctrl.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ctrl
    - after
    - delay
    argTypes:
    - sockem_ctrl_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 115
    functionName: sockem_ctrl_set_delay
    functionSourceFile: /src/librdkafka/tests/sockem_ctrl.c
    functionUses: 2
    functionsReached:
    - mtx_lock
    - calloc
    - TEST_SAY
    - cnd_broadcast
    - TAILQ_INSERT_TAIL
    - cnd_timedwait_ms
    - mtx_unlock
    - test_clock
    linkageType: ''
    returnType: void
    signature: void sockem_ctrl_set_delay(sockem_ctrl_t *ctrl, int after, int delay)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/tests/sockem_ctrl.c:119,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/sockem_ctrl.c:120,1
    - Dst: cnd_init
      Src: /src/librdkafka/tests/sockem_ctrl.c:121,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/tests/sockem_ctrl.c:122,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem_ctrl.c:125,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/sockem_ctrl.c:126,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/sockem_ctrl.c:128,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem_ctrl.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - sockem_ctrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: sockem_ctrl_init
    functionSourceFile: /src/librdkafka/tests/sockem_ctrl.c
    functionUses: 2
    functionsReached:
    - mtx_lock
    - cnd_init
    - thrd_create
    - memset
    - mtx_init
    - TAILQ_INIT
    - mtx_unlock
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void sockem_ctrl_init(sockem_ctrl_t *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/sockem_ctrl.c:136,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/tests/sockem_ctrl.c:138,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/sockem_ctrl.c:139,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/sockem_ctrl.c:141,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/tests/sockem_ctrl.c:143,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/sockem_ctrl.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ctrl
    argTypes:
    - sockem_ctrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: sockem_ctrl_term
    functionSourceFile: /src/librdkafka/tests/sockem_ctrl.c
    functionUses: 2
    functionsReached:
    - mtx_lock
    - thrd_join
    - cnd_broadcast
    - cnd_destroy
    - mtx_destroy
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void sockem_ctrl_term(sockem_ctrl_t *ctrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0077-compaction.c:57,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0077-compaction.c:58,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:60,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0077-compaction.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - topic
    - partition
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: get_low_wmark
    functionSourceFile: /src/librdkafka/tests/0077-compaction.c
    functionUses: 0
    functionsReached:
    - rd_kafka_query_watermark_offsets
    - tmout_multip
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: int64_t
    signature: int64_t get_low_wmark(rd_kafka_t *rk, const char *topic, int32_t partition)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0077-compaction.c:76,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:78,1
    - Dst: get_low_wmark
      Src: /src/librdkafka/tests/0077-compaction.c:84,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:86,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0077-compaction.c:94,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0077-compaction.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - rk
    - topic
    - partition
    - low_offset
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: wait_compaction
    functionSourceFile: /src/librdkafka/tests/0077-compaction.c
    functionUses: 0
    functionsReached:
    - get_low_wmark
    - rd_sleep
    - TEST_SAY
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void wait_compaction(rd_kafka_t *rk,\n                            const
      char *topic,\n                            int32_t partition,\n                            int64_t
      low_offset,\n                            int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0077-compaction.c:115,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0077-compaction.c:117,1
    - Dst: calloc
      Src: /src/librdkafka/tests/0077-compaction.c:119,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:121,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0077-compaction.c:126,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0077-compaction.c:127,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0077-compaction.c:130,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0077-compaction.c:132,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0077-compaction.c:135,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0077-compaction.c:135,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0077-compaction.c:136,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0077-compaction.c:137,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0077-compaction.c:138,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0077-compaction.c:139,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:141,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0077-compaction.c:141,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0077-compaction.c:145,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0077-compaction.c:145,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0077-compaction.c:146,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0077-compaction.c:147,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0077-compaction.c:148,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:149,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0077-compaction.c:149,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0077-compaction.c:151,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0077-compaction.c:151,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:152,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0077-compaction.c:154,1
    - Dst: free
      Src: /src/librdkafka/tests/0077-compaction.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - topic
    - partition
    - testid
    - msgcnt
    - msgsize
    argTypes:
    - char*
    - int32_t
    - uint64_t
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 157
    functionName: produce_compactable_msgs
    functionSourceFile: /src/librdkafka/tests/0077-compaction.c
    functionUses: 0
    functionsReached:
    - test_flush
    - TEST_ASSERT
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - TEST_SAY
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - test_str_id_generate
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - test_id_generate
    - RD_KAFKA_V_KEY
    - tmout_multip
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - free
    - calloc
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: "void produce_compactable_msgs(const char *topic,\n                                     int32_t
      partition,\n                                     uint64_t testid,\n                                     int
      msgcnt,\n                                     size_t msgsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0077-compaction.c:162,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0077-compaction.c:178,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:180,1
    - Dst: test_kafka_topics
      Src: /src/librdkafka/tests/0077-compaction.c:185,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0077-compaction.c:197,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0077-compaction.c:199,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0077-compaction.c:200,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0077-compaction.c:202,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0077-compaction.c:205,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0077-compaction.c:206,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0077-compaction.c:207,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0077-compaction.c:208,1
    - Dst: produce_compactable_msgs
      Src: /src/librdkafka/tests/0077-compaction.c:213,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0077-compaction.c:216,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:218,1
    - Dst: test_msg_fmt
      Src: /src/librdkafka/tests/0077-compaction.c:235,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0077-compaction.c:243,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0077-compaction.c:247,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0077-compaction.c:251,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0077-compaction.c:256,1
    - Dst: test_msgver_add_msg00
      Src: /src/librdkafka/tests/0077-compaction.c:262,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0077-compaction.c:263,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0077-compaction.c:270,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0077-compaction.c:271,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0077-compaction.c:272,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0077-compaction.c:273,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0077-compaction.c:274,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0077-compaction.c:275,1
    - Dst: RD_KAFKA_V_HEADER
      Src: /src/librdkafka/tests/0077-compaction.c:276,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0077-compaction.c:280,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:281,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0077-compaction.c:282,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0077-compaction.c:288,1
    - Dst: test_wait_delivery
      Src: /src/librdkafka/tests/0077-compaction.c:291,1
    - Dst: produce_compactable_msgs
      Src: /src/librdkafka/tests/0077-compaction.c:299,1
    - Dst: wait_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:309,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:312,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0077-compaction.c:315,1
    - Dst: test_consume_msgs_easy_mv
      Src: /src/librdkafka/tests/0077-compaction.c:317,1
    - Dst: test_msgver_verify_compare
      Src: /src/librdkafka/tests/0077-compaction.c:318,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0077-compaction.c:321,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0077-compaction.c:323,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0077-compaction.c:325,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0077-compaction.c:326,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:328,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 56
    argCount: 2
    argNames:
    - msgs_per_key
    - compression
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 161
    functionDepth: 8
    functionLinenumber: 161
    functionLinenumberEnd: 330
    functionName: do_test_compaction
    functionSourceFile: /src/librdkafka/tests/0077-compaction.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - RD_KAFKA_V_MSGFLAGS
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - RD_KAFKA_V_HEADER
    - TEST_ASSERT
    - rd_kafka_name
    - test_wait_topic_exists
    - test_msgver_verify_compare
    - test_wait_delivery
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - produce_compactable_msgs
    - TEST_SAY
    - rd_kafka_err2str
    - wait_compaction
    - RD_KAFKA_V_PARTITION
    - test_kafka_topics
    - test_create_handle
    - RD_KAFKA_V_VALUE
    - test_id_generate
    - test_msgver_add_msg00
    - RD_KAFKA_V_KEY
    - test_msgver_clear
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - test_msgver_init
    - test_msg_fmt
    - test_conf_init
    - RD_KAFKA_V_TOPIC
    - test_mk_topic_name
    - test_conf_set
    - strlen
    - test_consume_msgs_easy_mv
    linkageType: ''
    returnType: void
    signature: void do_test_compaction(int msgs_per_key, const char *compression)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_can_create_topics
      Src: /src/librdkafka/tests/0077-compaction.c:334,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0077-compaction.c:337,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0077-compaction.c:338,1
    - Dst: do_test_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:342,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0077-compaction.c:345,1
    - Dst: do_test_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:351,1
    - Dst: do_test_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:353,1
    - Dst: do_test_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:356,1
    - Dst: do_test_compaction
      Src: /src/librdkafka/tests/0077-compaction.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 332
    functionDepth: 9
    functionLinenumber: 332
    functionLinenumberEnd: 363
    functionName: main_0077_compaction
    functionSourceFile: /src/librdkafka/tests/0077-compaction.c
    functionUses: 0
    functionsReached:
    - do_test_compaction
    - test_needs_auth
    - TEST_SAY
    - TEST_SKIP
    - test_can_create_topics
    linkageType: ''
    returnType: int
    signature: int main_0077_compaction(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:60,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: is_consuming
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int is_consuming()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:70,1
    - Dst: free
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:74,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:76,1
    - Dst: is_consuming
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:77,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:80,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:87,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:88,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:94,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:95,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:96,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:99,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:100,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:104,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:107,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:109,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:111,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:114,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:117,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 120
    functionName: partition_consume
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_queue
    - free
    - mtx_lock
    - rd_kafka_message_destroy
    - TEST_SAY
    - rd_kafka_message_errstr
    - rd_kafka_queue_destroy
    - is_consuming
    - mtx_unlock
    - TEST_FAIL
    - test_clock
    linkageType: ''
    returnType: int
    signature: int partition_consume(void *args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:124,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:129,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkqu
    - partition
    argTypes:
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: spawn_thread
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 0
    functionsReached:
    - thrd_create
    - TEST_FAIL
    - malloc
    linkageType: ''
    returnType: thrd_t
    signature: thrd_t spawn_thread(rd_kafka_queue_t *rkqu, int partition)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:142,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:144,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:145,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:145,1
    - Dst: free
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:148,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:150,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:156,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:158,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:160,1
    - Dst: rd_kafka_queue_get_partition
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:166,1
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:169,1
    - Dst: spawn_thread
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:171,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:180,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:182,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:184,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:186,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:191,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 194
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 13
    functionsReached:
    - spawn_thread
    - rd_kafka_memberid
    - test_consumer_assign_by_rebalance_protocol
    - free
    - mtx_lock
    - test_consumer_unassign_by_rebalance_protocol
    - TEST_SAY
    - rd_kafka_err2str
    - test_print_partition_list
    - rd_kafka_queue_get_partition
    - rd_kafka_name
    - rd_kafka_queue_forward
    - mtx_unlock
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:199,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rk_c
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: get_assignment
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 2
    functionsReached:
    - rd_kafka_consumer_poll
    - rd_kafka_message_destroy
    linkageType: ''
    returnType: void
    signature: void get_assignment(rd_kafka_t *rk_c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:206,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:223,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:226,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:227,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:228,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:231,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:236,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:237,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:239,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:240,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:242,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:245,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:247,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:251,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:252,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:255,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:258,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:260,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:263,1
    - Dst: get_assignment
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:264,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:265,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:267,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:271,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:273,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:275,1
    - Dst: rd_kafka_subscription
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:278,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:278,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:279,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:280,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:280,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:282,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:283,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:287,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:287,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:288,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:289,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:289,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:290,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:292,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:292,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:293,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:294,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:295,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:296,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:296,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:298,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:301,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:302,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:307,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/tests/0056-balanced_group_mt.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 205
    functionDepth: 8
    functionLinenumber: 205
    functionLinenumberEnd: 315
    functionName: main_0056_balanced_group_mt
    functionSourceFile: /src/librdkafka/tests/0056-balanced_group_mt.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - mtx_init
    - test_wait_topic_exists
    - rd_kafka_subscription
    - get_assignment
    - rd_kafka_destroy
    - test_produce_msgs
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - rd_kafka_consumer_close
    - mtx_destroy
    - rd_kafka_topic_partition_list_destroy
    - test_create_producer_topic
    - TIMING_STOP
    - test_create_producer
    - rd_kafka_unsubscribe
    - thrd_join
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: int
    signature: int main_0056_balanced_group_mt(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:49,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:51,1
    - Dst: sockem_close
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:54,1
    - Dst: sockem_set
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - test
    - skm
    - id
    argTypes:
    - struct test*
    - sockem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 4
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: connect_cb
    functionSourceFile: /src/librdkafka/tests/0049-consume_conn_close.c
    functionUses: 3
    functionsReached:
    - TEST_LOCK
    - sockem_close
    - TEST_UNLOCK
    - sockem_set
    linkageType: ''
    returnType: int
    signature: int connect_cb(struct test *test, sockem_t *skm, const char *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0049-consume_conn_close.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:80,1
    - Dst: test_conf_match
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:89,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:90,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:96,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:100,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:101,1
    - Dst: test_socket_enable
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:104,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:108,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:110,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:112,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:114,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:116,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:118,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:119,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:119,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:122,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:124,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:126,1
    - Dst: test_socket_close_all
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:127,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:129,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:134,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:135,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:136,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:136,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:137,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:139,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:141,1
    - Dst: TEST_LOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:142,1
    - Dst: TEST_UNLOCK
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:144,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:146,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:147,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:150,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:153,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:155,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0049-consume_conn_close.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 78
    functionDepth: 7
    functionLinenumber: 78
    functionLinenumberEnd: 159
    functionName: main_0049_consume_conn_close
    functionSourceFile: /src/librdkafka/tests/0049-consume_conn_close.c
    functionUses: 0
    functionsReached:
    - TEST_UNLOCK
    - TEST_LOCK
    - TEST_ASSERT
    - rd_kafka_assignment
    - test_conf_match
    - test_consumer_poll
    - rd_kafka_destroy
    - test_topic_conf_set
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_err2str
    - test_consumer_close
    - test_msgver_verify
    - test_socket_enable
    - test_create_consumer
    - rd_kafka_commit
    - test_consumer_subscribe
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - test_msgver_init
    - test_socket_close_all
    - rd_sleep
    - test_conf_init
    - TEST_SKIP
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0049_consume_conn_close(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0038-performance.c:45,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0038-performance.c:56,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0038-performance.c:56,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0038-performance.c:57,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0038-performance.c:62,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0038-performance.c:64,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0038-performance.c:65,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0038-performance.c:66,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0038-performance.c:67,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0038-performance.c:68,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0038-performance.c:69,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0038-performance.c:70,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0038-performance.c:71,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0038-performance.c:75,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0038-performance.c:76,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0038-performance.c:77,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0038-performance.c:79,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0038-performance.c:80,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0038-performance.c:82,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0038-performance.c:84,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0038-performance.c:85,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0038-performance.c:86,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0038-performance.c:88,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0038-performance.c:89,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0038-performance.c:90,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0038-performance.c:91,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0038-performance.c:93,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0038-performance.c:95,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0038-performance.c:96,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0038-performance.c:98,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0038-performance.c:99,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0038-performance.c:101,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0038-performance.c:102,1
    - Dst: TEST_REPORT
      Src: /src/librdkafka/tests/0038-performance.c:104,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0038-performance.c:111,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0038-performance.c:114,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0038-performance.c:116,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0038-performance.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 121
    functionName: main_0038_performance
    functionSourceFile: /src/librdkafka/tests/0038-performance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - test_consume_msgs
    - test_wait_topic_exists
    - TIMING_DURATION
    - rd_kafka_destroy
    - test_produce_msgs
    - test_consumer_stop
    - TEST_SAY
    - TEST_REPORT
    - test_create_consumer
    - test_create_handle
    - strcmp
    - test_id_generate
    - test_create_producer_topic
    - rd_kafka_conf_set_dr_msg_cb
    - TIMING_STOP
    - test_conf_init
    - TIMING_START
    - test_mk_topic_name
    - test_conf_set
    - test_consumer_start
    linkageType: ''
    returnType: int
    signature: int main_0038_performance(int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0066-plugins.cpp:55,1
    - Dst: _getcwd
      Src: /src/librdkafka/tests/0066-plugins.cpp:74,1
    - Dst: getcwd
      Src: /src/librdkafka/tests/0066-plugins.cpp:76,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0066-plugins.cpp:79,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:79,1
    - Dst: ictest_init
      Src: /src/librdkafka/tests/0066-plugins.cpp:82,1
    - Dst: ictest_cnt_init
      Src: /src/librdkafka/tests/0066-plugins.cpp:83,1
    - Dst: ictest_cnt_init
      Src: /src/librdkafka/tests/0066-plugins.cpp:84,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0066-plugins.cpp:87,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0066-plugins.cpp:90,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:90,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0066-plugins.cpp:91,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:92,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:92,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0066-plugins.cpp:96,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:98,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:102,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:102,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0066-plugins.cpp:107,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:108,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:108,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0066-plugins.cpp:109,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:110,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:110,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0066-plugins.cpp:111,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:112,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:112,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0066-plugins.cpp:114,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0066-plugins.cpp:115,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0066-plugins.cpp:115,1
    - Dst: ictest_free
      Src: /src/librdkafka/tests/0066-plugins.cpp:121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 122
    functionName: do_test_plugin
    functionSourceFile: /src/librdkafka/tests/0066-plugins.cpp
    functionUses: 0
    functionsReached:
    - ictest_init
    - getcwd
    - Test::Fail
    - RdKafka::Conf*::set
    - strcmp
    - ictest_free
    - tostr
    - ictest_cnt_init
    - thrd_create
    - test_mk_topic_name
    - Test::Say
    - _getcwd
    linkageType: ''
    returnType: void
    signature: void do_test_plugin()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_plugin
      Src: /src/librdkafka/tests/0066-plugins.cpp:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: main_0066_plugins
    functionSourceFile: /src/librdkafka/tests/0066-plugins.cpp
    functionUses: 0
    functionsReached:
    - do_test_plugin
    linkageType: ''
    returnType: int
    signature: int main_0066_plugins(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0051-assign_adds.c:50,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0051-assign_adds.c:50,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0051-assign_adds.c:51,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0051-assign_adds.c:51,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0051-assign_adds.c:52,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0051-assign_adds.c:52,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0051-assign_adds.c:64,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0051-assign_adds.c:66,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0051-assign_adds.c:70,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0051-assign_adds.c:71,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0051-assign_adds.c:73,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0051-assign_adds.c:76,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0051-assign_adds.c:79,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0051-assign_adds.c:81,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0051-assign_adds.c:82,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0051-assign_adds.c:84,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0051-assign_adds.c:86,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0051-assign_adds.c:88,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0051-assign_adds.c:89,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0051-assign_adds.c:90,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0051-assign_adds.c:92,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0051-assign_adds.c:93,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0051-assign_adds.c:93,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0051-assign_adds.c:96,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0051-assign_adds.c:98,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0051-assign_adds.c:101,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/tests/0051-assign_adds.c:104,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/tests/0051-assign_adds.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0051-assign_adds.c:106,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0051-assign_adds.c:106,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0051-assign_adds.c:108,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0051-assign_adds.c:110,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0051-assign_adds.c:112,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0051-assign_adds.c:115,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0051-assign_adds.c:117,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0051-assign_adds.c:119,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0051-assign_adds.c:120,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0051-assign_adds.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 46
    functionDepth: 8
    functionLinenumber: 46
    functionLinenumberEnd: 126
    functionName: main_0051_assign_adds
    functionSourceFile: /src/librdkafka/tests/0051-assign_adds.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - test_wait_topic_exists
    - rd_kafka_topic_partition_list_del
    - test_consumer_poll
    - rd_kafka_destroy
    - test_produce_msgs
    - test_topic_conf_set
    - TEST_SAY
    - rd_kafka_err2str
    - test_consumer_close
    - test_msgver_verify
    - test_create_consumer
    - test_print_partition_list
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - test_msgver_clear
    - rd_kafka_topic_partition_list_destroy
    - test_create_producer_topic
    - rd_strdup
    - rd_free
    - test_consumer_poll_no_msgs
    - test_create_producer
    - test_msgver_init
    - test_conf_init
    - rd_kafka_assign
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0051_assign_adds(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:59,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:64,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:67,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:70,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:71,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:73,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:75,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:75,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:78,1
    - Dst: test_msgver_add_msg
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:83,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:84,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:88,1
    - Dst: free
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 94
    functionName: consumer_batch_queue
    functionSourceFile: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c
    functionUses: 2
    functionsReached:
    - free
    - TEST_SAY
    - TIMING_START
    - TEST_ASSERT
    - rd_kafka_message_destroy
    - TIMING_STOP
    - rd_kafka_name
    - rd_kafka_consume_batch_queue
    - test_msgver_add_msg
    - TEST_FAIL
    - malloc
    linkageType: ''
    returnType: int
    signature: int consumer_batch_queue(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:145,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:147,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:148,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:149,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:150,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:152,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:153,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:156,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:159,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:163,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:163,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:164,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:166,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:167,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:170,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:181,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:183,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:185,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:186,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:188,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:191,1
    - Dst: consumer_batch_queue
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:203,1
    - Dst: test_msgver_verify
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:205,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:208,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:210,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:211,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:213,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:214,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:216,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:217,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 49
    argCount: 1
    argNames:
    - strategy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 128
    functionDepth: 7
    functionLinenumber: 128
    functionLinenumberEnd: 220
    functionName: do_test_consume_batch
    functionSourceFile: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c
    functionUses: 1
    functionsReached:
    - rd_kafka_queue_destroy
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_produce_msgs_easy
    - test_consumer_close
    - consumer_batch_queue
    - test_msgver_verify
    - TEST_FAIL
    - test_create_consumer
    - test_consumer_subscribe
    - test_consumer_wait_assignment
    - SUB_TEST
    - test_id_generate
    - thrd_create
    - test_msgver_clear
    - SUB_TEST_PASS
    - test_msgver_init
    - thrd_join
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_consume_batch(const char *strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_consume_batch
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:224,1
    - Dst: do_test_consume_batch
      Src: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 227
    functionName: main_0122_buffer_cleaning_after_rebalance
    functionSourceFile: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c
    functionUses: 0
    functionsReached:
    - do_test_consume_batch
    linkageType: ''
    returnType: int
    signature: int main_0122_buffer_cleaning_after_rebalance(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - yield
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: DrCb0065::DrCb0065
    functionSourceFile: /src/librdkafka/tests/0065-yield.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DrCb0065(bool yield)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0065-yield.cpp:55,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0065-yield.cpp:56,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0065-yield.cpp:56,1
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0065-yield.cpp:56,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0065-yield.cpp:58,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:58,1
    - Dst: yield
      Src: /src/librdkafka/tests/0065-yield.cpp:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - message
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: DrCb0065::dr_cb
    functionSourceFile: /src/librdkafka/tests/0065-yield.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - tostr
    - RdKafka::err2str
    - Test::Say
    - yield
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0065-yield.cpp:71,1
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0065-yield.cpp:78,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0065-yield.cpp:80,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0065-yield.cpp:82,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0065-yield.cpp:83,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0065-yield.cpp:85,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0065-yield.cpp:87,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0065-yield.cpp:92,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:92,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0065-yield.cpp:96,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0065-yield.cpp:99,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0065-yield.cpp:99,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/tests/0065-yield.cpp:107,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0065-yield.cpp:113,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0065-yield.cpp:118,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:118,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0065-yield.cpp:121,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:121,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0065-yield.cpp:125,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:125,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0065-yield.cpp:127,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0065-yield.cpp:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - do_yield
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 132
    functionName: do_test_producer
    functionSourceFile: /src/librdkafka/tests/0065-yield.cpp
    functionUses: 3
    functionsReached:
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Conf*::set
    - Test::conf_init
    - tostr
    - thrd_create
    - RdKafka::err2str
    - test_mk_topic_name
    - Test::Say
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: void
    signature: void do_test_producer(bool do_yield)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0065-yield.cpp:136,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0065-yield.cpp:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: main_0065_yield
    functionSourceFile: /src/librdkafka/tests/0065-yield.cpp
    functionUses: 0
    functionsReached:
    - do_test_producer
    linkageType: ''
    returnType: int
    signature: int main_0065_yield(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:46,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:54,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:58,1
    - Dst: TEST_SKIP
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:59,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:63,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:65,1
    - Dst: test_msg_fmt
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:72,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:74,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:75,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:76,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:77,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:78,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:79,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:80,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:81,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:84,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:89,1
    - Dst: test_AlterConfigs_simple
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:90,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:92,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:93,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:97,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0092-mixed_msgver.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 44
    functionDepth: 7
    functionLinenumber: 44
    functionLinenumberEnd: 103
    functionName: main_0092_mixed_msgver
    functionSourceFile: /src/librdkafka/tests/0092-mixed_msgver.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - test_consume_msgs_easy
    - TEST_ASSERT
    - TEST_BRKVER
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - test_AlterConfigs_simple
    - TEST_SAY
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - test_id_generate
    - rd_kafka_producev
    - test_create_producer
    - test_msg_fmt
    - RD_KAFKA_V_TOPIC
    - TEST_SKIP
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0092_mixed_msgver(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:57,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0042-many_topics.c:59,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:61,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0042-many_topics.c:63,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0042-many_topics.c:64,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0042-many_topics.c:66,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0042-many_topics.c:69,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:71,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0042-many_topics.c:75,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:79,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:81,1
    - Dst: free
      Src: /src/librdkafka/tests/0042-many_topics.c:83,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0042-many_topics.c:85,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - testid
    argTypes:
    - char**
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 51
    functionDepth: 7
    functionLinenumber: 51
    functionLinenumberEnd: 88
    functionName: produce_many
    functionSourceFile: /src/librdkafka/tests/0042-many_topics.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - free
    - test_create_producer
    - test_produce_msgs
    - rd_kafka_topic_destroy
    - test_flush
    - TEST_SAY
    - TIMING_START
    - TIMING_STOP
    - test_create_topic_object
    - malloc
    linkageType: ''
    returnType: void
    signature: void produce_many(char **topics, int topic_cnt, uint64_t testid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:98,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0042-many_topics.c:100,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0042-many_topics.c:102,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:104,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0042-many_topics.c:106,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0042-many_topics.c:107,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0042-many_topics.c:109,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0042-many_topics.c:110,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:112,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0042-many_topics.c:114,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:117,1
    - Dst: test_consume_msgs
      Src: /src/librdkafka/tests/0042-many_topics.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:125,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0042-many_topics.c:127,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:130,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:132,1
    - Dst: free
      Src: /src/librdkafka/tests/0042-many_topics.c:134,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - testid
    argTypes:
    - char**
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 91
    functionDepth: 7
    functionLinenumber: 91
    functionLinenumberEnd: 137
    functionName: legacy_consume_many
    functionSourceFile: /src/librdkafka/tests/0042-many_topics.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - free
    - rd_kafka_topic_destroy
    - test_consumer_stop
    - test_conf_init
    - TEST_SAY
    - TIMING_START
    - TIMING_STOP
    - test_consume_msgs
    - test_create_topic_object
    - test_create_consumer
    - test_consumer_start
    - malloc
    linkageType: ''
    returnType: void
    signature: void legacy_consume_many(char **topics, int topic_cnt, uint64_t testid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:150,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0042-many_topics.c:152,1
    - Dst: test_topic_conf_set
      Src: /src/librdkafka/tests/0042-many_topics.c:153,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0042-many_topics.c:154,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0042-many_topics.c:156,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0042-many_topics.c:158,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:161,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0042-many_topics.c:162,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0042-many_topics.c:164,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0042-many_topics.c:164,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:166,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0042-many_topics.c:168,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0042-many_topics.c:169,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0042-many_topics.c:173,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0042-many_topics.c:176,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0042-many_topics.c:178,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - testid
    argTypes:
    - char**
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 181
    functionName: subscribe_consume_many
    functionSourceFile: /src/librdkafka/tests/0042-many_topics.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_msgver_init
    - test_topic_conf_set
    - test_conf_init
    - TEST_SAY
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - test_msgver_clear
    - rd_kafka_topic_partition_list_add
    - test_consumer_close
    - rd_kafka_topic_partition_list_destroy
    - test_msgver_verify_part
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_subscribe
    linkageType: ''
    returnType: void
    signature: void subscribe_consume_many(char **topics, int topic_cnt, uint64_t
      testid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0042-many_topics.c:191,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0042-many_topics.c:193,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0042-many_topics.c:194,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0042-many_topics.c:196,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0042-many_topics.c:198,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0042-many_topics.c:199,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0042-many_topics.c:201,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:202,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0042-many_topics.c:204,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0042-many_topics.c:205,1
    - Dst: test_msgver_verify_part
      Src: /src/librdkafka/tests/0042-many_topics.c:209,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0042-many_topics.c:212,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0042-many_topics.c:214,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0042-many_topics.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - testid
    argTypes:
    - char**
    - int
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 185
    functionDepth: 7
    functionLinenumber: 185
    functionLinenumberEnd: 217
    functionName: assign_consume_many
    functionSourceFile: /src/librdkafka/tests/0042-many_topics.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - rd_kafka_destroy
    - test_msgver_init
    - test_consumer_assign
    - test_conf_init
    - TEST_SAY
    - rd_kafka_topic_partition_list_new
    - test_msgver_clear
    - test_consumer_close
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - test_msgver_verify_part
    - RD_KAFKA_OFFSET_TAIL
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void assign_consume_many(char **topics, int topic_cnt, uint64_t testid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0042-many_topics.c:231,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0042-many_topics.c:233,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0042-many_topics.c:236,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0042-many_topics.c:238,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0042-many_topics.c:238,1
    - Dst: produce_many
      Src: /src/librdkafka/tests/0042-many_topics.c:240,1
    - Dst: legacy_consume_many
      Src: /src/librdkafka/tests/0042-many_topics.c:241,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0042-many_topics.c:242,1
    - Dst: subscribe_consume_many
      Src: /src/librdkafka/tests/0042-many_topics.c:243,1
    - Dst: assign_consume_many
      Src: /src/librdkafka/tests/0042-many_topics.c:244,1
    - Dst: free
      Src: /src/librdkafka/tests/0042-many_topics.c:248,1
    - Dst: free
      Src: /src/librdkafka/tests/0042-many_topics.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 221
    functionDepth: 8
    functionLinenumber: 221
    functionLinenumberEnd: 252
    functionName: main_0042_many_topics
    functionSourceFile: /src/librdkafka/tests/0042-many_topics.c
    functionUses: 0
    functionsReached:
    - subscribe_consume_many
    - free
    - test_conf_init
    - test_id_generate
    - test_mk_topic_name
    - legacy_consume_many
    - TEST_BRKVER
    - rd_strdup
    - assign_consume_many
    - produce_many
    - malloc
    linkageType: ''
    returnType: int
    signature: int main_0042_many_topics(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/tests/0018-cgrp_term.c:54,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:56,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:57,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:57,1
    - Dst: free
      Src: /src/librdkafka/tests/0018-cgrp_term.c:60,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0018-cgrp_term.c:62,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0018-cgrp_term.c:67,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:73,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0018-cgrp_term.c:75,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:80,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 13
    functionsReached:
    - rd_kafka_memberid
    - test_consumer_assign_by_rebalance_protocol
    - free
    - test_consumer_unassign_by_rebalance_protocol
    - TEST_SAY
    - rd_kafka_err2str
    - test_print_partition_list
    - rd_kafka_name
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_clock
      Src: /src/librdkafka/tests/0018-cgrp_term.c:90,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0018-cgrp_term.c:94,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0018-cgrp_term.c:101,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:106,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0018-cgrp_term.c:113,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0018-cgrp_term.c:114,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:118,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:123,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - rk_c
    - rk_cnt
    - exp_msg_cnt
    - max_time
    argTypes:
    - rd_kafka_t**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 128
    functionName: consume_all
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - test_clock
    linkageType: ''
    returnType: void
    signature: "void consume_all(rd_kafka_t **rk_c,\n                        int rk_cnt,\n
      \                       int exp_msg_cnt,\n                        int max_time
      /*ms*/)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_closed
      Src: /src/librdkafka/tests/0018-cgrp_term.c:138,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/tests/0018-cgrp_term.c:143,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: poller_thread_main
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_queue
    - rd_kafka_consumer_closed
    - rd_kafka_message_destroy
    linkageType: ''
    returnType: int
    signature: int poller_thread_main(void *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0018-cgrp_term.c:157,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0018-cgrp_term.c:163,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:165,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:167,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:167,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0018-cgrp_term.c:168,1
    - Dst: rd_kafka_consumer_close_queue
      Src: /src/librdkafka/tests/0018-cgrp_term.c:168,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0018-cgrp_term.c:170,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:171,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 174
    functionName: consumer_close_queue
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 1
    functionsReached:
    - thrd_join
    - TEST_SAY
    - thrd_create
    - rd_kafka_queue_get_consumer
    - rd_kafka_name
    - rd_kafka_consumer_close_queue
    - rd_kafka_queue_destroy
    - TEST_CALL_ERROR__
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void consumer_close_queue(rd_kafka_t *c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:178,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0018-cgrp_term.c:194,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0018-cgrp_term.c:194,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0018-cgrp_term.c:196,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0018-cgrp_term.c:199,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0018-cgrp_term.c:200,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0018-cgrp_term.c:201,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0018-cgrp_term.c:204,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:209,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:210,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0018-cgrp_term.c:213,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0018-cgrp_term.c:215,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:218,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0018-cgrp_term.c:221,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0018-cgrp_term.c:222,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0018-cgrp_term.c:226,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/tests/0018-cgrp_term.c:228,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0018-cgrp_term.c:230,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:232,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:233,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0018-cgrp_term.c:235,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:237,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:237,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:240,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:242,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:246,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0018-cgrp_term.c:247,1
    - Dst: consume_all
      Src: /src/librdkafka/tests/0018-cgrp_term.c:249,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0018-cgrp_term.c:251,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:254,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:255,1
    - Dst: consumer_close_queue
      Src: /src/librdkafka/tests/0018-cgrp_term.c:257,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0018-cgrp_term.c:259,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0018-cgrp_term.c:259,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:261,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0018-cgrp_term.c:268,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:270,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0018-cgrp_term.c:273,1
    - Dst: consume_all
      Src: /src/librdkafka/tests/0018-cgrp_term.c:274,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0018-cgrp_term.c:275,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:277,1
    - Dst: rd_kafka_subscription
      Src: /src/librdkafka/tests/0018-cgrp_term.c:287,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:289,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:290,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:291,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:292,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:292,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:295,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:296,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:300,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:300,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/tests/0018-cgrp_term.c:301,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:303,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:304,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0018-cgrp_term.c:305,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:307,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0018-cgrp_term.c:307,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0018-cgrp_term.c:308,1
    - Dst: consumer_close_queue
      Src: /src/librdkafka/tests/0018-cgrp_term.c:310,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0018-cgrp_term.c:312,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0018-cgrp_term.c:312,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0018-cgrp_term.c:313,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0018-cgrp_term.c:315,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:319,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0018-cgrp_term.c:321,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0018-cgrp_term.c:324,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0018-cgrp_term.c:329,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 1
    argNames:
    - with_queue
    argTypes:
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 177
    functionDepth: 8
    functionLinenumber: 177
    functionLinenumberEnd: 330
    functionName: do_test
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_partition_list_add
    - consumer_close_queue
    - rd_kafka_name
    - test_wait_topic_exists
    - rd_kafka_subscription
    - RD_STR_ToF
    - rd_kafka_subscribe
    - rd_kafka_destroy
    - test_produce_msgs
    - consume_all
    - rd_kafka_topic_conf_destroy
    - rd_kafka_topic_conf_set
    - rd_kafka_err2str
    - TEST_SAY
    - TEST_FAIL
    - test_create_consumer
    - TEST_CALL_ERR__
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - test_id_generate
    - rd_kafka_consumer_close
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_create_producer_topic
    - TIMING_STOP
    - test_create_producer
    - rd_kafka_unsubscribe
    - rd_kafka_topic_conf_dup
    - test_consumer_group_protocol_classic
    - test_conf_init
    - TIMING_START
    - rd_kafka_poll_set_consumer
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test(rd_bool_t with_queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/librdkafka/tests/0018-cgrp_term.c:334,1
    - Dst: do_test
      Src: /src/librdkafka/tests/0018-cgrp_term.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: main_0018_cgrp_term
    functionSourceFile: /src/librdkafka/tests/0018-cgrp_term.c
    functionUses: 0
    functionsReached:
    - do_test
    linkageType: ''
    returnType: int
    signature: int main_0018_cgrp_term(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:56,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0034-offset_reset.c:61,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:62,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0034-offset_reset.c:64,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0034-offset_reset.c:65,1
    - Dst: test_consumer_start
      Src: /src/librdkafka/tests/0034-offset_reset.c:68,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/tests/0034-offset_reset.c:72,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0034-offset_reset.c:72,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0034-offset_reset.c:74,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:81,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:85,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:88,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0034-offset_reset.c:89,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:92,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0034-offset_reset.c:94,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:100,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0034-offset_reset.c:107,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:115,1
    - Dst: test_consumer_stop
      Src: /src/librdkafka/tests/0034-offset_reset.c:121,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:123,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:124,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 8
    argNames:
    - topic
    - partition
    - reset
    - initial_offset
    - exp_eofcnt
    - exp_msgcnt
    - exp_errcnt
    - exp_resetcnt
    argTypes:
    - char*
    - int
    - char*
    - int64_t
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 43
    functionDepth: 7
    functionLinenumber: 43
    functionLinenumberEnd: 125
    functionName: do_test_reset
    functionSourceFile: /src/librdkafka/tests/0034-offset_reset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_topic_destroy
    - test_consumer_stop
    - test_conf_init
    - TEST_SAY
    - TEST_FAIL
    - rd_kafka_message_errstr
    - rd_kafka_message_destroy
    - test_conf_set
    - rd_kafka_consume
    - test_create_topic_object
    - tmout_multip
    - test_create_consumer
    - test_consumer_start
    linkageType: ''
    returnType: void
    signature: "void do_test_reset(const char *topic,\n                          int
      partition,\n                          const char *reset,\n                          int64_t
      initial_offset,\n                          int exp_eofcnt,\n                          int
      exp_msgcnt,\n                          int exp_errcnt,\n                          int
      exp_resetcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0034-offset_reset.c:128,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0034-offset_reset.c:133,1
    - Dst: do_test_reset
      Src: /src/librdkafka/tests/0034-offset_reset.c:137,1
    - Dst: do_test_reset
      Src: /src/librdkafka/tests/0034-offset_reset.c:141,1
    - Dst: do_test_reset
      Src: /src/librdkafka/tests/0034-offset_reset.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 8
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: main_0034_offset_reset
    functionSourceFile: /src/librdkafka/tests/0034-offset_reset.c
    functionUses: 0
    functionsReached:
    - do_test_reset
    - test_mk_topic_name
    - test_produce_msgs_easy
    linkageType: ''
    returnType: int
    signature: int main_0034_offset_reset(int argc, char **argv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0034-offset_reset.c:180,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0034-offset_reset.c:187,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0034-offset_reset.c:194,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0034-offset_reset.c:201,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0034-offset_reset.c:203,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0034-offset_reset.c:207,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0034-offset_reset.c:211,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:213,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:214,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:215,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:216,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:218,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0034-offset_reset.c:222,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/tests/0034-offset_reset.c:224,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0034-offset_reset.c:226,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0034-offset_reset.c:228,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/tests/0034-offset_reset.c:230,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0034-offset_reset.c:236,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:238,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:239,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:240,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:243,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0034-offset_reset.c:244,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0034-offset_reset.c:249,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0034-offset_reset.c:260,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0034-offset_reset.c:264,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0034-offset_reset.c:270,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0034-offset_reset.c:271,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0034-offset_reset.c:274,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0034-offset_reset.c:275,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:281,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0034-offset_reset.c:283,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0034-offset_reset.c:284,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:285,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0034-offset_reset.c:289,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:295,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0034-offset_reset.c:297,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0034-offset_reset.c:302,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0034-offset_reset.c:304,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:308,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0034-offset_reset.c:310,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0034-offset_reset.c:311,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:312,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:316,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:318,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:319,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0034-offset_reset.c:319,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0034-offset_reset.c:320,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0034-offset_reset.c:327,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0034-offset_reset.c:328,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0034-offset_reset.c:328,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0034-offset_reset.c:329,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:331,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:332,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0034-offset_reset.c:333,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:335,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0034-offset_reset.c:338,1
    - Dst: rd_kafka_event_message_next
      Src: /src/librdkafka/tests/0034-offset_reset.c:341,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0034-offset_reset.c:343,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:345,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:348,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0034-offset_reset.c:350,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0034-offset_reset.c:355,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:360,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:362,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0034-offset_reset.c:366,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:368,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0034-offset_reset.c:372,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0034-offset_reset.c:373,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0034-offset_reset.c:374,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:375,1
    - Dst: rd_kafka_mock_clear_request_errors
      Src: /src/librdkafka/tests/0034-offset_reset.c:381,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:385,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:387,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0034-offset_reset.c:389,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0034-offset_reset.c:391,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 156
    functionDepth: 8
    functionLinenumber: 156
    functionLinenumberEnd: 392
    functionName: offset_reset_errors
    functionSourceFile: /src/librdkafka/tests/0034-offset_reset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_event_message_next
    - rd_kafka_event_type
    - test_wait_topic_exists
    - rd_kafka_mock_clear_request_errors
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - test_mock_cluster_new
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - test_produce_msgs_easy_v
    - TEST_SAY
    - rd_kafka_err2str
    - test_create_consumer
    - test_clock
    - test_consumer_assign_partition
    - rd_kafka_mock_push_request_errors
    - test_mock_cluster_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - test_conf_init
    - RD_ARRAYSIZE
    - rd_kafka_mock_broker_set_up
    - rd_kafka_queue_get_consumer
    - test_conf_set
    - strstr
    - rd_kafka_mock_broker_set_down
    - RD_KAFKA_OFFSET_TAIL
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void offset_reset_errors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_reset_errors
      Src: /src/librdkafka/tests/0034-offset_reset.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 9
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: main_0034_offset_reset_mock
    functionSourceFile: /src/librdkafka/tests/0034-offset_reset.c
    functionUses: 0
    functionsReached:
    - offset_reset_errors
    linkageType: ''
    returnType: int
    signature: int main_0034_offset_reset_mock(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/1000-unktopic.c:62,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:65,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/1000-unktopic.c:70,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/1000-unktopic.c:71,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:76,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/1000-unktopic.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/1000-unktopic.c
    functionUses: 10
    functionsReached:
    - rd_kafka_err2str
    - TEST_FAIL
    - TEST_SAY
    - free
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/1000-unktopic.c:95,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/1000-unktopic.c:97,1
    - Dst: rand
      Src: /src/librdkafka/tests/1000-unktopic.c:97,1
    - Dst: rand
      Src: /src/librdkafka/tests/1000-unktopic.c:98,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/1000-unktopic.c:100,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/1000-unktopic.c:106,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/1000-unktopic.c:109,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/1000-unktopic.c:111,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:113,1
    - Dst: strerror
      Src: /src/librdkafka/tests/1000-unktopic.c:113,1
    - Dst: malloc
      Src: /src/librdkafka/tests/1000-unktopic.c:117,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/1000-unktopic.c:119,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/1000-unktopic.c:121,1
    - Dst: strlen
      Src: /src/librdkafka/tests/1000-unktopic.c:122,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/1000-unktopic.c:125,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:130,1
    - Dst: strerror
      Src: /src/librdkafka/tests/1000-unktopic.c:131,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:134,1
    - Dst: sleep
      Src: /src/librdkafka/tests/1000-unktopic.c:146,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/1000-unktopic.c:150,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/1000-unktopic.c:151,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/1000-unktopic.c:154,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/1000-unktopic.c:157,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/1000-unktopic.c:160,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/1000-unktopic.c:160,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/1000-unktopic.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/librdkafka/tests/1000-unktopic.c
    functionUses: 11
    functionsReached:
    - rand
    - test_create_handle
    - rd_kafka_destroy
    - rd_snprintf
    - strerror
    - rd_kafka_topic_destroy
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_new
    - TEST_SAY
    - test_conf_init
    - sleep
    - rd_kafka_outq_len
    - rd_kafka_poll
    - rd_kafka_name
    - strlen
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - msg
    - what
    - bits
    - exp_cnt
    argTypes:
    - struct msg_state*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 99
    functionName: msg_verify_ic_cnt
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void msg_verify_ic_cnt(const struct msg_state *msg,\n                              const
      char *what,\n                              int bits,\n                              int
      exp_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - what
    - bits
    - exp_cnt
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: verify_ic_cnt
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: void verify_ic_cnt(const char *what, int bits, int exp_cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:124,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:128,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0064-interceptors.c:130,1
    - Dst: isdigit
      Src: /src/librdkafka/tests/0064-interceptors.c:130,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0064-interceptors.c:131,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:132,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:136,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:138,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0064-interceptors.c:142,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0064-interceptors.c:142,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:143,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0064-interceptors.c:145,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:148,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 5
    argNames:
    - what
    - base
    - bitid
    - rkmessage
    - ic_opaque
    argTypes:
    - char*
    - int
    - int
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 154
    functionName: verify_msg
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - mtx_unlock
    - mtx_lock
    - isdigit
    - strcmp
    - atoi
    - TEST_ASSERT
    - strncmp
    - strlen
    - msg_verify_ic_cnt
    linkageType: ''
    returnType: void
    signature: "void verify_msg(const char *what,\n                       int base,\n
      \                      int bitid,\n                       rd_kafka_message_t
      *rkmessage,\n                       void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:159,1
    - Dst: verify_msg
      Src: /src/librdkafka/tests/0064-interceptors.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: on_send
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 2
    functionsReached:
    - verify_msg
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:166,1
    - Dst: verify_msg
      Src: /src/librdkafka/tests/0064-interceptors.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: on_ack
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - verify_msg
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_ack(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:173,1
    - Dst: verify_msg
      Src: /src/librdkafka/tests/0064-interceptors.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: on_consume
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - verify_msg
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_consume(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:189,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:192,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:195,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0064-interceptors.c:197,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:198,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0064-interceptors.c:200,1
    - Dst: verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:206,1
    - Dst: verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - rk
    - offsets
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 218
    functionName: on_commit
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - test_print_partition_list
    - verify_ic_cnt
    - rd_kafka_err2str
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_commit(rd_kafka_t *rk,\n          const rd_kafka_topic_partition_list_t
      *offsets,\n          rd_kafka_resp_err_t err,\n          void *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:235,1
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0064-interceptors.c:237,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:239,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0064-interceptors.c:241,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0064-interceptors.c:241,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/tests/0064-interceptors.c:242,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/tests/0064-interceptors.c:243,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0064-interceptors.c:243,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0064-interceptors.c:244,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0064-interceptors.c:245,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:247,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:248,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:251,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:253,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:254,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:256,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:257,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:259,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - rk
    - topic
    - partition
    - msgid
    - exp_fail
    - exp_ic_cnt
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 262
    functionName: do_test_produce
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - RD_KAFKA_V_MSGFLAGS
    - rd_snprintf
    - RD_KAFKA_V_OPAQUE
    - mtx_lock
    - RD_KAFKA_V_TOPIC
    - TEST_ASSERT
    - rd_kafka_err2str
    - RD_KAFKA_V_PARTITION
    - RD_KAFKA_V_KEY
    - mtx_init
    - strlen
    - msg_verify_ic_cnt
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: "void do_test_produce(rd_kafka_t *rk,\n                            const
      char *topic,\n                            int32_t partition,\n                            int
      msgid,\n                            int exp_fail,\n                            int
      exp_ic_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0064-interceptors.c:276,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:279,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:280,1
    - Dst: rd_kafka_interceptor_add_on_acknowledgement
      Src: /src/librdkafka/tests/0064-interceptors.c:282,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:283,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:285,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:286,1
    - Dst: rd_kafka_interceptor_add_on_consume
      Src: /src/librdkafka/tests/0064-interceptors.c:291,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:292,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:293,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:294,1
    - Dst: rd_kafka_interceptor_add_on_commit
      Src: /src/librdkafka/tests/0064-interceptors.c:297,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:298,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0064-interceptors.c:299,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0064-interceptors.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 304
    functionName: on_new_producer
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_send
    - tsprintf
    - rd_kafka_interceptor_add_on_consume
    - rd_kafka_err2str
    - rd_kafka_interceptor_add_on_acknowledgement
    - TEST_ASSERT
    - rd_kafka_interceptor_add_on_commit
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_producer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0064-interceptors.c:311,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0064-interceptors.c:313,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0064-interceptors.c:315,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0064-interceptors.c:319,1
    - Dst: do_test_produce
      Src: /src/librdkafka/tests/0064-interceptors.c:322,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0064-interceptors.c:326,1
    - Dst: do_test_produce
      Src: /src/librdkafka/tests/0064-interceptors.c:330,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:336,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:337,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:339,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0064-interceptors.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 306
    functionDepth: 6
    functionLinenumber: 306
    functionLinenumberEnd: 343
    functionName: do_test_producer
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 4
    functionsReached:
    - mtx_unlock
    - rd_kafka_conf_interceptor_add_on_new
    - test_create_handle
    - do_test_produce
    - rd_kafka_destroy
    - mtx_lock
    - test_flush
    - test_conf_init
    - TEST_SAY
    - msg_verify_ic_cnt
    linkageType: ''
    returnType: void
    signature: void do_test_producer(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_add_on_consume
      Src: /src/librdkafka/tests/0064-interceptors.c:354,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:355,1
    - Dst: rd_kafka_interceptor_add_on_commit
      Src: /src/librdkafka/tests/0064-interceptors.c:358,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:359,1
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/0064-interceptors.c:364,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:364,1
    - Dst: rd_kafka_interceptor_add_on_acknowledgement
      Src: /src/librdkafka/tests/0064-interceptors.c:367,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0064-interceptors.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 373
    functionName: on_new_consumer
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_add_on_send
    - tsprintf
    - rd_kafka_interceptor_add_on_consume
    - rd_kafka_interceptor_add_on_acknowledgement
    - rd_kafka_interceptor_add_on_commit
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new_consumer(rd_kafka_t *rk,\n                                           const
      rd_kafka_conf_t *conf,\n                                           void *ic_opaque,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0064-interceptors.c:382,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0064-interceptors.c:384,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0064-interceptors.c:386,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0064-interceptors.c:389,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0064-interceptors.c:392,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0064-interceptors.c:394,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0064-interceptors.c:397,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:403,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:404,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:406,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:411,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:412,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:414,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0064-interceptors.c:416,1
    - Dst: verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:418,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0064-interceptors.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 376
    functionDepth: 7
    functionLinenumber: 376
    functionLinenumberEnd: 421
    functionName: do_test_consumer
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 2
    functionsReached:
    - test_consumer_poll
    - rd_kafka_conf_interceptor_add_on_new
    - mtx_unlock
    - rd_kafka_destroy
    - test_consumer_subscribe
    - mtx_lock
    - test_conf_init
    - TEST_SAY
    - test_consumer_close
    - verify_ic_cnt
    - test_conf_set
    - msg_verify_ic_cnt
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_consumer(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0064-interceptors.c:435,1
    - Dst: memset
      Src: /src/librdkafka/tests/0064-interceptors.c:437,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0064-interceptors.c:439,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/0064-interceptors.c:441,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0064-interceptors.c:447,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/0064-interceptors.c:448,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0064-interceptors.c:451,1
    - Dst: do_test_produce
      Src: /src/librdkafka/tests/0064-interceptors.c:454,1
    - Dst: test_flush
      Src: /src/librdkafka/tests/0064-interceptors.c:457,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0064-interceptors.c:462,1
    - Dst: msg_verify_ic_cnt
      Src: /src/librdkafka/tests/0064-interceptors.c:463,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0064-interceptors.c:464,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0064-interceptors.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 430
    functionDepth: 6
    functionLinenumber: 430
    functionLinenumberEnd: 468
    functionName: do_test_conf_copy
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_kafka_conf_interceptor_add_on_new
    - test_create_handle
    - do_test_produce
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_flush
    - mtx_lock
    - msg_verify_ic_cnt
    - test_conf_init
    - TEST_SAY
    - memset
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: void
    signature: void do_test_conf_copy(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0064-interceptors.c:472,1
    - Dst: do_test_producer
      Src: /src/librdkafka/tests/0064-interceptors.c:474,1
    - Dst: do_test_consumer
      Src: /src/librdkafka/tests/0064-interceptors.c:476,1
    - Dst: do_test_conf_copy
      Src: /src/librdkafka/tests/0064-interceptors.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 7
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: main_0064_interceptors
    functionSourceFile: /src/librdkafka/tests/0064-interceptors.c
    functionUses: 0
    functionsReached:
    - do_test_conf_copy
    - do_test_producer
    - do_test_consumer
    - test_mk_topic_name
    linkageType: ''
    returnType: int
    signature: int main_0064_interceptors(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:48,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: error_is_fatal_cb
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int error_is_fatal_cb(rd_kafka_t *rk, rd_kafka_resp_err_t err, const
      char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:72,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:75,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:78,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:83,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:84,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:86,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:87,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:88,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:89,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:91,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:93,1
    - Dst: rd_kafka_mock_push_request_errors
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:99,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:105,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:108,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:109,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:111,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:117,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:119,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:121,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:123,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:125,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - auto_offset_reset
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 63
    functionDepth: 7
    functionLinenumber: 63
    functionLinenumberEnd: 129
    functionName: do_test_offset_reset
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_push_request_errors
    - rd_kafka_mock_partition_set_follower
    - TEST_SAY
    - test_conf_init
    - strcmp
    - test_consumer_close
    - test_mock_cluster_destroy
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_offset_reset(const char *auto_offset_reset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:147,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:149,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:152,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:158,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:159,1
    - Dst: rd_kafka_mock_partition_set_follower_wmarks
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:163,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:166,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:167,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:168,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:169,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:171,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:173,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:175,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:179,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:183,1
    - Dst: rd_kafka_mock_partition_set_follower_wmarks
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:187,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:188,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:190,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:192,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:194,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 197
    functionName: do_test_offset_reset_lag
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_partition_set_follower
    - TEST_SAY
    - test_conf_init
    - test_consumer_close
    - test_mock_cluster_destroy
    - test_conf_set
    - test_create_consumer
    - rd_kafka_mock_partition_set_follower_wmarks
    linkageType: ''
    returnType: void
    signature: void do_test_offset_reset_lag(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:216,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:218,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:221,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:227,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:228,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:230,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:231,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:232,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:233,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:235,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:237,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:239,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:242,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:245,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:246,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:247,1
    - Dst: test_msgver_verify0
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:249,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:253,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:255,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:257,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:259,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 206
    functionDepth: 7
    functionLinenumber: 206
    functionLinenumberEnd: 262
    functionName: do_test_unknown_follower
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - test_msgver_verify0
    - test_msgver_init
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_partition_set_follower
    - TEST_SAY
    - test_conf_init
    - test_consumer_close
    - test_msgver_clear
    - test_mock_cluster_destroy
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_unknown_follower(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:278,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:280,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:283,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:288,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:290,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:291,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:292,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:293,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:294,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:295,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:297,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:299,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:313,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:316,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:320,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:322,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:324,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:326,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:328,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 270
    functionDepth: 7
    functionLinenumber: 270
    functionLinenumberEnd: 331
    functionName: do_test_replica_not_available
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_conf_init
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_replica_not_available(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:344,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:346,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:348,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:351,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:356,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:358,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:359,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:360,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:361,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:362,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:363,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:365,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:367,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:372,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:375,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:379,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:381,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:383,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:385,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:387,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 337
    functionDepth: 7
    functionLinenumber: 337
    functionLinenumberEnd: 390
    functionName: do_test_delegate_to_leader_on_error
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - test_mock_cluster_new
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - TEST_SAY
    - test_conf_init
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_consumer_poll_timeout
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_delegate_to_leader_on_error(rd_kafka_resp_err_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:404,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:406,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:408,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:409,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:411,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:412,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:413,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:414,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:415,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:416,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:417,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:419,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:421,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:426,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:431,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:434,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:441,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:442,1
    - Dst: test_msgver_verify0
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:444,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:448,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:450,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:452,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:454,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 457
    functionName: do_test_not_leader_or_follower
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - test_msgver_verify0
    - test_msgver_init
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_partition_set_follower
    - test_conf_init
    - TEST_SAY
    - test_consumer_close
    - test_msgver_clear
    - test_consumer_poll_timeout
    - test_mock_cluster_destroy
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_not_leader_or_follower(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:472,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:474,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:476,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:477,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:479,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:480,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:481,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:482,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:483,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:484,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:485,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:487,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:489,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:494,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:499,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:509,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:510,1
    - Dst: test_msgver_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:515,1
    - Dst: test_consumer_poll_timeout
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:516,1
    - Dst: test_msgver_verify0
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:518,1
    - Dst: test_msgver_clear
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:522,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:524,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:526,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:528,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 531
    functionName: do_test_follower_down
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_consumer_poll_no_msgs
    - test_msgver_verify0
    - test_msgver_init
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - rd_kafka_mock_partition_set_follower
    - test_conf_init
    - TEST_SAY
    - test_consumer_close
    - test_msgver_clear
    - test_consumer_poll_timeout
    - test_mock_cluster_destroy
    - test_conf_set
    - rd_kafka_mock_broker_set_down
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_follower_down(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:553,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:555,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:558,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:561,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:562,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:563,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:565,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:567,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:570,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:572,1
    - Dst: test_produce_msgs_easy_v
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:575,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:578,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:580,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:581,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:585,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:586,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:587,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:589,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:591,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:592,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:594,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 542
    functionDepth: 7
    functionLinenumber: 542
    functionLinenumberEnd: 597
    functionName: do_test_seek_to_offset_with_previous_epoch
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - rd_kafka_seek_partitions
    - rd_kafka_mock_partition_set_leader
    - test_produce_msgs_easy_v
    - test_conf_init
    - rd_kafka_topic_partition_list_new
    - test_consumer_close
    - test_mock_cluster_destroy
    - rd_kafka_topic_partition_list_add
    - test_conf_set
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - test_create_consumer
    - SUB_TEST_QUICK
    linkageType: ''
    returnType: void
    signature: void do_test_seek_to_offset_with_previous_epoch(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:602,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:604,1
    - Dst: do_test_offset_reset
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:606,1
    - Dst: do_test_offset_reset
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:607,1
    - Dst: do_test_offset_reset_lag
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:609,1
    - Dst: do_test_unknown_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:611,1
    - Dst: do_test_replica_not_available
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:613,1
    - Dst: do_test_delegate_to_leader_on_error
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:615,1
    - Dst: do_test_not_leader_or_follower
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:618,1
    - Dst: do_test_follower_down
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:620,1
    - Dst: do_test_seek_to_offset_with_previous_epoch
      Src: /src/librdkafka/tests/0104-fetch_from_follower_mock.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 600
    functionDepth: 8
    functionLinenumber: 600
    functionLinenumberEnd: 625
    functionName: main_0104_fetch_from_follower_mock
    functionSourceFile: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
    functionUses: 0
    functionsReached:
    - do_test_unknown_follower
    - do_test_delegate_to_leader_on_error
    - do_test_not_leader_or_follower
    - do_test_seek_to_offset_with_previous_epoch
    - test_timeout_set
    - do_test_replica_not_available
    - do_test_offset_reset
    - do_test_offset_reset_lag
    - TEST_SKIP_MOCK_CLUSTER
    - do_test_follower_down
    linkageType: ''
    returnType: int
    signature: int main_0104_fetch_from_follower_mock(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/0019-list_groups.c:59,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:63,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:66,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - grplist
    - groups
    - group_cnt
    argTypes:
    - struct rd_kafka_group_list*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 79
    functionName: verify_groups
    functionSourceFile: /src/librdkafka/tests/0019-list_groups.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TEST_SAY
    - rd_kafka_err2str
    linkageType: ''
    returnType: int
    signature: "int verify_groups(const struct rd_kafka_group_list *grplist,\n                         char
      **groups,\n                         int group_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:100,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:106,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:107,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0019-list_groups.c:108,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:110,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0019-list_groups.c:111,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:117,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:118,1
    - Dst: verify_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:122,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:123,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:126,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:128,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:129,1
    - Dst: verify_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:134,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - rk
    - groups
    - group_cnt
    - desc
    argTypes:
    - rd_kafka_t*
    - char**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 145
    functionName: list_groups
    functionSourceFile: /src/librdkafka/tests/0019-list_groups.c
    functionUses: 2
    functionsReached:
    - rd_sleep
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_list_groups
    - rd_kafka_group_list_destroy
    - tmout_multip
    - verify_groups
    linkageType: ''
    returnType: int
    signature: int list_groups(rd_kafka_t *rk, char **groups, int group_cnt, const
      char *desc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0019-list_groups.c:150,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0019-list_groups.c:162,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0019-list_groups.c:165,1
    - Dst: test_create_topic_object
      Src: /src/librdkafka/tests/0019-list_groups.c:168,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0019-list_groups.c:169,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:170,1
    - Dst: list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:173,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0019-list_groups.c:175,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0019-list_groups.c:181,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0019-list_groups.c:182,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0019-list_groups.c:186,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0019-list_groups.c:187,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0019-list_groups.c:188,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0019-list_groups.c:190,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0019-list_groups.c:192,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:193,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0019-list_groups.c:195,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0019-list_groups.c:197,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:197,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:200,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0019-list_groups.c:203,1
    - Dst: list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:206,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0019-list_groups.c:210,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0019-list_groups.c:212,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0019-list_groups.c:216,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:217,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0019-list_groups.c:218,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:219,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:220,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0019-list_groups.c:221,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:224,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:227,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0019-list_groups.c:233,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0019-list_groups.c:233,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0019-list_groups.c:234,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/tests/0019-list_groups.c:235,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0019-list_groups.c:236,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0019-list_groups.c:238,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0019-list_groups.c:239,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:241,1
    - Dst: free
      Src: /src/librdkafka/tests/0019-list_groups.c:244,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:247,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0019-list_groups.c:249,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 149
    functionDepth: 7
    functionLinenumber: 149
    functionLinenumberEnd: 250
    functionName: do_test_list_groups
    functionSourceFile: /src/librdkafka/tests/0019-list_groups.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_list_groups
    - TEST_ASSERT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - rd_kafka_subscribe
    - rd_kafka_destroy
    - test_produce_msgs
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_consumer
    - test_str_id_generate
    - malloc
    - SUB_TEST
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_close
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - TIMING_STOP
    - list_groups
    - free
    - test_create_producer
    - rd_sleep
    - TIMING_START
    - rd_kafka_poll_set_consumer
    - test_mk_topic_name
    - test_create_topic_object
    linkageType: ''
    returnType: void
    signature: void do_test_list_groups(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0019-list_groups.c:265,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0019-list_groups.c:266,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0019-list_groups.c:269,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0019-list_groups.c:271,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0019-list_groups.c:273,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:274,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0019-list_groups.c:275,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0019-list_groups.c:276,1
    - Dst: TIMING_ASSERT
      Src: /src/librdkafka/tests/0019-list_groups.c:277,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0019-list_groups.c:279,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0019-list_groups.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 258
    functionDepth: 6
    functionLinenumber: 258
    functionLinenumberEnd: 282
    functionName: do_test_list_groups_hang
    functionSourceFile: /src/librdkafka/tests/0019-list_groups.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_err2name
    - rd_kafka_destroy
    - rd_kafka_list_groups
    - test_conf_init
    - SUB_TEST
    - TIMING_START
    - TEST_ASSERT
    - test_conf_set
    - SUB_TEST_PASS
    - TIMING_ASSERT
    linkageType: ''
    returnType: void
    signature: void do_test_list_groups_hang(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_list_groups
      Src: /src/librdkafka/tests/0019-list_groups.c:286,1
    - Dst: do_test_list_groups_hang
      Src: /src/librdkafka/tests/0019-list_groups.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 8
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: main_0019_list_groups
    functionSourceFile: /src/librdkafka/tests/0019-list_groups.c
    functionUses: 0
    functionsReached:
    - do_test_list_groups_hang
    - do_test_list_groups
    linkageType: ''
    returnType: int
    signature: int main_0019_list_groups(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0009-mock_cluster.c:40,1
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0009-mock_cluster.c:49,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0009-mock_cluster.c:51,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0009-mock_cluster.c:54,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0009-mock_cluster.c:56,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0009-mock_cluster.c:59,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0009-mock_cluster.c:60,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0009-mock_cluster.c:60,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0009-mock_cluster.c:63,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0009-mock_cluster.c:64,1
    - Dst: test_create_producer_topic
      Src: /src/librdkafka/tests/0009-mock_cluster.c:66,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0009-mock_cluster.c:67,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0009-mock_cluster.c:70,1
    - Dst: test_produce_msgs
      Src: /src/librdkafka/tests/0009-mock_cluster.c:73,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0009-mock_cluster.c:76,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0009-mock_cluster.c:79,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0009-mock_cluster.c:80,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0009-mock_cluster.c:81,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0009-mock_cluster.c:82,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0009-mock_cluster.c:83,1
    - Dst: test_consumer_assign
      Src: /src/librdkafka/tests/0009-mock_cluster.c:84,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0009-mock_cluster.c:85,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0009-mock_cluster.c:89,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0009-mock_cluster.c:91,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0009-mock_cluster.c:92,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0009-mock_cluster.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 39
    functionDepth: 8
    functionLinenumber: 39
    functionLinenumberEnd: 97
    functionName: main_0009_mock_cluster
    functionSourceFile: /src/librdkafka/tests/0009-mock_cluster.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_partition_list_add
    - test_wait_topic_exists
    - test_consumer_poll
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_conf_dup
    - test_produce_msgs
    - test_create_consumer
    - test_create_handle
    - test_consumer_assign
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_topic_partition_list_destroy
    - test_create_producer_topic
    - rd_kafka_conf_set_dr_msg_cb
    - test_conf_init
    - test_conf_set
    - test_mk_topic_name
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0009_mock_cluster(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:55,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:56,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - rk
    - payload
    - len
    - err
    - opaque
    - msg_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    - size_t
    - rd_kafka_resp_err_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 63
    functionName: dr_cb
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 11
    functionsReached:
    - TEST_FAIL
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void dr_cb(rd_kafka_t *rk,\n                  void *payload,\n                  size_t
      len,\n                  rd_kafka_resp_err_t err,\n                  void *opaque,\n
      \                 void *msg_opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0013-null-msgs.c:83,1
    - Dst: rd_kafka_conf_set_dr_cb
      Src: /src/librdkafka/tests/0013-null-msgs.c:85,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0013-null-msgs.c:89,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0013-null-msgs.c:93,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0013-null-msgs.c:95,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:97,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:98,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:98,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0013-null-msgs.c:107,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0013-null-msgs.c:110,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0013-null-msgs.c:111,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:113,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:117,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:117,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:123,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0013-null-msgs.c:128,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0013-null-msgs.c:129,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:132,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:135,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:138,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:141,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:144,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0013-null-msgs.c:144,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - testid
    - topic
    - partition_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 69
    functionDepth: 6
    functionLinenumber: 69
    functionLinenumberEnd: 146
    functionName: produce_null_messages
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_conf_set_dr_cb
    - rd_kafka_topic_new
    - rd_kafka_topic_conf_set
    - test_conf_init
    - rd_kafka_err2str
    - TEST_SAY
    - rd_kafka_poll
    - rd_kafka_outq_len
    - rd_kafka_name
    - strlen
    - TEST_FAIL
    - rd_kafka_last_error
    - rd_kafka_produce
    linkageType: ''
    returnType: void
    signature: "void produce_null_messages(uint64_t testid,\n                                  const
      char *topic,\n                                  int partition_cnt,\n                                  int
      msgcnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/tests/0013-null-msgs.c:156,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0013-null-msgs.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - msgcnt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 170
    functionName: verify_consumed_msg_reset
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 3
    functionsReached:
    - free
    - malloc
    linkageType: ''
    returnType: void
    signature: void verify_consumed_msg_reset(int msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/tests/0013-null-msgs.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: int_cmp
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int int_cmp(const void *_a, const void *_b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:184,1
    - Dst: qsort
      Src: /src/librdkafka/tests/0013-null-msgs.c:189,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:193,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:202,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0013-null-msgs.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - func
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 205
    functionName: verify_consumed_msg_check0
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - qsort
    - TEST_SAY
    - verify_consumed_msg_reset
    linkageType: ''
    returnType: void
    signature: void verify_consumed_msg_check0(const char *func, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: verify_consumed_msg_check
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg_check()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:225,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:229,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0013-null-msgs.c:234,1
    - Dst: sscanf
      Src: /src/librdkafka/tests/0013-null-msgs.c:237,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:239,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:247,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:257,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0013-null-msgs.c:261,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:262,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:270,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 6
    argNames:
    - func
    - line
    - testid
    - partition
    - msgnum
    - rkmessage
    argTypes:
    - char*
    - int
    - uint64_t
    - int32_t
    - int
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 275
    functionName: verify_consumed_msg0
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - verify_consumed_msg_check
    - TEST_SAY
    - sscanf
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: "void verify_consumed_msg0(const char *func,\n                                 int
      line,\n                                 uint64_t testid,\n                                 int32_t
      partition,\n                                 int msgnum,\n                                 rd_kafka_message_t
      *rkmessage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - testid
    - ','
    - part
    - ','
    - msgnum
    - ','
    - rkmessage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: verify_consumed_msg
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verify_consumed_msg(testid, part, msgnum, rkmessage)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0013-null-msgs.c:294,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0013-null-msgs.c:297,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0013-null-msgs.c:299,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:301,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:302,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:302,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:304,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/tests/0013-null-msgs.c:308,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:309,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:310,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:311,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:311,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/tests/0013-null-msgs.c:317,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0013-null-msgs.c:317,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:319,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:323,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:323,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:325,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:329,1
    - Dst: verify_consumed_msg
      Src: /src/librdkafka/tests/0013-null-msgs.c:331,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:333,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0013-null-msgs.c:336,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:339,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:342,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0013-null-msgs.c:342,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - testid
    - topic
    - partition
    - msg_base
    - batch_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int32_t
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 282
    functionDepth: 6
    functionLinenumber: 282
    functionLinenumberEnd: 344
    functionName: consume_messages
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 2
    functionsReached:
    - test_create_handle
    - tmout_multip
    - RD_KAFKA_OFFSET_TAIL
    - rd_kafka_consume_start
    - rd_kafka_consume_stop
    - rd_kafka_topic_destroy
    - rd_kafka_destroy
    - rd_kafka_topic_new
    - test_conf_init
    - rd_kafka_err2str
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_name
    - rd_kafka_consume
    - verify_consumed_msg
    - TEST_FAIL
    - rd_kafka_last_error
    linkageType: ''
    returnType: void
    signature: "void consume_messages(uint64_t testid,\n                             const
      char *topic,\n                             int32_t partition,\n                             int
      msg_base,\n                             int batch_cnt,\n                             int
      msgcnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0013-null-msgs.c:360,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0013-null-msgs.c:363,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0013-null-msgs.c:366,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0013-null-msgs.c:369,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:371,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:372,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:372,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:374,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:380,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/tests/0013-null-msgs.c:382,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:383,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:385,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:387,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:387,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/tests/0013-null-msgs.c:395,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0013-null-msgs.c:395,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:397,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:400,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/tests/0013-null-msgs.c:400,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0013-null-msgs.c:402,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0013-null-msgs.c:406,1
    - Dst: verify_consumed_msg
      Src: /src/librdkafka/tests/0013-null-msgs.c:408,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:410,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/tests/0013-null-msgs.c:415,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:418,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:421,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:424,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0013-null-msgs.c:424,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0013-null-msgs.c:425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - testid
    - topic
    - partition_cnt
    - msgcnt
    argTypes:
    - uint64_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 347
    functionDepth: 6
    functionLinenumber: 347
    functionLinenumberEnd: 426
    functionName: consume_messages_with_queues
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_last_error
    - rd_kafka_consume_start_queue
    - rd_kafka_consume_queue
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - TEST_FAIL
    - test_create_handle
    - rd_kafka_message_destroy
    - tmout_multip
    - rd_kafka_consume_stop
    - test_conf_init
    - verify_consumed_msg
    - rd_kafka_queue_new
    - RD_KAFKA_OFFSET_TAIL
    linkageType: ''
    returnType: void
    signature: "void consume_messages_with_queues(uint64_t testid,\n                                         const
      char *topic,\n                                         int partition_cnt,\n
      \                                        int msgcnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0013-null-msgs.c:439,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0013-null-msgs.c:442,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0013-null-msgs.c:443,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0013-null-msgs.c:445,1
    - Dst: produce_null_messages
      Src: /src/librdkafka/tests/0013-null-msgs.c:448,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0013-null-msgs.c:452,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0013-null-msgs.c:454,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0013-null-msgs.c:458,1
    - Dst: verify_consumed_msg_reset
      Src: /src/librdkafka/tests/0013-null-msgs.c:461,1
    - Dst: consume_messages_with_queues
      Src: /src/librdkafka/tests/0013-null-msgs.c:462,1
    - Dst: verify_consumed_msg_check
      Src: /src/librdkafka/tests/0013-null-msgs.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 429
    functionDepth: 7
    functionLinenumber: 429
    functionLinenumberEnd: 466
    functionName: test_produce_consume
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 2
    functionsReached:
    - produce_null_messages
    - verify_consumed_msg_check
    - test_conf_init
    - TEST_SAY
    - verify_consumed_msg_reset
    - test_id_generate
    - consume_messages_with_queues
    - test_mk_topic_name
    - consume_messages
    linkageType: ''
    returnType: void
    signature: void test_produce_consume(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_produce_consume
      Src: /src/librdkafka/tests/0013-null-msgs.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 473
    functionName: main_0013_null_msgs
    functionSourceFile: /src/librdkafka/tests/0013-null-msgs.c
    functionUses: 0
    functionsReached:
    - test_produce_consume
    linkageType: ''
    returnType: int
    signature: int main_0013_null_msgs(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/tests/0008-reqacks.c:52,1
    - Dst: free
      Src: /src/librdkafka/tests/0008-reqacks.c:54,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:57,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0008-reqacks.c:58,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:62,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0008-reqacks.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 71
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/tests/0008-reqacks.c
    functionUses: 57
    functionsReached:
    - rd_kafka_message_status
    - free
    - rd_kafka_err2str
    - TEST_ASSERT
    - TEST_FAIL
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0008-reqacks.c:89,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0008-reqacks.c:93,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0008-reqacks.c:102,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0008-reqacks.c:105,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0008-reqacks.c:108,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0008-reqacks.c:110,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/tests/0008-reqacks.c:112,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:115,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/tests/0008-reqacks.c:118,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0008-reqacks.c:126,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0008-reqacks.c:128,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0008-reqacks.c:131,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/tests/0008-reqacks.c:133,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:135,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0008-reqacks.c:136,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0008-reqacks.c:140,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0008-reqacks.c:142,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/tests/0008-reqacks.c:145,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0008-reqacks.c:147,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:149,1
    - Dst: rd_strerror
      Src: /src/librdkafka/tests/0008-reqacks.c:150,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0008-reqacks.c:153,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0008-reqacks.c:157,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0008-reqacks.c:158,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:161,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0008-reqacks.c:164,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/tests/0008-reqacks.c:171,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0008-reqacks.c:174,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0008-reqacks.c:174,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0008-reqacks.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 179
    functionName: main_0008_reqacks
    functionSourceFile: /src/librdkafka/tests/0008-reqacks.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_outq_len
    - rd_kafka_name
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_topic_conf_set
    - rd_strerror
    - TEST_FAIL
    - rd_kafka_produce
    - malloc
    - test_create_handle
    - rd_kafka_conf_set_dr_msg_cb
    - test_conf_init
    - rd_kafka_poll
    - test_conf_set
    - test_mk_topic_name
    - strlen
    linkageType: ''
    returnType: int
    signature: int main_0008_reqacks(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:48,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:49,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:51,1
    - Dst: rd_kafka_mock_partition_set_leader
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:53,1
    - Dst: rd_kafka_mock_partition_set_follower
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:54,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:56,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:57,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:58,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:59,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:60,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:61,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:62,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:63,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:65,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:67,1
    - Dst: test_consumer_poll_no_msgs
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:75,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:81,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:82,1
    - Dst: rd_kafka_mock_broker_push_request_error_rtts
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:86,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:90,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:91,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:94,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:96,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:98,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:100,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 103
    functionName: do_test_fetch_from_follower_offset_retry
    functionSourceFile: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c
    functionUses: 0
    functionsReached:
    - rd_kafka_seek_partitions
    - rd_kafka_mock_partition_set_follower
    - rd_kafka_topic_partition_list_add
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_kafka_mock_partition_set_leader
    - test_consumer_close
    - rd_kafka_mock_broker_push_request_error_rtts
    - test_create_consumer
    - test_consumer_assign_partition
    - rd_kafka_topic_partition_list_new
    - test_mock_cluster_destroy
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - test_consumer_poll_no_msgs
    - rd_sleep
    - test_conf_init
    - test_timeout_set
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test_fetch_from_follower_offset_retry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:108,1
    - Dst: do_test_fetch_from_follower_offset_retry
      Src: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 8
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: main_8001_fetch_from_follower_mock_manual
    functionSourceFile: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c
    functionUses: 0
    functionsReached:
    - do_test_fetch_from_follower_offset_retry
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_8001_fetch_from_follower_mock_manual(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:64,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:68,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:69,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:69,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:70,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:72,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:75,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:77,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:80,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:82,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:83,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - cons
    - timeout_s
    argTypes:
    - struct _consumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: do_consume
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 2
    functionsReached:
    - rd_sleep
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - TEST_ASSERT
    - rd_kafka_consumer_poll
    - rd_kafka_name
    - test_clock
    linkageType: ''
    returnType: void
    signature: void do_consume(struct _consumer *cons, int timeout_s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:96,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:97,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:98,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:100,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:102,1
    - Dst: test_rebalance_cb
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - err
    - parts
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 14
    functionsReached:
    - rd_kafka_err2name
    - TEST_SAY
    - TEST_ASSERT
    - test_rebalance_cb
    - rd_kafka_name
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *parts,\n                         void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:116,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:118,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:120,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:125,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:126,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:128,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:129,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:130,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:131,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:132,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:134,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:135,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:137,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:139,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:139,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:141,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:142,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:144,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:155,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:157,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:161,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:165,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:166,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:167,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:171,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:175,1
    - Dst: do_consume
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:176,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:183,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:184,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:186,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:187,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 110
    functionDepth: 7
    functionLinenumber: 110
    functionLinenumberEnd: 191
    functionName: do_test_with_subscribe
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - rd_kafka_conf_dup
    - rd_kafka_conf_set_rebalance_cb
    - test_conf_init
    - TEST_SAY
    - test_produce_msgs_easy
    - test_id_generate
    - rd_kafka_assignment
    - rd_kafka_conf_set_opaque
    - test_consumer_close
    - rd_kafka_name
    - test_conf_set
    - rd_kafka_topic_partition_list_destroy
    - do_consume
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_with_subscribe(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:203,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:205,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:207,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:209,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:210,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:212,1
    - Dst: test_consumer_assign_partition
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:214,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:219,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:222,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:223,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:224,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:225,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:227,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:231,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:232,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 198
    functionDepth: 10
    functionLinenumber: 198
    functionLinenumberEnd: 235
    functionName: do_test_with_assign
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_kafka_destroy
    - test_consumer_assign_partition
    - test_create_topic_wait_exists
    - rd_sleep
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_message_errstr
    - rd_kafka_message_destroy
    - rd_kafka_consumer_poll
    - test_consumer_close
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_with_assign(const char *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:248,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:250,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:252,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:254,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:255,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:257,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:259,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:262,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:265,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:269,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:272,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:274,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:275,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 242
    functionDepth: 10
    functionLinenumber: 242
    functionLinenumberEnd: 279
    functionName: do_test_no_poll
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_subscribe
    - test_create_topic_wait_exists
    - rd_sleep
    - test_conf_init
    - TEST_SAY
    - rd_kafka_message_destroy
    - TEST_ASSERT
    - test_consumer_close
    - rd_kafka_consumer_poll
    - test_conf_set
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_no_poll(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:284,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:286,1
    - Dst: do_test_with_subscribe
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:288,1
    - Dst: do_test_with_assign
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:290,1
    - Dst: do_test_no_poll
      Src: /src/librdkafka/tests/0091-max_poll_interval_timeout.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 282
    functionDepth: 11
    functionLinenumber: 282
    functionLinenumberEnd: 295
    functionName: main_0091_max_poll_interval_timeout
    functionSourceFile: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    functionUses: 0
    functionsReached:
    - do_test_with_assign
    - test_create_topic_wait_exists
    - test_mk_topic_name
    - do_test_with_subscribe
    - do_test_no_poll
    linkageType: ''
    returnType: int
    signature: int main_0091_max_poll_interval_timeout(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: is_error_fatal
    functionSourceFile: /src/librdkafka/tests/0107-topic_recreate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_error_fatal(rd_kafka_t *rk, rd_kafka_resp_err_t err, const char
      *reason)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0107-topic_recreate.c:68,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:79,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0107-topic_recreate.c:80,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:81,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0107-topic_recreate.c:83,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0107-topic_recreate.c:91,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0107-topic_recreate.c:92,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0107-topic_recreate.c:93,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0107-topic_recreate.c:94,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0107-topic_recreate.c:94,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:98,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0107-topic_recreate.c:99,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0107-topic_recreate.c:101,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0107-topic_recreate.c:102,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:104,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0107-topic_recreate.c:106,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0107-topic_recreate.c:108,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0107-topic_recreate.c:111,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0107-topic_recreate.c:112,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0107-topic_recreate.c:113,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/tests/0107-topic_recreate.c:115,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0107-topic_recreate.c:117,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:118,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/tests/0107-topic_recreate.c:119,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0107-topic_recreate.c:124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 66
    functionDepth: 7
    functionLinenumber: 66
    functionLinenumberEnd: 127
    functionName: run_producer
    functionSourceFile: /src/librdkafka/tests/0107-topic_recreate.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - TEST_ASSERT
    - rd_kafka_outq_len
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - mtx_unlock
    - RD_KAFKA_V_VALUE
    - mtx_lock
    - rd_kafka_flush
    - strcmp
    - rd_kafka_purge
    - rd_usleep
    - rd_kafka_producev
    - test_create_producer
    - RD_KAFKA_V_TOPIC
    - rd_kafka_poll
    - TEST_WARN
    - strlen
    linkageType: ''
    returnType: int
    signature: int run_producer(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/tests/0107-topic_recreate.c:137,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:139,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0107-topic_recreate.c:145,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:150,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0107-topic_recreate.c:151,1
    - Dst: memcmp
      Src: /src/librdkafka/tests/0107-topic_recreate.c:154,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0107-topic_recreate.c:157,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0107-topic_recreate.c:165,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - consumer
    - cnt
    - exp_value
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 172
    functionName: expect_messages
    functionSourceFile: /src/librdkafka/tests/0107-topic_recreate.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - memcmp
    - TEST_SAY
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - rd_kafka_consumer_poll
    - strlen
    linkageType: ''
    returnType: void
    signature: void expect_messages(rd_kafka_t *consumer, int cnt, const char *exp_value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0107-topic_recreate.c:182,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:185,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0107-topic_recreate.c:189,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0107-topic_recreate.c:192,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0107-topic_recreate.c:195,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0107-topic_recreate.c:196,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:198,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:200,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0107-topic_recreate.c:203,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0107-topic_recreate.c:205,1
    - Dst: expect_messages
      Src: /src/librdkafka/tests/0107-topic_recreate.c:208,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:211,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:213,1
    - Dst: test_delete_topic
      Src: /src/librdkafka/tests/0107-topic_recreate.c:215,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0107-topic_recreate.c:216,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0107-topic_recreate.c:219,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:221,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:223,1
    - Dst: expect_messages
      Src: /src/librdkafka/tests/0107-topic_recreate.c:226,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0107-topic_recreate.c:228,1
    - Dst: mtx_lock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:231,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/tests/0107-topic_recreate.c:233,1
    - Dst: thrd_join
      Src: /src/librdkafka/tests/0107-topic_recreate.c:235,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0107-topic_recreate.c:236,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0107-topic_recreate.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - part_cnt_1
    - part_cnt_2
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 179
    functionDepth: 10
    functionLinenumber: 179
    functionLinenumberEnd: 242
    functionName: do_test_create_delete_create
    functionSourceFile: /src/librdkafka/tests/0107-topic_recreate.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - expect_messages
    - test_consumer_subscribe
    - mtx_lock
    - test_create_topic_wait_exists
    - rd_sleep
    - TEST_SAY
    - test_consumer_wait_assignment
    - test_delete_topic
    - thrd_create
    - thrd_join
    - test_mk_topic_name
    - mtx_unlock
    - TEST_FAIL
    - test_create_consumer
    linkageType: ''
    returnType: void
    signature: void do_test_create_delete_create(int part_cnt_1, int part_cnt_2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/tests/0107-topic_recreate.c:251,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0107-topic_recreate.c:253,1
    - Dst: do_test_create_delete_create
      Src: /src/librdkafka/tests/0107-topic_recreate.c:255,1
    - Dst: do_test_create_delete_create
      Src: /src/librdkafka/tests/0107-topic_recreate.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 245
    functionDepth: 11
    functionLinenumber: 245
    functionLinenumberEnd: 259
    functionName: main_0107_topic_recreate
    functionSourceFile: /src/librdkafka/tests/0107-topic_recreate.c
    functionUses: 0
    functionsReached:
    - test_conf_init
    - mtx_init
    - do_test_create_delete_create
    linkageType: ''
    returnType: int
    signature: int main_0107_topic_recreate(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:49,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:60,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:62,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:64,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:66,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:68,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:70,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:71,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:72,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:74,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:74,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:75,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:77,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:78,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:86,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:89,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:94,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:97,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:101,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:105,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:115,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:120,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:125,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:130,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:144,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:148,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:150,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:152,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:162,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:169,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:171,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:173,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:174,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:175,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:178,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:182,1
    - Dst: rd_kafka_destroy_flags
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:187,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 48
    functionDepth: 10
    functionLinenumber: 48
    functionLinenumberEnd: 191
    functionName: do_test
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 4
    functionsReached:
    - rd_kafka_destroy_flags
    - TEST_ASSERT
    - rd_kafka_err2name
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_message_errstr
    - TEST_FAIL
    - test_create_consumer
    - test_clock
    - test_consumer_subscribe
    - rd_kafka_message_destroy
    - SUB_TEST
    - test_id_generate
    - rd_kafka_consumer_poll
    - SUB_TEST_PASS
    - test_conf_init
    - TEST_WARN
    - test_mk_topic_name
    - test_conf_set
    linkageType: ''
    returnType: void
    signature: void do_test(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:198,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:211,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:213,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:215,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:217,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:219,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:221,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:222,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:223,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:224,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:226,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:226,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:227,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:231,1
    - Dst: TEST_CALL__
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:232,1
    - Dst: rd_kafka_set_log_queue
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:232,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:233,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:243,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:244,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:245,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:249,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:254,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:257,1
    - Dst: test_clock
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:261,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:265,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:275,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:280,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:285,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:290,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:304,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:308,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:310,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:312,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:322,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:328,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:329,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:331,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:333,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:334,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:335,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:338,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:342,1
    - Dst: rd_kafka_destroy_flags
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:347,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:349,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:352,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 197
    functionDepth: 10
    functionLinenumber: 197
    functionLinenumberEnd: 353
    functionName: do_test_with_log_queue
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy_flags
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_err2name
    - rd_kafka_conf_dup
    - test_create_topic_wait_exists
    - rd_kafka_set_log_queue
    - TEST_SAY
    - test_produce_msgs_easy
    - rd_kafka_message_errstr
    - TEST_FAIL
    - TEST_CALL__
    - test_create_consumer
    - test_clock
    - test_consumer_subscribe
    - rd_kafka_message_destroy
    - SUB_TEST
    - test_id_generate
    - rd_kafka_consumer_poll
    - SUB_TEST_PASS
    - test_conf_init
    - TEST_WARN
    - test_mk_topic_name
    - test_conf_set
    - rd_kafka_queue_new
    linkageType: ''
    returnType: void
    signature: void do_test_with_log_queue(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:369,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:378,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:383,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:385,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:386,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:387,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:388,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:389,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:393,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:395,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:397,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:400,1
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:401,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:403,1
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:404,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:409,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:411,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:413,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:413,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:416,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:418,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:419,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:421,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:425,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:427,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:428,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:428,1
    - Dst: test_consumer_unassign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:431,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:432,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:433,1
    - Dst: test_wait_event
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:435,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:437,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:438,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:438,1
    - Dst: test_consumer_assign_by_rebalance_protocol
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:442,1
    - Dst: rd_kafka_event_topic_partition_list
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:443,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:444,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:447,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:449,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:450,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:451,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:452,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 2
    argNames:
    - forward_to_another_q
    - forward_to_consumer_q
    argTypes:
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 366
    functionDepth: 10
    functionLinenumber: 366
    functionLinenumberEnd: 455
    functionName: do_test_rejoin_after_interval_expire
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 0
    functionsReached:
    - test_consumer_assign_by_rebalance_protocol
    - TEST_ASSERT
    - rd_kafka_queue_destroy
    - rd_kafka_queue_forward
    - rd_kafka_event_destroy
    - rd_kafka_destroy
    - test_consumer_unassign_by_rebalance_protocol
    - test_create_topic_wait_exists
    - test_consumer_close
    - rd_kafka_event_topic_partition_list
    - test_create_consumer
    - test_str_id_generate
    - test_consumer_subscribe
    - SUB_TEST
    - SUB_TEST_PASS
    - rd_sleep
    - test_conf_init
    - rd_kafka_queue_get_consumer
    - test_mk_topic_name
    - test_conf_set
    - test_wait_event
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_rejoin_after_interval_expire(rd_bool_t forward_to_another_q,\n
      \                                    rd_bool_t forward_to_consumer_q)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: consume_cb
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 0
    functionsReached:
    - TEST_SAY
    linkageType: ''
    returnType: void
    signature: void consume_cb(rd_kafka_message_t *rkmessage, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:467,1
    - Dst: SUB_TEST
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:472,1
    - Dst: test_create_topic_wait_exists
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:474,1
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:475,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:477,1
    - Dst: test_str_id_generate
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:479,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:480,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:481,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:482,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:483,1
    - Dst: rd_kafka_conf_set_consume_cb
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:484,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:486,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:487,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:489,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:490,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:491,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:492,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:493,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:495,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:498,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:499,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 466
    functionDepth: 10
    functionLinenumber: 466
    functionLinenumberEnd: 501
    functionName: do_test_max_poll_reset_with_consumer_cb
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - test_consumer_close
    - test_consumer_subscribe
    - test_create_topic_wait_exists
    - rd_sleep
    - test_conf_init
    - test_produce_msgs_easy
    - SUB_TEST
    - test_id_generate
    - rd_kafka_conf_set_consume_cb
    - TEST_SAY
    - rd_kafka_poll
    - rd_kafka_poll_set_consumer
    - test_mk_topic_name
    - test_conf_set
    - test_create_consumer
    - test_str_id_generate
    linkageType: ''
    returnType: void
    signature: void do_test_max_poll_reset_with_consumer_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:504,1
    - Dst: do_test_with_log_queue
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:505,1
    - Dst: do_test_rejoin_after_interval_expire
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:506,1
    - Dst: do_test_rejoin_after_interval_expire
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:507,1
    - Dst: do_test_rejoin_after_interval_expire
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:508,1
    - Dst: do_test_max_poll_reset_with_consumer_cb
      Src: /src/librdkafka/tests/0089-max_poll_interval.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 11
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: main_0089_max_poll_interval
    functionSourceFile: /src/librdkafka/tests/0089-max_poll_interval.c
    functionUses: 0
    functionsReached:
    - do_test
    - do_test_with_log_queue
    - do_test_max_poll_reset_with_consumer_cb
    - do_test_rejoin_after_interval_expire
    linkageType: ''
    returnType: int
    signature: int main_0089_max_poll_interval(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0035-api_version.c:51,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0035-api_version.c:52,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0035-api_version.c:53,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0035-api_version.c:55,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0035-api_version.c:56,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0035-api_version.c:57,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0035-api_version.c:57,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0035-api_version.c:58,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0035-api_version.c:60,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0035-api_version.c:60,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0035-api_version.c:62,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0035-api_version.c:63,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0035-api_version.c:64,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0035-api_version.c:66,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0035-api_version.c:68,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0035-api_version.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: main_0035_api_version
    functionSourceFile: /src/librdkafka/tests/0035-api_version.c
    functionUses: 0
    functionsReached:
    - test_create_handle
    - rd_kafka_destroy
    - TIMING_DURATION
    - rd_kafka_metadata_destroy
    - test_conf_init
    - TIMING_START
    - TEST_SAY
    - rd_kafka_err2str
    - test_conf_set
    - TEST_FAIL
    - tmout_multip
    - rd_kafka_metadata
    - TIMING_STOP
    linkageType: ''
    returnType: int
    signature: int main_0035_api_version(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/tests/0121-clusterid.c:46,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0121-clusterid.c:47,1
    - Dst: strstr
      Src: /src/librdkafka/tests/0121-clusterid.c:48,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0121-clusterid.c:50,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0121-clusterid.c:51,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/tests/0121-clusterid.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: log_cb
    functionSourceFile: /src/librdkafka/tests/0121-clusterid.c
    functionUses: 6
    functionsReached:
    - strcmp
    - TEST_SAY
    - rd_kafka_name
    - strstr
    - rd_kafka_opaque
    - rd_atomic32_add
    linkageType: ''
    returnType: void
    signature: void log_cb(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SKIP_MOCK_CLUSTER
      Src: /src/librdkafka/tests/0121-clusterid.c:68,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0121-clusterid.c:71,1
    - Dst: test_mock_cluster_new
      Src: /src/librdkafka/tests/0121-clusterid.c:72,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0121-clusterid.c:73,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0121-clusterid.c:75,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0121-clusterid.c:78,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0121-clusterid.c:78,1
    - Dst: malloc
      Src: /src/librdkafka/tests/0121-clusterid.c:79,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0121-clusterid.c:80,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0121-clusterid.c:81,1
    - Dst: free
      Src: /src/librdkafka/tests/0121-clusterid.c:82,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/tests/0121-clusterid.c:84,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/tests/0121-clusterid.c:85,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/tests/0121-clusterid.c:86,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0121-clusterid.c:88,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/tests/0121-clusterid.c:91,1
    - Dst: rd_kafka_mock_broker_set_down
      Src: /src/librdkafka/tests/0121-clusterid.c:98,1
    - Dst: rd_kafka_mock_broker_set_up
      Src: /src/librdkafka/tests/0121-clusterid.c:99,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/tests/0121-clusterid.c:102,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/tests/0121-clusterid.c:103,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0121-clusterid.c:104,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0121-clusterid.c:110,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0121-clusterid.c:111,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0121-clusterid.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 115
    functionName: main_0121_clusterid
    functionSourceFile: /src/librdkafka/tests/0121-clusterid.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - test_mock_cluster_new
    - rd_kafka_destroy
    - rd_atomic32_init
    - rd_atomic32_get
    - rd_kafka_conf_set_opaque
    - rd_kafka_conf_set_log_cb
    - rd_kafka_metadata
    - malloc
    - test_create_handle
    - test_mock_cluster_destroy
    - free
    - rd_sleep
    - test_conf_init
    - rd_kafka_mock_broker_set_up
    - test_conf_set
    - rd_kafka_mock_broker_set_down
    - strlen
    - rd_kafka_metadata_destroy
    - TEST_SKIP_MOCK_CLUSTER
    linkageType: ''
    returnType: int
    signature: int main_0121_clusterid(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:68,1
    - Dst: rapidjson::Document::Parse
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:80,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:80,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:81,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:81,1
    - Dst: rapidjson::GetParseError_En
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:82,1
    - Dst: rapidjson::Document::GetParseError
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:82,1
    - Dst: rapidjson::Document::GetErrorOffset
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:83,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:85,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:86,1
    - Dst: rapidjson::GetValueByPointer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:89,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:93,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:93,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:94,1
    - Dst: rapidjson::Value*::HasMember
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:94,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:96,1
    - Dst: GetInt
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:97,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 108
    functionName: TestEventCb::event_cb
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - rapidjson::Value*::HasMember
    - c_str
    - rapidjson::GetParseError_En
    - Test::Fail
    - rd_snprintf
    - GetInt
    - rapidjson::Document::GetErrorOffset
    - tostr
    - TEST_ASSERT
    - RdKafka::Event::str
    - rapidjson::Document::GetParseError
    - rapidjson::Document::Parse
    - rapidjson::GetValueByPointer
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:130,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:131,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:132,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:133,1
    - Dst: test_run_java
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:140,1
    - Dst: test_waitpid
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - bootstrapServers
    - topic
    - testidstr
    - cmds
    - cmd_cnt
    argTypes:
    - std::string
    - std::string
    - std::string
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: execute_java_produce_cli
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - test_waitpid
    - test_run_java
    - rd_alloca
    - std::string::c_str
    linkageType: ''
    returnType: void
    signature: "void execute_java_produce_cli(std::string &bootstrapServers,\n                                     const
      std::string &topic,\n                                     const std::string
      &testidstr,\n                                     const char **cmds,\n                                     size_t
      cmd_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:150,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:150,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:151,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:152,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:152,1
    - Dst: test_mock_cluster_destroy
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:153,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:155,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:155,1
    - Dst: std::vector<RdKafka::Message *>
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:157,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:160,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:160,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:161,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:169,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:172,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:172,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:179,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:187,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:187,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - c
    - topic
    - partition
    argTypes:
    - RdKafka::KafkaConsumer*
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 194
    functionName: consume_messages
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 3
    functionsReached:
    - Test::Fail
    - RdKafka::Message*::errstr
    - RdKafka::Message*::err
    - tostr
    - test_mock_cluster_destroy
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::consume
    - std::vector::push_back
    - std::vector<RdKafka::Message *>
    - Test::Say
    - RdKafka::KafkaConsumer*::assign
    - tmout_multip
    linkageType: ''
    returnType: std::vector<RdKafka::Message *>
    signature: std::vector<RdKafka::Message *> consume_messages(RdKafka::KafkaConsumer
      *c, std::string topic, int partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::Message *>::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - messages
    argTypes:
    - std::vector<RdKafka::Message *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: delete_messages
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - std::vector<RdKafka::Message *>::size
    linkageType: ''
    returnType: void
    signature: void delete_messages(std::vector<RdKafka::Message *> &messages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:206,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 210
    functionName: get_bootstrap_servers
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 1
    functionsReached:
    - RdKafka::Conf*::get
    - Test::conf_init
    linkageType: ''
    returnType: std::string
    signature: std::string get_bootstrap_servers()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:218,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:219,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:220,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:221,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:222,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:223,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:224,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:225,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:229,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - topic_name
    - isolation_level
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: create_consumer
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 132
    functionsReached:
    - Test::Fail
    - RdKafka::Conf*::set
    - Test::conf_init
    - thrd_create
    - Test::conf_set
    linkageType: ''
    returnType: RdKafka::KafkaConsumer
    signature: "RdKafka::KafkaConsumer *create_consumer(std::string &topic_name,\n
      \                                              const char *isolation_level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::good
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:243,1
    - Dst: std::getline
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:245,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:247,1
    - Dst: std::string::find_first_not_of
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:247,1
    - Dst: std::string::erase
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:248,1
    - Dst: std::string::find_last_not_of
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:248,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: csv_split
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::good
    - std::string::erase
    - std::string::find_first_not_of
    - std::vector::push_back
    - std::getline
    - std::string::find_last_not_of
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> csv_split(const std::string &input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:272,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:273,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:274,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:275,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:276,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:277,1
    - Dst: _CHKRET
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:278,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: TransactionType_from_string
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - _CHKRET
    - Test::Fail
    linkageType: ''
    returnType: TransactionType
    signature: TransactionType TransactionType_from_string(std::string str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: _CHKRET
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CHKRET(NAME)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Producer*::begin_transaction
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:299,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:301,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:301,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:311,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:314,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:314,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:318,1
    - Dst: RdKafka::Producer*::abort_transaction
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:323,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:325,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:325,1
    - Dst: RdKafka::Producer*::commit_transaction
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:332,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:334,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:334,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 8
    argNames:
    - producer
    - topic
    - testidstr
    - partition
    - idStart
    - msgcount
    - tt
    - do_flush
    argTypes:
    - RdKafka::Producer*
    - std::string
    - std::string
    - int
    - int
    - int
    - TransactionType
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 342
    functionName: txn_producer_makeTestMessages
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - Test::Fail
    - RdKafka::Producer*::produce
    - RdKafka::Producer*::abort_transaction
    - RdKafka::Producer*::flush
    - RdKafka::err2str
    - RdKafka::Producer*::begin_transaction
    - RdKafka::Producer*::commit_transaction
    linkageType: ''
    returnType: void
    signature: "void txn_producer_makeTestMessages(RdKafka::Producer *producer,\n
      \                                         const std::string &topic,\n                                          const
      std::string &testidstr,\n                                          int partition,\n
      \                                         int idStart,\n                                          int
      msgcount,\n                                          TransactionType tt,\n                                          bool
      do_flush)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:348,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:358,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: txnDeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - Test::Fail
    - RdKafka::Message::errstr
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &msg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Test::conf_init
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:378,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:379,1
    - Dst: std::string
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:385,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:387,1
    - Dst: csv_split
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:389,1
    - Dst: compare
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:391,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:392,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:392,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:392,1
    - Dst: compare
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:394,1
    - Dst: find
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:398,1
    - Dst: TransactionType_from_string
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:399,1
    - Dst: std::map::find
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:402,1
    - Dst: std::map::end
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:406,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:410,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:410,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:415,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:417,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:420,1
    - Dst: Test::conf_set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:421,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:422,1
    - Dst: thrd_create
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:425,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:427,1
    - Dst: RdKafka::Producer*::init_transactions
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:431,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:433,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:433,1
    - Dst: txn_producer_makeTestMessages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:444,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:448,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:448,1
    - Dst: strtol
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:449,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:449,1
    - Dst: atoi
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:450,1
    - Dst: c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:450,1
    - Dst: compare
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:452,1
    - Dst: Test::Fail
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:455,1
    - Dst: std::map::begin
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:462,1
    - Dst: std::map::end
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 5
    argNames:
    - brokers
    - topic
    - testidstr
    - cmds
    - cmd_cnt
    argTypes:
    - std::string
    - std::string
    - std::string
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 465
    functionName: txn_producer
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 33
    functionsReached:
    - RdKafka::Error*::str
    - Test::conf_init
    - std::map::begin
    - atoi
    - std::string
    - std::map::find
    - Test::conf_set
    - c_str
    - TransactionType_from_string
    - RdKafka::Conf*::set
    - find
    - thrd_create
    - Test::Say
    - compare
    - rd_usleep
    - Test::Fail
    - strtol
    - tostr
    - csv_split
    - RdKafka::Producer*::init_transactions
    - txn_producer_makeTestMessages
    - std::map::end
    linkageType: ''
    returnType: void
    signature: "void txn_producer(const std::string &brokers,\n                         const
      std::string &topic,\n                         const std::string &testidstr,\n
      \                        const char **cmds,\n                         size_t
      cmd_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_str_id_generate_tmp
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:474,1
    - Dst: get_bootstrap_servers
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:476,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:478,1
    - Dst: tostr
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:478,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:494,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:499,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:501,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:502,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:503,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:503,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:505,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:508,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:509,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:509,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:512,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:513,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:513,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:513,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:515,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:515,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:515,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:517,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:518,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:538,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:539,1
    - Dst: expect_msgcnt
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:540,1
    - Dst: expect_key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:541,1
    - Dst: expect_key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:542,1
    - Dst: expect_key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:543,1
    - Dst: expect_key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:544,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:545,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:547,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:547,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:549,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:553,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:555,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:556,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:557,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:557,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:559,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:562,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:563,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:563,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:566,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:567,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:567,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:567,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:569,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:569,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:569,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:571,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:572,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:575,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:576,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:577,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:577,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:580,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:581,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:581,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:581,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:583,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:583,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:583,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:585,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:585,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:585,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:587,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:587,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:587,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:589,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:591,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:591,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:593,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:597,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:599,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:600,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:601,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:601,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:603,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:606,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:607,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:607,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:610,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:611,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:611,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:611,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:613,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:613,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:613,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:615,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:616,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:619,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:620,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:621,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:621,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:624,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:625,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:625,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:625,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:627,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:627,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:627,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:629,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:629,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:629,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:631,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:631,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:631,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:633,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:635,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:635,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:637,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:641,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:643,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:644,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:645,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:645,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:648,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:652,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:654,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:662,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:662,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:665,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:666,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:666,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:666,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:668,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:668,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:668,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:670,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:670,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:670,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:672,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:672,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:672,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:674,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:676,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:676,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:678,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:681,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:683,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:684,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:685,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:685,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:687,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:692,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:693,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:693,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:696,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:697,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:697,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:697,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:699,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:699,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:699,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:701,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:701,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:701,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:703,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:703,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:703,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:705,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:707,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:707,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:709,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:713,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:715,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:716,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:717,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:717,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:719,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:723,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:724,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:724,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:727,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:728,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:728,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:728,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:730,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:730,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:730,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:732,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:732,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:732,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:734,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:734,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:734,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:736,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:738,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:738,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:740,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:744,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:747,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:748,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:749,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:749,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:751,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:764,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:765,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:765,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:768,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:769,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:769,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:770,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:772,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:772,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:773,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:775,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:775,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:776,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:778,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:778,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:779,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:781,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:781,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:782,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:784,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:784,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:785,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:787,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:787,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:788,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:790,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:792,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:792,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:794,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:798,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:800,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:801,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:802,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:802,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:804,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:817,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:818,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:818,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:821,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:822,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:822,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:823,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:825,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:825,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:826,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:828,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:828,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:829,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:831,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:831,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:832,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:834,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:834,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:835,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:837,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:837,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:838,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:840,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:840,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:841,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:843,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:844,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:847,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:848,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:849,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:849,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:852,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:853,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:853,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:854,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:856,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:856,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:857,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:859,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:859,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:860,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:862,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:862,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:863,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:865,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:865,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:866,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:868,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:868,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:869,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:871,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:871,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:872,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:874,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:876,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:876,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:878,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:882,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:884,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:885,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:886,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:886,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:888,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:892,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:893,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:893,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:896,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:897,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:898,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:899,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:899,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:902,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:903,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:904,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:907,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:908,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:909,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:909,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:912,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:913,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:914,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:915,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:915,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:918,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:919,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:921,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:921,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:923,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:927,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:929,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:930,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:931,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:931,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:933,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:940,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:941,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:941,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:944,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:945,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:945,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:946,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:948,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:948,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:949,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:951,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:952,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:953,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:953,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:956,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:957,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:957,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:958,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:960,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:962,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:962,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:964,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:968,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:970,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:971,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:972,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:972,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:974,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:980,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:981,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:981,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:984,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:985,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:986,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:989,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:990,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:991,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:991,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:994,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:995,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:997,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:997,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:999,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1003,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1005,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1006,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1007,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1007,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1009,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1015,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1016,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1016,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1019,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1020,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1021,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1024,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1025,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1026,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1026,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1029,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1030,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1032,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1032,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1034,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1038,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1040,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1041,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1042,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1042,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1044,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1050,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1051,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1051,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1054,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1055,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1056,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1059,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1060,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1061,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1061,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1064,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1065,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1067,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1067,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1069,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1073,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1075,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1076,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1077,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1077,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1079,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1085,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1086,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1086,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1089,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1090,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1091,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1094,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1095,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1096,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1096,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1099,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1100,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1102,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1102,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1104,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1109,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1112,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1113,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1114,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1114,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1116,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1126,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1127,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1127,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1130,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1131,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1131,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1132,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1134,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1134,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1135,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1137,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1137,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1138,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1140,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1140,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1141,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1143,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1143,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1144,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1146,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1146,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1147,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1149,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1149,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1152,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1152,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1153,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1155,1
    - Dst: key_len
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1155,1
    - Dst: key
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1156,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1158,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1160,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1160,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1162,1
    - Dst: Test::Say
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1166,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1168,1
    - Dst: create_consumer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1169,1
    - Dst: Test::create_topic_wait_exists
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1170,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1170,1
    - Dst: run_producer
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1173,1
    - Dst: consume_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1178,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1179,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1179,1
    - Dst: std::vector::size
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1182,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1184,1
    - Dst: delete_messages
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1191,1
    - Dst: Test::delete_topic
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1193,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1193,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1195,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 315
    argCount: 1
    argNames:
    - use_java_producer
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 469
    functionDepth: 11
    functionLinenumber: 469
    functionLinenumberEnd: 1197
    functionName: do_test_consumer_txn_test
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - expect_msgcnt
    - TEST_ASSERT
    - key
    - Test::create_topic_wait_exists
    - get_bootstrap_servers
    - key_len
    - Test::delete_topic
    - run_producer
    - expect_key
    - consume_messages
    - delete_messages
    - test_str_id_generate_tmp
    - std::string::c_str
    - RdKafka::KafkaConsumer*::close
    - Test::Say
    - create_consumer
    - std::vector::size
    - tostr
    - test_mk_topic_name
    linkageType: ''
    returnType: void
    signature: void do_test_consumer_txn_test(bool use_java_producer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 4
    argNames:
    - (
    - CMDS
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: run_producer
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: run_producer(CMDS...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 524
    functionName: expect_msgcnt
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_msgcnt(msgcnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - msgidx
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 537
    functionName: expect_key
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect_key(msgidx, value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1203,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1204,1
    - Dst: do_test_consumer_txn_test
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1211,1
    - Dst: do_test_consumer_txn_test
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1212,1
    - Dst: Test::Skip
      Src: /src/librdkafka/tests/0098-consumer-txn.cpp:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1202
    functionDepth: 12
    functionLinenumber: 1202
    functionLinenumberEnd: 1217
    functionName: main_0098_consumer_txn
    functionSourceFile: /src/librdkafka/tests/0098-consumer-txn.cpp
    functionUses: 0
    functionsReached:
    - do_test_consumer_txn_test
    - test_needs_auth
    - Test::Skip
    linkageType: ''
    returnType: int
    signature: int main_0098_consumer_txn(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: group_configs_supported
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: group_configs_supported()
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:78,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:81,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:83,1
    - Dst: rd_alloca
      Src: /src/librdkafka/tests/0081-admin.c:86,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:95,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:95,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:97,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/0081-admin.c:105,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0081-admin.c:113,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:115,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:115,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0081-admin.c:117,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:119,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:119,1
    - Dst: rd_kafka_NewTopic_set_config
      Src: /src/librdkafka/tests/0081-admin.c:124,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:127,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:127,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:131,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:135,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0081-admin.c:145,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:148,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:164,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/0081-admin.c:168,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:170,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:170,1
    - Dst: rd_kafka_AdminOptions_set_validate_only
      Src: /src/librdkafka/tests/0081-admin.c:174,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:176,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:176,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:180,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:181,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:182,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:183,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:188,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:190,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:190,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:191,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:192,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:193,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:194,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:195,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:195,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:196,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:197,1
    - Dst: rd_kafka_event_CreateTopics_result
      Src: /src/librdkafka/tests/0081-admin.c:201,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:202,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:203,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:206,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:207,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:208,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:210,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:210,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:213,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:213,1
    - Dst: rd_kafka_CreateTopics_result_topics
      Src: /src/librdkafka/tests/0081-admin.c:217,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:225,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:225,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:226,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:229,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:231,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:232,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:233,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:233,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/0081-admin.c:234,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:235,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:236,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:237,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:238,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:239,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:240,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:250,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:259,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:263,1
    - Dst: rd_kafka_NewTopic_destroy
      Src: /src/librdkafka/tests/0081-admin.c:266,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:267,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:271,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:274,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:276,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:279,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - op_timeout
    - validate_only
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 47
    functionDepth: 7
    functionLinenumber: 47
    functionLinenumberEnd: 280
    functionName: do_test_CreateTopics
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_event_CreateTopics_result
    - rd_kafka_CreateTopics_result_topics
    - rd_kafka_queue_poll
    - rd_kafka_CreateTopics
    - rd_alloca
    - TEST_ASSERT
    - rd_kafka_NewTopic_destroy
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - TEST_BRKVER
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_NewTopic_set_replica_assignment
    - rd_kafka_err2name
    - rd_kafka_event_error_string
    - rd_kafka_topic_result_error
    - rd_kafka_topic_result_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - rd_kafka_NewTopic_set_config
    - strcmp
    - rd_kafka_AdminOptions_set_validate_only
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_strdup
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_kafka_topic_result_name
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - rd_kafka_NewTopic_new
    - rd_sleep
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_CreateTopics(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      op_timeout,\n                                 rd_bool_t validate_only)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:318,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:319,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:321,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:327,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:327,1
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/tests/0081-admin.c:332,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:347,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/0081-admin.c:349,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:351,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:351,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:356,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:361,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:364,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:365,1
    - Dst: rd_kafka_DeleteTopics
      Src: /src/librdkafka/tests/0081-admin.c:366,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:367,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:372,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:374,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:374,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:375,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:376,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:377,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:378,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:379,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:379,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:380,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:382,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:386,1
    - Dst: rd_kafka_event_DeleteTopics_result
      Src: /src/librdkafka/tests/0081-admin.c:390,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:391,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:392,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:395,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:396,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:397,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:399,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:399,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:402,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:402,1
    - Dst: rd_kafka_DeleteTopics_result_topics
      Src: /src/librdkafka/tests/0081-admin.c:406,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:414,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:414,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:415,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:418,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:420,1
    - Dst: rd_kafka_topic_result_name
      Src: /src/librdkafka/tests/0081-admin.c:421,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:422,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:422,1
    - Dst: rd_kafka_topic_result_error_string
      Src: /src/librdkafka/tests/0081-admin.c:423,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:424,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:425,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:426,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:427,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:428,1
    - Dst: rd_kafka_topic_result_error
      Src: /src/librdkafka/tests/0081-admin.c:429,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:441,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:444,1
    - Dst: rd_kafka_DeleteTopic_destroy
      Src: /src/librdkafka/tests/0081-admin.c:447,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:448,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:452,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:455,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:457,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - op_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 289
    functionDepth: 7
    functionLinenumber: 289
    functionLinenumberEnd: 461
    functionName: do_test_DeleteTopics
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_DeleteTopics
    - TEST_ASSERT
    - test_CreateTopics_simple
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_DeleteTopics_result
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - rd_kafka_topic_result_error
    - rd_kafka_topic_result_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteTopics_result_topics
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - strcmp
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_strdup
    - tmout_multip
    - rd_kafka_DeleteTopic_destroy
    - SUB_TEST_QUICK
    - rd_kafka_topic_result_name
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - TIMING_START
    - rd_kafka_DeleteTopic_new
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteTopics(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      op_timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:491,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:492,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:494,1
    - Dst: rd_alloca
      Src: /src/librdkafka/tests/0081-admin.c:503,1
    - Dst: rd_alloca
      Src: /src/librdkafka/tests/0081-admin.c:505,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:518,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:518,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/0081-admin.c:528,1
    - Dst: rd_kafka_NewPartitions_new
      Src: /src/librdkafka/tests/0081-admin.c:533,1
    - Dst: rd_alloca
      Src: /src/librdkafka/tests/0081-admin.c:537,1
    - Dst: rd_kafka_NewTopic_set_replica_assignment
      Src: /src/librdkafka/tests/0081-admin.c:556,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:561,1
    - Dst: rd_kafka_NewPartitions_set_replica_assignment
      Src: /src/librdkafka/tests/0081-admin.c:569,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:575,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:583,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:596,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/0081-admin.c:598,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:600,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:600,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:606,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:607,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:608,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:609,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:611,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:613,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:613,1
    - Dst: rd_kafka_NewTopic_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:615,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:621,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:622,1
    - Dst: rd_kafka_CreatePartitions
      Src: /src/librdkafka/tests/0081-admin.c:623,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:625,1
    - Dst: test_wait_topic_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:627,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:629,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:629,1
    - Dst: rd_kafka_NewPartitions_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:631,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:643,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:647,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:650,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:653,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:655,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:658,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - op_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 470
    functionDepth: 7
    functionLinenumber: 470
    functionLinenumberEnd: 659
    functionName: do_test_CreatePartitions
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_CreateTopics
    - rd_alloca
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_CreatePartitions
    - rd_kafka_queue_destroy
    - rd_kafka_NewTopic_destroy_array
    - rd_kafka_NewTopic_set_replica_assignment
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_new
    - rd_kafka_NewPartitions_set_replica_assignment
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_NewPartitions_destroy_array
    - SUB_TEST_PASS
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - rd_kafka_NewTopic_new
    - TIMING_START
    - test_mk_topic_name
    - test_wait_topic_admin_result
    - rd_kafka_queue_new
    - rd_kafka_NewPartitions_new
    linkageType: ''
    returnType: void
    signature: "void do_test_CreatePartitions(const char *what,\n                                     rd_kafka_t
      *rk,\n                                     rd_kafka_queue_t *useq,\n                                     int
      op_timeout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigEntry_synonyms
      Src: /src/librdkafka/tests/0081-admin.c:677,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/0081-admin.c:680,1
    - Dst: rd_kafka_ConfigSource_name
      Src: /src/librdkafka/tests/0081-admin.c:687,1
    - Dst: rd_kafka_ConfigEntry_source
      Src: /src/librdkafka/tests/0081-admin.c:687,1
    - Dst: rd_kafka_ConfigEntry_source
      Src: /src/librdkafka/tests/0081-admin.c:688,1
    - Dst: rd_kafka_ConfigEntry_name
      Src: /src/librdkafka/tests/0081-admin.c:689,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/0081-admin.c:690,1
    - Dst: rd_kafka_ConfigEntry_value
      Src: /src/librdkafka/tests/0081-admin.c:691,1
    - Dst: YN
      Src: /src/librdkafka/tests/0081-admin.c:693,1
    - Dst: rd_kafka_ConfigEntry_is_read_only
      Src: /src/librdkafka/tests/0081-admin.c:693,1
    - Dst: YN
      Src: /src/librdkafka/tests/0081-admin.c:694,1
    - Dst: rd_kafka_ConfigEntry_is_default
      Src: /src/librdkafka/tests/0081-admin.c:694,1
    - Dst: YN
      Src: /src/librdkafka/tests/0081-admin.c:695,1
    - Dst: rd_kafka_ConfigEntry_is_sensitive
      Src: /src/librdkafka/tests/0081-admin.c:695,1
    - Dst: YN
      Src: /src/librdkafka/tests/0081-admin.c:696,1
    - Dst: rd_kafka_ConfigEntry_is_synonym
      Src: /src/librdkafka/tests/0081-admin.c:696,1
    - Dst: test_print_ConfigEntry_array
      Src: /src/librdkafka/tests/0081-admin.c:700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - entries
    - entry_cnt
    - depth
    argTypes:
    - rd_kafka_ConfigEntry_t**
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 702
    functionName: test_print_ConfigEntry_array
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - TEST_SAYL
    - YN
    - test_print_ConfigEntry_array
    - rd_kafka_ConfigEntry_synonyms
    - rd_kafka_ConfigEntry_name
    - rd_kafka_ConfigEntry_is_default
    - rd_kafka_ConfigEntry_is_synonym
    - rd_kafka_ConfigSource_name
    - rd_kafka_ConfigEntry_value
    - rd_kafka_ConfigEntry_is_read_only
    - rd_kafka_ConfigEntry_is_sensitive
    - rd_kafka_ConfigEntry_source
    linkageType: ''
    returnType: void
    signature: "void test_print_ConfigEntry_array(const rd_kafka_ConfigEntry_t **entries,\n
      \                                        size_t entry_cnt,\n                                         unsigned
      int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: YN
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YN(v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:725,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/tests/0081-admin.c:731,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:731,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:733,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0081-admin.c:735,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:741,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0081-admin.c:743,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:745,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:745,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0081-admin.c:747,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:749,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:749,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:755,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:759,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:761,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0081-admin.c:763,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:766,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:766,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0081-admin.c:771,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:780,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0081-admin.c:782,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:784,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:784,1
    - Dst: rd_kafka_ConfigResource_set_config
      Src: /src/librdkafka/tests/0081-admin.c:786,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:788,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:788,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:790,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:800,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:801,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:803,1
    - Dst: rd_kafka_AlterConfigs
      Src: /src/librdkafka/tests/0081-admin.c:809,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:811,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:816,1
    - Dst: rd_kafka_event_AlterConfigs_result
      Src: /src/librdkafka/tests/0081-admin.c:822,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:823,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:824,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:826,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:827,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:828,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:829,1
    - Dst: rd_kafka_AlterConfigs_result_resources
      Src: /src/librdkafka/tests/0081-admin.c:831,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:832,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/0081-admin.c:843,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/0081-admin.c:844,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/0081-admin.c:847,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:849,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:853,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:854,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:855,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:856,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:857,1
    - Dst: test_print_ConfigEntry_array
      Src: /src/librdkafka/tests/0081-admin.c:859,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:861,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:862,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:863,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:863,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:864,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:865,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:870,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:871,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:872,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:873,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:874,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:875,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:882,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:885,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:886,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:891,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:893,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:895,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:897,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 65
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 708
    functionDepth: 8
    functionLinenumber: 708
    functionLinenumberEnd: 901
    functionName: do_test_AlterConfigs
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_strdupa
    - rd_kafka_ConfigResource_set_config
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_ConfigResource_name
    - rd_kafka_ConfigResource_error
    - TEST_BRKVER
    - test_wait_topic_exists
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_wait_admin_result
    - rd_kafka_ConfigResource_type
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AlterConfigs
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - test_print_ConfigEntry_array
    - strcmp
    - rd_kafka_ConfigResource_destroy_array
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_ResourceType_name
    - rd_kafka_ConfigResource_configs
    - SUB_TEST_QUICK
    - rd_kafka_AlterConfigs_result_resources
    - TEST_LATER_CHECK
    - tsprintf
    - TEST_WARN
    - rd_kafka_ConfigResource_new
    - test_mk_topic_name
    - rd_kafka_event_AlterConfigs_result
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_AlterConfigs(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:925,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/tests/0081-admin.c:931,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:931,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:933,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0081-admin.c:935,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:940,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:959,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:960,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:963,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:964,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:968,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:971,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:974,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:977,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:980,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:982,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:984,1
    - Dst: test_IncrementalAlterConfigs_simple
      Src: /src/librdkafka/tests/0081-admin.c:987,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:990,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:997,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:999,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1002,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1002,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:1004,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1007,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1007,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1013,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1017,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:1019,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:1021,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1024,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1024,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0081-admin.c:1029,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1038,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:1040,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1043,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1043,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:1045,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1048,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1048,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1050,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1060,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/tests/0081-admin.c:1062,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1065,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1065,1
    - Dst: group_configs_supported
      Src: /src/librdkafka/tests/0081-admin.c:1066,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1076,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1078,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1080,1
    - Dst: rd_kafka_IncrementalAlterConfigs
      Src: /src/librdkafka/tests/0081-admin.c:1086,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1088,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1093,1
    - Dst: rd_kafka_event_IncrementalAlterConfigs_result
      Src: /src/librdkafka/tests/0081-admin.c:1099,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1100,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:1101,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1103,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1104,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1105,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1106,1
    - Dst: rd_kafka_IncrementalAlterConfigs_result_resources
      Src: /src/librdkafka/tests/0081-admin.c:1108,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1110,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/0081-admin.c:1121,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1122,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/0081-admin.c:1125,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:1127,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1131,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1132,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1133,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1134,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1135,1
    - Dst: test_print_ConfigEntry_array
      Src: /src/librdkafka/tests/0081-admin.c:1137,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1139,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1140,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1141,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1141,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1142,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1143,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1148,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1149,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1150,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1151,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1152,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1153,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1160,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1163,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1164,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1169,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1171,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:1173,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:1175,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:1178,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 89
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 906
    functionDepth: 8
    functionLinenumber: 906
    functionLinenumberEnd: 1179
    functionName: do_test_IncrementalAlterConfigs
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_strdupa
    - TEST_ASSERT
    - test_CreateTopics_simple
    - group_configs_supported
    - rd_kafka_IncrementalAlterConfigs
    - rd_kafka_ConfigResource_name
    - rd_kafka_ConfigResource_error
    - TEST_BRKVER
    - test_wait_topic_exists
    - rd_kafka_IncrementalAlterConfigs_result_resources
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - rd_kafka_event_IncrementalAlterConfigs_result
    - test_wait_admin_result
    - rd_kafka_ConfigResource_type
    - TEST_SAY
    - rd_kafka_ConfigResource_add_incremental_config
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - test_print_ConfigEntry_array
    - strcmp
    - rd_kafka_ConfigResource_destroy_array
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_ResourceType_name
    - rd_kafka_ConfigResource_configs
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - tsprintf
    - rd_kafka_error_string
    - TEST_WARN
    - rd_kafka_ConfigResource_new
    - test_mk_topic_name
    - test_IncrementalAlterConfigs_simple
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_IncrementalAlterConfigs(rd_kafka_t *rk,\n                                            rd_kafka_queue_t
      *rkqu)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:1204,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/tests/0081-admin.c:1209,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:1209,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/tests/0081-admin.c:1211,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:1212,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:1214,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1220,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1227,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:1228,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1237,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1242,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1253,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1254,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1256,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/0081-admin.c:1262,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1264,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1269,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/0081-admin.c:1275,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1276,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:1277,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1279,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1280,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1281,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1282,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/0081-admin.c:1284,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1285,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/0081-admin.c:1296,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1297,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/0081-admin.c:1300,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:1302,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1306,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1307,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1308,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1309,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1310,1
    - Dst: test_print_ConfigEntry_array
      Src: /src/librdkafka/tests/0081-admin.c:1312,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1314,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1315,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1316,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1316,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1317,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1318,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1323,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1324,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1325,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1326,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1327,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1328,1
    - Dst: TEST_WARN
      Src: /src/librdkafka/tests/0081-admin.c:1337,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1343,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1344,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1346,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:1347,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1351,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1354,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1355,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1360,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1362,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:1364,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:1366,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:1369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1186
    functionDepth: 3
    functionLinenumber: 1186
    functionLinenumberEnd: 1370
    functionName: do_test_DescribeConfigs
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_strdupa
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_ConfigResource_name
    - rd_kafka_ConfigResource_error
    - TEST_BRKVER
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_wait_admin_result
    - rd_kafka_ConfigResource_type
    - TEST_SAY
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - test_print_ConfigEntry_array
    - strcmp
    - rd_kafka_ConfigResource_destroy_array
    - rd_kafka_DescribeConfigs_result_resources
    - SUB_TEST_PASS
    - rd_kafka_DescribeConfigs
    - rd_kafka_event_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_ResourceType_name
    - rd_kafka_ConfigResource_configs
    - SUB_TEST_QUICK
    - rd_kafka_event_DescribeConfigs_result
    - TEST_LATER_CHECK
    - tsprintf
    - rd_sleep
    - TEST_WARN
    - rd_kafka_ConfigResource_new
    - test_mk_topic_name
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_DescribeConfigs(rd_kafka_t *rk, rd_kafka_queue_t *rkqu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:1393,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:1395,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:1395,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/tests/0081-admin.c:1401,1
    - Dst: group_configs_supported
      Src: /src/librdkafka/tests/0081-admin.c:1402,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1412,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1413,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1415,1
    - Dst: rd_kafka_DescribeConfigs
      Src: /src/librdkafka/tests/0081-admin.c:1420,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1425,1
    - Dst: rd_kafka_event_DescribeConfigs_result
      Src: /src/librdkafka/tests/0081-admin.c:1431,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1432,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:1433,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1435,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1436,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1437,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1438,1
    - Dst: rd_kafka_DescribeConfigs_result_resources
      Src: /src/librdkafka/tests/0081-admin.c:1440,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1441,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/tests/0081-admin.c:1452,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1453,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/tests/0081-admin.c:1456,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:1458,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1462,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1463,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1464,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1465,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1466,1
    - Dst: test_print_ConfigEntry_array
      Src: /src/librdkafka/tests/0081-admin.c:1468,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1470,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1471,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1472,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1472,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1473,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1474,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1479,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1480,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1481,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1482,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/tests/0081-admin.c:1483,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/tests/0081-admin.c:1484,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1489,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1492,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1493,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1498,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1500,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:1502,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1504,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:1506,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:1508,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:1511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1375
    functionDepth: 2
    functionLinenumber: 1375
    functionLinenumberEnd: 1512
    functionName: do_test_DescribeConfigs_groups
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - group_configs_supported
    - TEST_ASSERT
    - rd_kafka_ConfigResource_name
    - rd_kafka_ConfigResource_error
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_wait_admin_result
    - rd_kafka_ConfigResource_type
    - TEST_SAY
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - test_print_ConfigEntry_array
    - strcmp
    - rd_kafka_ConfigResource_destroy_array
    - rd_kafka_DescribeConfigs_result_resources
    - SUB_TEST_PASS
    - rd_kafka_DescribeConfigs
    - rd_kafka_event_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_ResourceType_name
    - rd_strdup
    - rd_kafka_ConfigResource_configs
    - SUB_TEST_QUICK
    - rd_free
    - rd_kafka_event_DescribeConfigs_result
    - TEST_LATER_CHECK
    - rd_kafka_ConfigResource_new
    - test_mk_topic_name
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeConfigs_groups(rd_kafka_t *rk,\n                                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:1519,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:1539,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:1544,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:1546,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:1547,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:1550,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:1554,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1562,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1563,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1565,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:1567,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:1568,1
    - Dst: rd_kafka_CreateAcls
      Src: /src/librdkafka/tests/0081-admin.c:1569,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1570,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1575,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1578,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1579,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1581,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1582,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1584,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1585,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1585,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:1590,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1590,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1593,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1594,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1596,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1597,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1597,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:1601,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1601,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1604,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:1605,1
    - Dst: rd_kafka_event_CreateAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:1610,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1611,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:1612,1
    - Dst: rd_kafka_CreateAcls_result_acls
      Src: /src/librdkafka/tests/0081-admin.c:1614,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1615,1
    - Dst: rd_kafka_acl_result_error
      Src: /src/librdkafka/tests/0081-admin.c:1620,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1622,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1624,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1627,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1628,1
    - Dst: rd_kafka_AclBinding_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:1629,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1631,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:1633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 3
    argNames:
    - rk
    - useq
    - version
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1634
    functionName: do_test_CreateAcls
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_acl_result_error
    - TEST_ASSERT
    - rd_kafka_CreateAcls_result_acls
    - TIMING_ASSERT_LATER
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_wait_admin_result
    - TEST_SAY
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_CreateAcls
    - rd_kafka_event_CreateAcls_result
    - rd_kafka_AdminOptions_new
    - TEST_FAIL
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - SUB_TEST_QUICK
    - rd_kafka_AclBinding_destroy_array
    - TIMING_START
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_CreateAcls(rd_kafka_t *rk, rd_kafka_queue_t *useq, int
      version)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:1641,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1659,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:1665,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:1667,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0081-admin.c:1668,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:1679,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:1681,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:1686,1
    - Dst: test_CreateAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:1693,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:1696,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:1696,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1698,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:1699,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0081-admin.c:1701,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1708,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1709,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:1712,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:1713,1
    - Dst: rd_kafka_DescribeAcls
      Src: /src/librdkafka/tests/0081-admin.c:1714,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1715,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1720,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1723,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1724,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1727,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:1730,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1731,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1731,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1736,1
    - Dst: rd_kafka_event_DescribeAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:1743,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1745,1
    - Dst: rd_kafka_DescribeAcls_result_acls
      Src: /src/librdkafka/tests/0081-admin.c:1749,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1752,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1759,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1759,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1761,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1762,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1766,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1767,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1768,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1769,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1769,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1772,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1773,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1774,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1778,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1780,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1781,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1783,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1784,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1784,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1788,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1790,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1791,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1791,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1794,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1796,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:1797,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:1800,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:1802,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:1803,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1805,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1806,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1809,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1811,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1812,1
    - Dst: rd_kafka_AclBinding_error
      Src: /src/librdkafka/tests/0081-admin.c:1815,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1816,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1818,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1821,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1822,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1826,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1827,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1828,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1829,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1829,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1832,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1833,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1834,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1839,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1841,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1842,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1844,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1845,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1845,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1849,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1851,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1852,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1852,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1855,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1857,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:1858,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:1861,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:1863,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:1864,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1866,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1867,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1870,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1872,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1873,1
    - Dst: rd_kafka_AclBinding_error
      Src: /src/librdkafka/tests/0081-admin.c:1877,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1878,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1880,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1885,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1886,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0081-admin.c:1888,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:1894,1
    - Dst: rd_kafka_DescribeAcls
      Src: /src/librdkafka/tests/0081-admin.c:1895,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:1896,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1901,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1904,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1905,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1907,1
    - Dst: rd_kafka_event_DescribeAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:1911,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1913,1
    - Dst: rd_kafka_DescribeAcls_result_acls
      Src: /src/librdkafka/tests/0081-admin.c:1917,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1920,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1926,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1927,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:1929,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:1929,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1930,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1930,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1930,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:1932,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1933,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1933,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1936,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:1938,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:1939,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1940,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1940,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1940,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:1942,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1944,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:1944,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1944,1
    - Dst: rd_kafka_AclBinding_host
      Src: /src/librdkafka/tests/0081-admin.c:1946,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1948,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1949,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1952,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:1953,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:1954,1
    - Dst: rd_kafka_AclBinding_error
      Src: /src/librdkafka/tests/0081-admin.c:1956,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:1957,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:1958,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1960,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1961,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1962,1
    - Dst: rd_kafka_AclBinding_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:1963,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:1966,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:1968,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 93
    argCount: 3
    argNames:
    - rk
    - useq
    - version
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1969
    functionName: do_test_DescribeAcls
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_AclBindingFilter_new
    - test_CreateAcls_simple
    - rd_kafka_AclBinding_restype
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_AclPermissionType_name
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_AclBinding_principal
    - test_wait_admin_result
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AclBinding_operation
    - rd_kafka_AclBinding_resource_pattern_type
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DescribeAcls
    - SUB_TEST_SKIP
    - strcmp
    - rd_kafka_AclBinding_host
    - rd_kafka_DescribeAcls_result_acls
    - SUB_TEST_PASS
    - rd_kafka_ResourceType_name
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_kafka_AclBinding_name
    - rd_kafka_AclBinding_destroy_array
    - rd_kafka_event_DescribeAcls_result
    - rd_sleep
    - TIMING_START
    - rd_kafka_AclOperation_name
    - rd_kafka_AclBinding_permission_type
    - rd_kafka_ResourcePatternType_name
    - rd_kafka_AclBinding_error
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void do_test_DescribeAcls(rd_kafka_t *rk, rd_kafka_queue_t *useq, int
      version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:1987,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:1988,1
    - Dst: rd_kafka_DescribeAcls
      Src: /src/librdkafka/tests/0081-admin.c:1991,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:1996,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:1999,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2000,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2002,1
    - Dst: rd_kafka_event_DescribeAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:2006,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2008,1
    - Dst: rd_kafka_DescribeAcls_result_acls
      Src: /src/librdkafka/tests/0081-admin.c:2012,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2014,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - acl_bindings_describe
    - q
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AclBindingFilter_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 2018
    functionName: do_test_acls_count
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_error_string
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DescribeAcls
    - rd_kafka_event_DescribeAcls_result
    - test_wait_admin_result
    - TEST_ASSERT
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_DescribeAcls_result_acls
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    linkageType: ''
    returnType: size_t
    signature: "size_t do_test_acls_count(rd_kafka_t *rk,\n                   rd_kafka_AclBindingFilter_t
      *acl_bindings_describe,\n                   rd_kafka_queue_t *q)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:2025,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:2052,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:2062,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:2064,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0081-admin.c:2065,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:2079,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:2081,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:2082,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:2084,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:2089,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:2094,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0081-admin.c:2100,1
    - Dst: test_CreateAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:2108,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:2111,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2111,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2113,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2114,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:2117,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:2118,1
    - Dst: do_test_acls_count
      Src: /src/librdkafka/tests/0081-admin.c:2122,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2123,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2127,1
    - Dst: rd_kafka_DeleteAcls
      Src: /src/librdkafka/tests/0081-admin.c:2128,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2130,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:2133,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2133,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:2138,1
    - Dst: rd_kafka_event_DeleteAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:2141,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2143,1
    - Dst: rd_kafka_DeleteAcls_result_responses
      Src: /src/librdkafka/tests/0081-admin.c:2146,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2149,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:2155,1
    - Dst: rd_kafka_DeleteAcls_result_response_error
      Src: /src/librdkafka/tests/0081-admin.c:2155,1
    - Dst: rd_kafka_DeleteAcls_result_response_matching_acls
      Src: /src/librdkafka/tests/0081-admin.c:2158,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2161,1
    - Dst: rd_kafka_AclBinding_error
      Src: /src/librdkafka/tests/0081-admin.c:2174,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:2175,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:2176,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:2178,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:2179,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:2180,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:2182,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2184,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2185,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2186,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:2188,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2189,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2189,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2191,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:2194,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:2196,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2198,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2199,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2202,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2204,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2207,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2209,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2211,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2214,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2217,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2219,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2222,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2224,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2226,1
    - Dst: do_test_acls_count
      Src: /src/librdkafka/tests/0081-admin.c:2231,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2232,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2236,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2237,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0081-admin.c:2239,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2246,1
    - Dst: rd_kafka_DeleteAcls
      Src: /src/librdkafka/tests/0081-admin.c:2247,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2249,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:2252,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:2257,1
    - Dst: rd_kafka_event_DeleteAcls_result
      Src: /src/librdkafka/tests/0081-admin.c:2260,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2262,1
    - Dst: rd_kafka_DeleteAcls_result_responses
      Src: /src/librdkafka/tests/0081-admin.c:2265,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2268,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:2274,1
    - Dst: rd_kafka_DeleteAcls_result_response_error
      Src: /src/librdkafka/tests/0081-admin.c:2274,1
    - Dst: rd_kafka_DeleteAcls_result_response_matching_acls
      Src: /src/librdkafka/tests/0081-admin.c:2277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2280,1
    - Dst: rd_kafka_AclBinding_error
      Src: /src/librdkafka/tests/0081-admin.c:2285,1
    - Dst: rd_kafka_AclBinding_restype
      Src: /src/librdkafka/tests/0081-admin.c:2286,1
    - Dst: rd_kafka_AclBinding_name
      Src: /src/librdkafka/tests/0081-admin.c:2287,1
    - Dst: rd_kafka_AclBinding_resource_pattern_type
      Src: /src/librdkafka/tests/0081-admin.c:2289,1
    - Dst: rd_kafka_AclBinding_principal
      Src: /src/librdkafka/tests/0081-admin.c:2290,1
    - Dst: rd_kafka_AclBinding_operation
      Src: /src/librdkafka/tests/0081-admin.c:2291,1
    - Dst: rd_kafka_AclBinding_permission_type
      Src: /src/librdkafka/tests/0081-admin.c:2292,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2294,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2295,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2296,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/tests/0081-admin.c:2298,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2299,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2299,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2301,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:2304,1
    - Dst: rd_kafka_AclPermissionType_name
      Src: /src/librdkafka/tests/0081-admin.c:2305,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2306,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2306,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2308,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2310,1
    - Dst: rd_kafka_ResourcePatternType_name
      Src: /src/librdkafka/tests/0081-admin.c:2312,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2314,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2316,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:2317,1
    - Dst: do_test_acls_count
      Src: /src/librdkafka/tests/0081-admin.c:2320,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2321,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2325,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2326,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2327,1
    - Dst: rd_kafka_AclBinding_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:2329,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2332,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:2334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 106
    argCount: 3
    argNames:
    - rk
    - useq
    - version
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2335
    functionName: do_test_DeleteAcls
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_AclBindingFilter_new
    - test_CreateAcls_simple
    - rd_snprintf
    - rd_kafka_AclBinding_restype
    - rd_kafka_DeleteAcls_result_responses
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_AclPermissionType_name
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - rd_kafka_AclBinding_new
    - rd_kafka_DeleteAcls
    - rd_kafka_event_destroy
    - do_test_acls_count
    - rd_kafka_AclBinding_principal
    - test_wait_admin_result
    - rd_kafka_err2str
    - rd_kafka_DeleteAcls_result_response_error
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_DeleteAcls_result
    - TEST_CALL_ERROR__
    - rd_kafka_AclBinding_operation
    - rd_kafka_AclBinding_resource_pattern_type
    - rd_kafka_AdminOptions_destroy
    - SUB_TEST_SKIP
    - strcmp
    - SUB_TEST_PASS
    - rd_kafka_ResourceType_name
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_kafka_AclBinding_name
    - rd_kafka_AclBinding_destroy_array
    - rd_kafka_DeleteAcls_result_response_matching_acls
    - rd_sleep
    - TIMING_START
    - rd_kafka_AclOperation_name
    - rd_kafka_AclBinding_permission_type
    - rd_kafka_error_string
    - rd_kafka_AclBinding_error
    - rd_kafka_ResourcePatternType_name
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - rd_kafka_queue_new
    linkageType: ''
    returnType: void
    signature: void do_test_DeleteAcls(rd_kafka_t *rk, rd_kafka_queue_t *useq, int
      version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:2348,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0081-admin.c:2351,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/tests/0081-admin.c:2353,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2354,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0081-admin.c:2357,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:2359,1
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/tests/0081-admin.c:2361,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:2361,1
    - Dst: rd_kafka_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:2363,1
    - Dst: rd_kafka_NewTopic_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2364,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2366,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2368,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0081-admin.c:2371,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2372,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2373,1
    - Dst: TIMING_STOP
      Src: /src/librdkafka/tests/0081-admin.c:2374,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:2376,1
    - Dst: test_timeout_set
      Src: /src/librdkafka/tests/0081-admin.c:2379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - cltype
    - with_mainq
    argTypes:
    - rd_kafka_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2340
    functionDepth: 5
    functionLinenumber: 2340
    functionLinenumberEnd: 2380
    functionName: do_test_unclean_destroy
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_destroy
    - rd_kafka_CreateTopics
    - rd_kafka_NewTopic_new
    - test_conf_init
    - TEST_SAY
    - TEST_ASSERT
    - TIMING_START
    - rd_kafka_NewTopic_destroy
    - test_timeout_set
    - rd_kafka_queue_get_main
    - test_mk_topic_name
    - rd_kafka_queue_destroy
    - rd_kafka_new
    - rd_kafka_queue_new
    - SUB_TEST_PASS
    - SUB_TEST_QUICK
    - TIMING_STOP
    linkageType: ''
    returnType: void
    signature: void do_test_unclean_destroy(rd_kafka_type_t cltype, int with_mainq)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:2413,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:2414,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:2416,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:2419,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/tests/0081-admin.c:2421,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2423,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2423,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:2431,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:2432,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:2432,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:2439,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:2443,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:2450,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:2455,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:2459,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:2463,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:2467,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:2471,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:2474,1
    - Dst: rd_kafka_DeleteRecords_new
      Src: /src/librdkafka/tests/0081-admin.c:2477,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2479,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2480,1
    - Dst: rd_kafka_DeleteRecords
      Src: /src/librdkafka/tests/0081-admin.c:2481,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2482,1
    - Dst: rd_kafka_DeleteRecords_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2484,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2486,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:2492,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2492,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2493,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2494,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:2495,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2498,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2499,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2499,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2500,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:2502,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2507,1
    - Dst: rd_kafka_event_DeleteRecords_result
      Src: /src/librdkafka/tests/0081-admin.c:2510,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2511,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2512,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2515,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2516,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2517,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2519,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2519,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2522,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2522,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:2525,1
    - Dst: rd_kafka_DeleteRecords_result_offsets
      Src: /src/librdkafka/tests/0081-admin.c:2526,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/0081-admin.c:2529,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/tests/0081-admin.c:2530,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2532,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:2533,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2534,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:2535,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2537,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2556,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:2559,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2562,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2563,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2569,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2575,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2581,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2582,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2585,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/tests/0081-admin.c:2599,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/tests/0081-admin.c:2609,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2611,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:2613,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2616,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2619,1
    - Dst: TEST_FAIL_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2627,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2636,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:2639,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2642,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2645,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2648,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2651,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:2653,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:2656,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 103
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - op_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2389
    functionDepth: 7
    functionLinenumber: 2389
    functionLinenumberEnd: 2657
    functionName: do_test_DeleteRecords
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_DeleteRecords_result_offsets
    - rd_kafka_queue_poll
    - rd_snprintf
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_DeleteRecords
    - rd_kafka_queue_destroy
    - rd_kafka_DeleteRecords_new
    - rd_kafka_event_destroy
    - rd_kafka_topic_partition_list_copy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - TEST_SAY
    - rd_kafka_err2str
    - test_produce_msgs_easy
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteRecords_destroy
    - TEST_FAIL
    - rd_kafka_AdminOptions_destroy
    - TEST_FAIL_LATER
    - strcmp
    - test_print_partition_list
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_topic_partition_list_find
    - rd_kafka_event_name
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_strdup
    - tmout_multip
    - rd_kafka_event_DeleteRecords_result
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - TIMING_START
    - rd_kafka_query_watermark_offsets
    - test_mk_topic_name
    - rd_kafka_topic_partition_list_sort
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteRecords(const char *what,\n                                  rd_kafka_t
      *rk,\n                                  rd_kafka_queue_t *useq,\n                                  int
      op_timeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0081-admin.c:2687,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:2695,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:2696,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:2698,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:2701,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:2703,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2705,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2705,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:2709,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:2709,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:2713,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:2716,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:2719,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:2722,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:2722,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:2724,1
    - Dst: rd_kafka_DeleteGroup_new
      Src: /src/librdkafka/tests/0081-admin.c:2732,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2735,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2736,1
    - Dst: rd_kafka_DeleteGroups
      Src: /src/librdkafka/tests/0081-admin.c:2737,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:2738,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:2740,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:2746,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2746,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2747,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2748,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:2749,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2752,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2753,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2753,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2754,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:2756,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2761,1
    - Dst: rd_kafka_event_DeleteGroups_result
      Src: /src/librdkafka/tests/0081-admin.c:2764,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2765,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2766,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2769,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2770,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2771,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2773,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2773,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2776,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2776,1
    - Dst: rd_kafka_DeleteGroups_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:2780,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2782,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:2792,1
    - Dst: rd_kafka_group_result_error
      Src: /src/librdkafka/tests/0081-admin.c:2792,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2793,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2794,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/0081-admin.c:2794,1
    - Dst: rd_kafka_group_result_name
      Src: /src/librdkafka/tests/0081-admin.c:2797,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2798,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:2801,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2804,1
    - Dst: rd_kafka_DeleteGroup_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2807,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:2808,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:2811,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2814,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2817,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:2819,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:2822,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - request_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2670
    functionDepth: 7
    functionLinenumber: 2670
    functionLinenumberEnd: 2823
    functionName: do_test_DeleteGroups
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_group_result_error
    - rd_kafka_queue_poll
    - test_consume_msgs_easy
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_DeleteGroup_destroy
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - TEST_SAY
    - rd_kafka_err2str
    - test_produce_msgs_easy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteGroups_result_groups
    - rd_kafka_DeleteGroups
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_group_result_name
    - strcmp
    - test_id_generate
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - tmout_multip
    - rd_kafka_event_DeleteGroups_result
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - rd_kafka_DeleteGroup_new
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteGroups(const char *what,\n                                 rd_kafka_t
      *rk,\n                                 rd_kafka_queue_t *useq,\n                                 int
      request_timeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2852,1
    - Dst: rd_kafka_ListConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:2853,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:2858,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:2858,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2862,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:2863,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2863,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2864,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:2866,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2870,1
    - Dst: rd_kafka_event_ListConsumerGroups_result
      Src: /src/librdkafka/tests/0081-admin.c:2873,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2874,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:2875,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:2877,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:2878,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:2879,1
    - Dst: rd_kafka_ListConsumerGroups_result_valid
      Src: /src/librdkafka/tests/0081-admin.c:2881,1
    - Dst: rd_kafka_ListConsumerGroups_result_errors
      Src: /src/librdkafka/tests/0081-admin.c:2882,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2884,1
    - Dst: rd_kafka_ConsumerGroupListing_group_id
      Src: /src/librdkafka/tests/0081-admin.c:2893,1
    - Dst: rd_kafka_ConsumerGroupListing_is_simple_consumer_group
      Src: /src/librdkafka/tests/0081-admin.c:2895,1
    - Dst: rd_kafka_ConsumerGroupListing_state
      Src: /src/librdkafka/tests/0081-admin.c:2898,1
    - Dst: rd_kafka_ConsumerGroupListing_type
      Src: /src/librdkafka/tests/0081-admin.c:2900,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:2902,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2904,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2909,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2918,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/tests/0081-admin.c:2923,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:2929,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:2935,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 8
    argNames:
    - rk
    - option
    - q
    - list_consumer_groups
    - list_consumer_groups_cnt
    - exp_found
    - exp_type
    - match_states
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    - char**
    - size_t
    - size_t
    - rd_kafka_consumer_group_type_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2835
    functionDepth: 2
    functionLinenumber: 2835
    functionLinenumberEnd: 2936
    functionName: test_ListConsumerGroups_helper
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupListing_group_id
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - rd_kafka_ConsumerGroupListing_is_simple_consumer_group
    - rd_kafka_ListConsumerGroups_result_valid
    - rd_kafka_event_type
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_event_ListConsumerGroups_result
    - rd_kafka_ListConsumerGroups
    - rd_kafka_ListConsumerGroups_result_errors
    - TEST_SAY
    - rd_kafka_ConsumerGroupListing_state
    - rd_kafka_consumer_group_state_name
    - TEST_FAIL
    - strcmp
    - rd_kafka_event_name
    - tmout_multip
    - rd_kafka_ConsumerGroupListing_type
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void test_ListConsumerGroups_helper(rd_kafka_t *rk,\n                               rd_kafka_AdminOptions_t
      *option,\n                               rd_kafka_queue_t *q,\n                               char
      **list_consumer_groups,\n                               size_t list_consumer_groups_cnt,\n
      \                              size_t exp_found,\n                               rd_kafka_consumer_group_type_t
      exp_type,\n                               rd_bool_t match_states)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0081-admin.c:2958,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:2960,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:2962,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:2969,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:2972,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0081-admin.c:2972,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0081-admin.c:2973,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:2983,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:2986,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:2989,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:2989,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:2997,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_states
      Src: /src/librdkafka/tests/0081-admin.c:2998,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0081-admin.c:3003,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3014,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_types
      Src: /src/librdkafka/tests/0081-admin.c:3015,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3019,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3019,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3023,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:3026,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:3029,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3032,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3032,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:3033,1
    - Dst: test_ListConsumerGroups_helper
      Src: /src/librdkafka/tests/0081-admin.c:3038,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3046,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_types
      Src: /src/librdkafka/tests/0081-admin.c:3048,1
    - Dst: test_ListConsumerGroups_helper
      Src: /src/librdkafka/tests/0081-admin.c:3052,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3057,1
    - Dst: test_DeleteGroups_simple
      Src: /src/librdkafka/tests/0081-admin.c:3060,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:3064,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:3067,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3069,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3072,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:3074,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:3077,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 6
    argNames:
    - what
    - rk
    - useq
    - request_timeout
    - match_states
    - match_types
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 2942
    functionDepth: 7
    functionLinenumber: 2942
    functionLinenumberEnd: 3078
    functionName: do_test_ListConsumerGroups
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - test_consume_msgs_easy
    - test_CreateTopics_simple
    - rd_kafka_name
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - RD_STR_ToF
    - test_produce_msgs_easy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - TEST_CALL_ERROR__
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - test_id_generate
    - SUB_TEST_PASS
    - rd_strdup
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - test_consumer_group_protocol_classic
    - test_DeleteGroups_simple
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_AdminOptions_set_match_consumer_group_states
    - test_ListConsumerGroups_helper
    - rd_kafka_AdminOptions_set_match_consumer_group_types
    linkageType: ''
    returnType: void
    signature: "void do_test_ListConsumerGroups(const char *what,\n                                       rd_kafka_t
      *rk,\n                                       rd_kafka_queue_t *useq,\n                                       int
      request_timeout,\n                                       rd_bool_t match_states,\n
      \                                      rd_bool_t match_types)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0081-admin.c:3107,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:3120,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:3122,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:3123,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:3125,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3128,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3131,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3133,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:3133,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3137,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3137,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3141,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:3144,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:3147,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3151,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3151,1
    - Dst: snprintf
      Src: /src/librdkafka/tests/0081-admin.c:3153,1
    - Dst: snprintf
      Src: /src/librdkafka/tests/0081-admin.c:3156,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0081-admin.c:3159,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0081-admin.c:3160,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0081-admin.c:3161,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0081-admin.c:3163,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0081-admin.c:3164,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0081-admin.c:3166,1
    - Dst: test_consumer_subscribe
      Src: /src/librdkafka/tests/0081-admin.c:3167,1
    - Dst: test_consumer_poll
      Src: /src/librdkafka/tests/0081-admin.c:3169,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3177,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:3178,1
    - Dst: rd_kafka_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:3179,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3181,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3183,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:3189,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3189,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:3190,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3191,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:3192,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3195,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:3196,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3196,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3197,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:3199,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3204,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/tests/0081-admin.c:3207,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3208,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3209,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3212,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3213,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3214,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:3216,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:3216,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:3219,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:3220,1
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:3223,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3225,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:3235,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:3236,1
    - Dst: rd_kafka_ConsumerGroupDescription_state
      Src: /src/librdkafka/tests/0081-admin.c:3238,1
    - Dst: rd_kafka_ConsumerGroupDescription_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3240,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3242,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3246,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3249,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3250,1
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/tests/0081-admin.c:3251,1
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/tests/0081-admin.c:3256,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3265,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/tests/0081-admin.c:3268,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3270,1
    - Dst: rd_kafka_ConsumerGroupDescription_is_simple_consumer_group
      Src: /src/librdkafka/tests/0081-admin.c:3271,1
    - Dst: rd_kafka_ConsumerGroupDescription_member_count
      Src: /src/librdkafka/tests/0081-admin.c:3277,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3278,1
    - Dst: rd_kafka_ConsumerGroupDescription_member
      Src: /src/librdkafka/tests/0081-admin.c:3283,1
    - Dst: rd_kafka_MemberDescription_client_id
      Src: /src/librdkafka/tests/0081-admin.c:3286,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3287,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3287,1
    - Dst: rd_kafka_MemberDescription_group_instance_id
      Src: /src/librdkafka/tests/0081-admin.c:3294,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3296,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3296,1
    - Dst: rd_kafka_MemberDescription_assignment
      Src: /src/librdkafka/tests/0081-admin.c:3305,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3306,1
    - Dst: rd_kafka_MemberAssignment_partitions
      Src: /src/librdkafka/tests/0081-admin.c:3310,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3311,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:3314,1
    - Dst: rd_kafka_MemberDescription_client_id
      Src: /src/librdkafka/tests/0081-admin.c:3319,1
    - Dst: rd_kafka_MemberDescription_group_instance_id
      Src: /src/librdkafka/tests/0081-admin.c:3320,1
    - Dst: rd_kafka_MemberDescription_consumer_id
      Src: /src/librdkafka/tests/0081-admin.c:3322,1
    - Dst: rd_kafka_MemberDescription_host
      Src: /src/librdkafka/tests/0081-admin.c:3323,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:3326,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3328,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/tests/0081-admin.c:3330,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3332,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:3335,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3338,1
    - Dst: test_consumer_close
      Src: /src/librdkafka/tests/0081-admin.c:3341,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3342,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:3346,1
    - Dst: test_DeleteGroups_simple
      Src: /src/librdkafka/tests/0081-admin.c:3348,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:3352,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3355,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:3357,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3360,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3363,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:3365,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:3368,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 100
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - request_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3090
    functionDepth: 7
    functionLinenumber: 3090
    functionLinenumberEnd: 3369
    functionName: do_test_DescribeConsumerGroups
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_MemberDescription_group_instance_id
    - rd_kafka_queue_poll
    - rd_kafka_event_DescribeConsumerGroups_result
    - TEST_ASSERT
    - test_CreateTopics_simple
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - TEST_BRKVER
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_ConsumerGroupDescription_error
    - rd_kafka_MemberDescription_consumer_id
    - snprintf
    - rd_kafka_event_destroy
    - TIMING_DURATION
    - test_consumer_poll
    - rd_kafka_event_error_string
    - rd_kafka_ConsumerGroupDescription_member
    - rd_kafka_destroy
    - rd_kafka_ConsumerGroupDescription_is_simple_consumer_group
    - TEST_SAY
    - rd_kafka_err2str
    - test_produce_msgs_easy
    - test_consumer_close
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_consumer_group_state_name
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - test_create_consumer
    - rd_kafka_AdminOptions_destroy
    - test_consumer_subscribe
    - rd_kafka_ConsumerGroupDescription_state
    - strcmp
    - test_print_partition_list
    - test_id_generate
    - rd_kafka_MemberDescription_assignment
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - tmout_multip
    - rd_kafka_ConsumerGroupDescription_authorized_operations
    - rd_kafka_MemberAssignment_partitions
    - SUB_TEST_QUICK
    - rd_kafka_MemberDescription_host
    - rd_free
    - rd_kafka_ConsumerGroupDescription_group_id
    - rd_kafka_MemberDescription_client_id
    - test_wait_metadata_update
    - TEST_LATER_CHECK
    - rd_sleep
    - test_conf_init
    - TIMING_START
    - rd_kafka_DescribeConsumerGroups_result_groups
    - test_DeleteGroups_simple
    - rd_kafka_DescribeConsumerGroups
    - test_mk_topic_name
    - test_conf_set
    - test_DeleteTopics_simple
    - rd_kafka_queue_new
    - rd_kafka_ConsumerGroupDescription_member_count
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeConsumerGroups(const char *what,\n                                           rd_kafka_t
      *rk,\n                                           rd_kafka_queue_t *useq,\n                                           int
      request_timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3379,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:3389,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/tests/0081-admin.c:3392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - expected
    - expected_cnt
    - actual
    - actual_cnt
    argTypes:
    - rd_kafka_AclOperation_t*
    - size_t
    - rd_kafka_AclOperation_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3373
    functionDepth: 1
    functionLinenumber: 3373
    functionLinenumberEnd: 3394
    functionName: test_match_authorized_operations
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - TEST_FAIL
    - rd_kafka_AclOperation_name
    - TEST_ASSERT
    linkageType: ''
    returnType: void
    signature: "void test_match_authorized_operations(const rd_kafka_AclOperation_t
      *expected,\n                                 size_t expected_cnt,\n                                 const
      rd_kafka_AclOperation_t *actual,\n                                 size_t actual_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:3434,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:3437,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:3440,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/tests/0081-admin.c:3444,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3445,1
    - Dst: rd_kafka_TopicCollection_of_topic_names
      Src: /src/librdkafka/tests/0081-admin.c:3447,1
    - Dst: rd_kafka_TopicCollection_of_topic_names
      Src: /src/librdkafka/tests/0081-admin.c:3449,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3451,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0081-admin.c:3452,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3455,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3456,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3456,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3458,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3459,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3463,1
    - Dst: rd_kafka_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:3464,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3465,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3468,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3469,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3470,1
    - Dst: rd_kafka_event_DescribeTopics_result
      Src: /src/librdkafka/tests/0081-admin.c:3473,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3474,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3475,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3477,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3478,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3479,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:3480,1
    - Dst: rd_kafka_DescribeTopics_result_topics
      Src: /src/librdkafka/tests/0081-admin.c:3483,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3486,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3490,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3493,1
    - Dst: rd_kafka_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:3494,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3495,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3498,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3499,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3500,1
    - Dst: rd_kafka_event_DescribeTopics_result
      Src: /src/librdkafka/tests/0081-admin.c:3503,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3504,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3505,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3507,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3508,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3509,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:3510,1
    - Dst: rd_kafka_DescribeTopics_result_topics
      Src: /src/librdkafka/tests/0081-admin.c:3513,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3516,1
    - Dst: rd_kafka_TopicDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:3521,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3522,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:3522,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3524,1
    - Dst: rd_kafka_TopicDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:3531,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3532,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:3532,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3535,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3539,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3539,1
    - Dst: rd_kafka_TopicDescription_name
      Src: /src/librdkafka/tests/0081-admin.c:3539,1
    - Dst: rd_kafka_TopicDescription_name
      Src: /src/librdkafka/tests/0081-admin.c:3542,1
    - Dst: rd_kafka_TopicDescription_topic_id
      Src: /src/librdkafka/tests/0081-admin.c:3544,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3546,1
    - Dst: rd_kafka_TopicDescription_partitions
      Src: /src/librdkafka/tests/0081-admin.c:3548,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3551,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3554,1
    - Dst: rd_kafka_TopicPartitionInfo_partition
      Src: /src/librdkafka/tests/0081-admin.c:3554,1
    - Dst: rd_kafka_TopicPartitionInfo_partition
      Src: /src/librdkafka/tests/0081-admin.c:3556,1
    - Dst: rd_kafka_TopicDescription_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3558,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3571,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3575,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3579,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3584,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3585,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0081-admin.c:3593,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3596,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3597,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0081-admin.c:3598,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3601,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:3602,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:3606,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3611,1
    - Dst: test_CreateAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:3612,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3613,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:3616,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3616,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3620,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3621,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3621,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3623,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3624,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3627,1
    - Dst: rd_kafka_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:3628,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3629,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3630,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3633,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3634,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3635,1
    - Dst: rd_kafka_event_DescribeTopics_result
      Src: /src/librdkafka/tests/0081-admin.c:3638,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3639,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3640,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3642,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3643,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3644,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:3645,1
    - Dst: rd_kafka_DescribeTopics_result_topics
      Src: /src/librdkafka/tests/0081-admin.c:3648,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3651,1
    - Dst: rd_kafka_TopicDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:3656,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3657,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:3657,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3659,1
    - Dst: rd_kafka_TopicDescription_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3667,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3670,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3674,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:3680,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3685,1
    - Dst: test_DeleteAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:3686,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3687,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:3690,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3690,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3693,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3695,1
    - Dst: rd_kafka_TopicCollection_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3697,1
    - Dst: rd_kafka_TopicCollection_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3698,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:3701,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:3704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 107
    argCount: 5
    argNames:
    - what
    - rk
    - rkqu
    - request_timeout
    - include_authorized_operations
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3404
    functionDepth: 8
    functionLinenumber: 3404
    functionLinenumberEnd: 3705
    functionName: do_test_DescribeTopics
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_TopicDescription_topic_id
    - rd_strdupa
    - test_CreateAcls_simple
    - TEST_ASSERT
    - test_CreateTopics_simple
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - test_wait_topic_exists
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - rd_kafka_TopicPartitionInfo_partition
    - rd_kafka_DescribeTopics_result_topics
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_match_authorized_operations
    - rd_kafka_TopicDescription_authorized_operations
    - test_DeleteAcls_simple
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - test_wait_admin_result
    - test_needs_auth
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - rd_kafka_DescribeTopics
    - rd_kafka_TopicDescription_partitions
    - TEST_CALL_ERROR__
    - test_conf_get
    - rd_kafka_event_DescribeTopics_result
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - rd_kafka_TopicCollection_of_topic_names
    - strcmp
    - rd_kafka_TopicCollection_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - tmout_multip
    - rd_kafka_TopicDescription_error
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - tsprintf
    - rd_sleep
    - TIMING_START
    - rd_kafka_TopicDescription_name
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - test_DeleteTopics_simple
    - strncmp
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeTopics(const char *what,\n                                   rd_kafka_t
      *rk,\n                                   rd_kafka_queue_t *rkqu,\n                                   int
      request_timeout,\n                                   rd_bool_t include_authorized_operations)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:3736,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:3739,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:3742,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3746,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3747,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3747,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3749,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3750,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3753,1
    - Dst: rd_kafka_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:3754,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3755,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3756,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3759,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3760,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3761,1
    - Dst: rd_kafka_event_DescribeCluster_result
      Src: /src/librdkafka/tests/0081-admin.c:3764,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3765,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3766,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3768,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3769,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3770,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:3771,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3776,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0081-admin.c:3776,1
    - Dst: rd_kafka_DescribeCluster_result_cluster_id
      Src: /src/librdkafka/tests/0081-admin.c:3776,1
    - Dst: rd_kafka_DescribeCluster_result_nodes
      Src: /src/librdkafka/tests/0081-admin.c:3779,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3780,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3782,1
    - Dst: rd_kafka_Node_host
      Src: /src/librdkafka/tests/0081-admin.c:3782,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3784,1
    - Dst: rd_kafka_Node_port
      Src: /src/librdkafka/tests/0081-admin.c:3784,1
    - Dst: rd_kafka_DescribeCluster_result_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3788,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3800,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3804,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3808,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3813,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0081-admin.c:3821,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3824,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3825,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0081-admin.c:3826,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3829,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:3830,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:3834,1
    - Dst: test_CreateAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:3839,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3840,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:3843,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3843,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3847,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3849,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3849,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3851,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3852,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:3855,1
    - Dst: rd_kafka_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:3856,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:3857,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3858,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3860,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3861,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3862,1
    - Dst: rd_kafka_event_DescribeCluster_result
      Src: /src/librdkafka/tests/0081-admin.c:3865,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3866,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3867,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:3869,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:3870,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3871,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:3872,1
    - Dst: rd_kafka_DescribeCluster_result_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3884,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3887,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3892,1
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/tests/0081-admin.c:3898,1
    - Dst: test_DeleteAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:3903,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3904,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:3907,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3907,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:3910,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3913,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:3915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 5
    argNames:
    - what
    - rk
    - rkqu
    - request_timeout
    - include_authorized_operations
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3916
      start: 3713
    functionDepth: 7
    functionLinenumber: 3713
    functionLinenumberEnd: 3916
    functionName: do_test_DescribeCluster
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_AclBindingFilter_new
    - test_CreateAcls_simple
    - rd_kafka_DescribeCluster_result_cluster_id
    - rd_kafka_Node_host
    - TEST_ASSERT
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_queue_destroy
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_match_authorized_operations
    - test_DeleteAcls_simple
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - test_wait_admin_result
    - test_needs_auth
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - TEST_CALL_ERROR__
    - test_conf_get
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - rd_kafka_DescribeCluster
    - strcmp
    - rd_kafka_Node_port
    - rd_kafka_DescribeCluster_result_authorized_operations
    - strlen
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - tmout_multip
    - SUB_TEST_QUICK
    - TEST_LATER_CHECK
    - tsprintf
    - rd_kafka_DescribeCluster_result_nodes
    - rd_sleep
    - TIMING_START
    - rd_kafka_AclBinding_destroy
    - strncmp
    - rd_kafka_queue_new
    - rd_kafka_event_DescribeCluster_result
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeCluster(const char *what,\n                                    rd_kafka_t
      *rk,\n                                    rd_kafka_queue_t *rkqu,\n                                    int
      request_timeout,\n                                    rd_bool_t include_authorized_operations)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test_id_generate
      Src: /src/librdkafka/tests/0081-admin.c:3939,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:3947,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:3948,1
    - Dst: test_needs_auth
      Src: /src/librdkafka/tests/0081-admin.c:3950,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0081-admin.c:3951,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3953,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:3954,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/0081-admin.c:3955,1
    - Dst: SUB_TEST_SKIP
      Src: /src/librdkafka/tests/0081-admin.c:3956,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/0081-admin.c:3959,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:3960,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3962,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3962,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:3965,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0081-admin.c:3966,1
    - Dst: test_produce_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:3969,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:3972,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:3972,1
    - Dst: test_consume_msgs_easy
      Src: /src/librdkafka/tests/0081-admin.c:3973,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:3975,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:3977,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:3980,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:3980,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:3982,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:3983,1
    - Dst: rd_kafka_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:3986,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:3988,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:3990,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:3992,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3993,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/tests/0081-admin.c:3996,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:3997,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:3998,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4000,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4001,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4002,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4003,1
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:4006,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4007,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:4010,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4011,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4012,1
    - Dst: rd_kafka_ConsumerGroupDescription_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4026,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:4028,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4029,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4033,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4038,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:4042,1
    - Dst: test_CreateAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:4047,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4048,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:4052,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4052,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:4054,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4057,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:4057,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:4059,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4060,1
    - Dst: rd_kafka_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:4063,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4065,1
    - Dst: test_wait_admin_result
      Src: /src/librdkafka/tests/0081-admin.c:4067,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4069,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4070,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/tests/0081-admin.c:4073,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4074,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4075,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4077,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4078,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4079,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4080,1
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:4083,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4084,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:4087,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4088,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4089,1
    - Dst: rd_kafka_ConsumerGroupDescription_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4097,1
    - Dst: test_match_authorized_operations
      Src: /src/librdkafka/tests/0081-admin.c:4099,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4104,1
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/tests/0081-admin.c:4106,1
    - Dst: test_DeleteAcls_simple
      Src: /src/librdkafka/tests/0081-admin.c:4111,1
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4112,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:4115,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4115,1
    - Dst: test_DeleteGroups_simple
      Src: /src/librdkafka/tests/0081-admin.c:4117,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:4118,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:4120,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:4121,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4124,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4127,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:4130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 74
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - request_timeout
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 3922
    functionDepth: 8
    functionLinenumber: 3922
    functionLinenumberEnd: 4131
    functionName: do_test_DescribeConsumerGroups_with_authorized_ops
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - test_CreateAcls_simple
    - test_consume_msgs_easy
    - rd_kafka_event_DescribeConsumerGroups_result
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_name
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - test_wait_topic_exists
    - rd_kafka_ConsumerGroupDescription_error
    - rd_kafka_AclBinding_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - test_match_authorized_operations
    - test_DeleteAcls_simple
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - test_wait_admin_result
    - test_needs_auth
    - test_produce_msgs_easy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - TEST_CALL_ERROR__
    - test_conf_get
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - SUB_TEST_SKIP
    - strcmp
    - test_id_generate
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - tmout_multip
    - rd_kafka_ConsumerGroupDescription_authorized_operations
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - tsprintf
    - rd_sleep
    - rd_kafka_DescribeConsumerGroups_result_groups
    - test_DeleteGroups_simple
    - rd_kafka_DescribeConsumerGroups
    - rd_kafka_error_string
    - test_mk_topic_name
    - rd_kafka_AclBinding_destroy
    - test_DeleteTopics_simple
    - strncmp
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DescribeConsumerGroups_with_authorized_ops(const char
      *what,\n                                                   rd_kafka_t *rk,\n
      \                                                  rd_kafka_queue_t *useq,\n
      \                                                  int request_timeout)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:4165,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:4167,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:4173,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:4176,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:4179,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4181,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4181,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4185,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:4191,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:4192,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:4192,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4197,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:4204,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:4208,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0081-admin.c:4211,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4214,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0081-admin.c:4214,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0081-admin.c:4215,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4219,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4221,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4225,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0081-admin.c:4225,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4228,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4229,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0081-admin.c:4230,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4230,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4232,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4233,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4234,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4235,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4236,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4237,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4240,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4243,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4244,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4248,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4253,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4257,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0081-admin.c:4264,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4266,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4267,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:4268,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4269,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4271,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4273,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:4278,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4278,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4279,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4280,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:4281,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4284,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4285,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4285,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4286,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:4288,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4292,1
    - Dst: rd_kafka_event_DeleteConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0081-admin.c:4296,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4297,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4298,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4301,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4302,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4303,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4306,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4308,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4309,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:4312,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4313,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4316,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/tests/0081-admin.c:4317,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4319,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4320,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4321,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4322,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4323,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4324,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4329,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4335,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4336,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4339,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4341,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4342,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4344,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4348,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4349,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0081-admin.c:4350,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4350,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4352,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4353,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4355,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4356,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4362,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4363,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4364,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4365,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4366,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4367,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4370,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4371,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4372,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4373,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:4376,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4378,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4381,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4384,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4386,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:4389,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 122
    argCount: 5
    argNames:
    - what
    - rk
    - useq
    - req_timeout_ms
    - sub_consumer
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4137
    functionDepth: 7
    functionLinenumber: 4137
    functionLinenumberEnd: 4390
    functionName: do_test_DeleteConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_queue_poll
    - rd_snprintf
    - rd_kafka_DeleteConsumerGroupOffsets_new
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_event_DeleteConsumerGroupOffsets_result
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_subscribe
    - rd_kafka_topic_partition_list_copy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_committed
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteConsumerGroupOffsets_destroy
    - test_partition_list_and_offsets_cmp
    - TEST_FAIL
    - rd_kafka_commit
    - test_create_consumer
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - test_consumer_wait_assignment
    - rd_kafka_topic_partition_list_new
    - test_print_partition_list
    - rd_kafka_DeleteConsumerGroupOffsets
    - TEST_ASSERT_LATER
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - tmout_multip
    - rd_kafka_DeleteConsumerGroupOffsets_result_groups
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_group_result_partitions
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_DeleteConsumerGroupOffsets(const char *what,\n                                               rd_kafka_t
      *rk,\n                                               rd_kafka_queue_t *useq,\n
      \                                              int req_timeout_ms,\n                                               rd_bool_t
      sub_consumer)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:4428,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:4431,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4440,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:4444,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:4447,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:4450,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4452,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4452,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4456,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:4463,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:4464,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:4464,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4469,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:4477,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:4483,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0081-admin.c:4486,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4489,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0081-admin.c:4490,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0081-admin.c:4491,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4495,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4501,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4505,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4510,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0081-admin.c:4511,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4514,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4515,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0081-admin.c:4515,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4516,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4518,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4520,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4521,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4522,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4523,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4524,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4526,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4530,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4531,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4535,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4539,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4540,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4543,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4547,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4548,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4552,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0081-admin.c:4556,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4558,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4559,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:4560,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4561,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4563,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4565,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:4570,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4570,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4571,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4572,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:4573,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4576,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4577,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4577,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4578,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:4580,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4584,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0081-admin.c:4588,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4589,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4590,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4593,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4594,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4595,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4598,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4600,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4601,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:4603,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4604,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4607,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/tests/0081-admin.c:4608,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4610,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4611,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4612,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4613,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4614,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4615,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4620,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4626,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4627,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4630,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4632,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4633,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4635,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4640,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4641,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0081-admin.c:4641,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4642,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4649,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4650,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4652,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4653,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4655,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4656,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4657,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4658,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4659,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4660,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4662,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4665,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4666,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4667,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:4670,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4673,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4676,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4679,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4681,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:4684,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 140
    argCount: 6
    argNames:
    - what
    - rk
    - useq
    - req_timeout_ms
    - sub_consumer
    - create_topics
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4685
      start: 4398
    functionDepth: 7
    functionLinenumber: 4398
    functionLinenumberEnd: 4685
    functionName: do_test_AlterConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_queue_poll
    - rd_snprintf
    - rd_kafka_topic_partition_get_leader_epoch
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_subscribe
    - rd_kafka_topic_partition_list_copy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_committed
    - rd_kafka_AdminOptions_new
    - test_partition_list_and_offsets_cmp
    - rd_kafka_event_AlterConsumerGroupOffsets_result
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_commit
    - rd_kafka_AlterConsumerGroupOffsets_destroy
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - test_consumer_wait_assignment
    - rd_kafka_topic_partition_list_new
    - test_print_partition_list
    - TEST_ASSERT_LATER
    - rd_kafka_AlterConsumerGroupOffsets
    - rd_kafka_AlterConsumerGroupOffsets_result_groups
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_kafka_AlterConsumerGroupOffsets_new
    - rd_strdup
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - TIMING_START
    - test_mk_topic_name
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_queue_new
    - rd_kafka_group_result_partitions
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_AlterConsumerGroupOffsets(const char *what,\n                                              rd_kafka_t
      *rk,\n                                              rd_kafka_queue_t *useq,\n
      \                                             int req_timeout_ms,\n                                              rd_bool_t
      sub_consumer,\n                                              rd_bool_t create_topics)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:4722,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:4725,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:4728,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:4731,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:4734,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4736,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4736,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4740,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/tests/0081-admin.c:4747,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/0081-admin.c:4748,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:4748,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4753,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:4760,1
    - Dst: test_wait_metadata_update
      Src: /src/librdkafka/tests/0081-admin.c:4765,1
    - Dst: test_create_consumer
      Src: /src/librdkafka/tests/0081-admin.c:4768,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4771,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/tests/0081-admin.c:4771,1
    - Dst: test_consumer_wait_assignment
      Src: /src/librdkafka/tests/0081-admin.c:4772,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4776,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4780,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/tests/0081-admin.c:4784,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4787,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/tests/0081-admin.c:4787,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4790,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4791,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/tests/0081-admin.c:4792,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4792,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4794,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4795,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4796,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4797,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4798,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4799,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4802,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:4804,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:4806,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0081-admin.c:4813,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/tests/0081-admin.c:4816,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4819,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4820,1
    - Dst: rd_kafka_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:4821,1
    - Dst: TIMING_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4822,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4824,1
    - Dst: TIMING_START
      Src: /src/librdkafka/tests/0081-admin.c:4826,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:4831,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:4831,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4832,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4833,1
    - Dst: TIMING_DURATION
      Src: /src/librdkafka/tests/0081-admin.c:4834,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4837,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4838,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4838,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4839,1
    - Dst: rd_kafka_event_type
      Src: /src/librdkafka/tests/0081-admin.c:4841,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4845,1
    - Dst: rd_kafka_event_ListConsumerGroupOffsets_result
      Src: /src/librdkafka/tests/0081-admin.c:4849,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4850,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/tests/0081-admin.c:4851,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4854,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/tests/0081-admin.c:4855,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4856,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4859,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4861,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/tests/0081-admin.c:4862,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/tests/0081-admin.c:4864,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4865,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:4868,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/tests/0081-admin.c:4869,1
    - Dst: test_partition_list_and_offsets_cmp
      Src: /src/librdkafka/tests/0081-admin.c:4871,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4872,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4873,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:4874,1
    - Dst: test_print_partition_list
      Src: /src/librdkafka/tests/0081-admin.c:4875,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:4876,1
    - Dst: TEST_ASSERT_LATER
      Src: /src/librdkafka/tests/0081-admin.c:4881,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4887,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4888,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4891,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4893,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4894,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4896,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4898,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4899,1
    - Dst: rd_free
      Src: /src/librdkafka/tests/0081-admin.c:4902,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4904,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4907,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4910,1
    - Dst: TEST_LATER_CHECK
      Src: /src/librdkafka/tests/0081-admin.c:4912,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:4916,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 101
    argCount: 6
    argNames:
    - what
    - rk
    - useq
    - req_timeout_ms
    - sub_consumer
    - null_toppars
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4917
      start: 4692
    functionDepth: 7
    functionLinenumber: 4692
    functionLinenumberEnd: 4917
    functionName: do_test_ListConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_queue_poll
    - rd_snprintf
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_event_ListConsumerGroupOffsets_result
    - rd_kafka_topic_partition_list_add
    - TIMING_ASSERT_LATER
    - rd_kafka_name
    - rd_kafka_event_type
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_subscribe
    - rd_kafka_topic_partition_list_copy
    - TIMING_DURATION
    - rd_kafka_event_error_string
    - rd_kafka_err2name
    - rd_kafka_destroy
    - TEST_SAY
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_committed
    - rd_kafka_AdminOptions_new
    - test_partition_list_and_offsets_cmp
    - TEST_FAIL
    - test_create_consumer
    - rd_kafka_commit
    - rd_kafka_ListConsumerGroupOffsets_new
    - rd_kafka_ListConsumerGroupOffsets
    - TEST_CALL_ERR__
    - rd_kafka_AdminOptions_destroy
    - test_consumer_wait_assignment
    - rd_kafka_topic_partition_list_new
    - test_print_partition_list
    - TEST_ASSERT_LATER
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_kafka_event_name
    - rd_strdup
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_free
    - TEST_LATER_CHECK
    - test_wait_metadata_update
    - TIMING_START
    - rd_kafka_ListConsumerGroupOffsets_destroy
    - test_mk_topic_name
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_ListConsumerGroupOffsets_result_groups
    - rd_kafka_queue_new
    - rd_kafka_group_result_partitions
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_ListConsumerGroupOffsets(const char *what,\n                                             rd_kafka_t
      *rk,\n                                             rd_kafka_queue_t *useq,\n
      \                                            int req_timeout_ms,\n                                             rd_bool_t
      sub_consumer,\n                                             rd_bool_t null_toppars)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:4942,1
    - Dst: tsprintf
      Src: /src/librdkafka/tests/0081-admin.c:4944,1
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:4948,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:4957,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/tests/0081-admin.c:4957,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:4959,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:4961,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4964,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:4964,1
    - Dst: rd_kafka_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:4968,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:4968,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:4970,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:4971,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:4974,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4974,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:4975,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4976,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:4977,1
    - Dst: rd_kafka_event_DescribeUserScramCredentials_result
      Src: /src/librdkafka/tests/0081-admin.c:4980,1
    - Dst: rd_kafka_DescribeUserScramCredentials_result_descriptions
      Src: /src/librdkafka/tests/0081-admin.c:4982,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:4986,1
    - Dst: rd_kafka_UserScramCredentialsDescription_user
      Src: /src/librdkafka/tests/0081-admin.c:4991,1
    - Dst: rd_kafka_UserScramCredentialsDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:4992,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:4993,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
      Src: /src/librdkafka/tests/0081-admin.c:4996,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5000,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:5000,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5002,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5005,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5006,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5009,1
    - Dst: rd_kafka_UserScramCredentialUpsertion_new
      Src: /src/librdkafka/tests/0081-admin.c:5014,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:5018,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5021,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:5021,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5024,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5025,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5026,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:5027,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5028,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5031,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5032,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5034,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5035,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5036,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5039,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5040,1
    - Dst: rd_kafka_event_AlterUserScramCredentials_result
      Src: /src/librdkafka/tests/0081-admin.c:5042,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_responses
      Src: /src/librdkafka/tests/0081-admin.c:5043,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5047,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_user
      Src: /src/librdkafka/tests/0081-admin.c:5053,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_error
      Src: /src/librdkafka/tests/0081-admin.c:5055,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:5057,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5059,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:5059,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5061,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5063,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5065,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:5069,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:5069,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:5072,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5075,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:5075,1
    - Dst: rd_kafka_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5078,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5078,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5080,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5083,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5084,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5085,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5086,1
    - Dst: rd_kafka_event_DescribeUserScramCredentials_result
      Src: /src/librdkafka/tests/0081-admin.c:5089,1
    - Dst: rd_kafka_DescribeUserScramCredentials_result_descriptions
      Src: /src/librdkafka/tests/0081-admin.c:5091,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5095,1
    - Dst: rd_kafka_UserScramCredentialsDescription_user
      Src: /src/librdkafka/tests/0081-admin.c:5100,1
    - Dst: rd_kafka_UserScramCredentialsDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:5101,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:5102,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
      Src: /src/librdkafka/tests/0081-admin.c:5105,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5109,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:5109,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5111,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5113,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5114,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
      Src: /src/librdkafka/tests/0081-admin.c:5119,1
    - Dst: rd_kafka_ScramCredentialInfo_mechanism
      Src: /src/librdkafka/tests/0081-admin.c:5121,1
    - Dst: rd_kafka_ScramCredentialInfo_iterations
      Src: /src/librdkafka/tests/0081-admin.c:5122,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5124,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5127,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5130,1
    - Dst: rd_kafka_UserScramCredentialDeletion_new
      Src: /src/librdkafka/tests/0081-admin.c:5134,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:5136,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5139,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:5139,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5142,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5143,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5144,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/tests/0081-admin.c:5145,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5146,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5149,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5151,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5152,1
    - Dst: rd_kafka_event_AlterUserScramCredentials_result
      Src: /src/librdkafka/tests/0081-admin.c:5154,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_responses
      Src: /src/librdkafka/tests/0081-admin.c:5155,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5159,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_user
      Src: /src/librdkafka/tests/0081-admin.c:5165,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_error
      Src: /src/librdkafka/tests/0081-admin.c:5167,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:5169,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5171,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:5171,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5173,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5175,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5177,1
    - Dst: rd_sleep
      Src: /src/librdkafka/tests/0081-admin.c:5184,1
    - Dst: tmout_multip
      Src: /src/librdkafka/tests/0081-admin.c:5184,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:5188,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5191,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:5191,1
    - Dst: rd_kafka_DescribeUserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5194,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5194,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5196,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5198,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5199,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5200,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5201,1
    - Dst: rd_kafka_event_DescribeUserScramCredentials_result
      Src: /src/librdkafka/tests/0081-admin.c:5204,1
    - Dst: rd_kafka_DescribeUserScramCredentials_result_descriptions
      Src: /src/librdkafka/tests/0081-admin.c:5206,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5210,1
    - Dst: rd_kafka_UserScramCredentialsDescription_user
      Src: /src/librdkafka/tests/0081-admin.c:5215,1
    - Dst: rd_kafka_UserScramCredentialsDescription_error
      Src: /src/librdkafka/tests/0081-admin.c:5216,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/tests/0081-admin.c:5217,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
      Src: /src/librdkafka/tests/0081-admin.c:5219,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5223,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/0081-admin.c:5223,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5225,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5227,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5228,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5232,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5235,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:5237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 124
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - null_bytes
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5238
      start: 4919
    functionDepth: 2
    functionLinenumber: 4919
    functionLinenumberEnd: 5238
    functionName: do_test_UserScramCredentials
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DescribeUserScramCredentials
    - rd_kafka_queue_poll
    - rd_kafka_ScramCredentialInfo_iterations
    - rd_kafka_AlterUserScramCredentials
    - rd_kafka_DescribeUserScramCredentials_result_descriptions
    - TEST_ASSERT
    - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
    - rd_kafka_AlterUserScramCredentials_result_response_error
    - rd_kafka_queue_destroy
    - RD_STR_ToF
    - rd_kafka_event_destroy
    - rd_kafka_event_AlterUserScramCredentials_result
    - rd_kafka_err2name
    - rd_kafka_UserScramCredentialAlteration_destroy_array
    - rd_kafka_ScramCredentialInfo_mechanism
    - RD_ARRAY_SIZE
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_code
    - rd_kafka_AdminOptions_new
    - rd_kafka_AlterUserScramCredentials_result_responses
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - strcmp
    - rd_kafka_UserScramCredentialsDescription_user
    - rd_kafka_UserScramCredentialsDescription_error
    - rd_kafka_event_DescribeUserScramCredentials_result
    - SUB_TEST_PASS
    - rd_kafka_UserScramCredentialDeletion_new
    - tmout_multip
    - SUB_TEST_QUICK
    - rd_kafka_UserScramCredentialUpsertion_new
    - tsprintf
    - rd_sleep
    - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
    - rd_kafka_AlterUserScramCredentials_result_response_user
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_UserScramCredentials(const char *what,\n                                         rd_kafka_t
      *rk,\n                                         rd_kafka_queue_t *useq,\n                                         rd_bool_t
      null_bytes)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: test_mk_topic_name
      Src: /src/librdkafka/tests/0081-admin.c:5245,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5271,1
    - Dst: SUB_TEST_QUICK
      Src: /src/librdkafka/tests/0081-admin.c:5277,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/tests/0081-admin.c:5280,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/tests/0081-admin.c:5282,1
    - Dst: test_CreateTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:5284,1
    - Dst: test_wait_topic_exists
      Src: /src/librdkafka/tests/0081-admin.c:5286,1
    - Dst: test_create_producer
      Src: /src/librdkafka/tests/0081-admin.c:5288,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5289,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/tests/0081-admin.c:5290,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/tests/0081-admin.c:5294,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/tests/0081-admin.c:5296,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/tests/0081-admin.c:5298,1
    - Dst: strlen
      Src: /src/librdkafka/tests/0081-admin.c:5298,1
    - Dst: RD_KAFKA_V_TIMESTAMP
      Src: /src/librdkafka/tests/0081-admin.c:5300,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/tests/0081-admin.c:5304,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/tests/0081-admin.c:5309,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5310,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/tests/0081-admin.c:5313,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5315,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/tests/0081-admin.c:5315,1
    - Dst: TEST_CALL_ERROR__
      Src: /src/librdkafka/tests/0081-admin.c:5318,1
    - Dst: rd_kafka_AdminOptions_set_isolation_level
      Src: /src/librdkafka/tests/0081-admin.c:5318,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:5321,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/tests/0081-admin.c:5322,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/tests/0081-admin.c:5323,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5326,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5327,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5329,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:5331,1
    - Dst: TEST_CALL_ERR__
      Src: /src/librdkafka/tests/0081-admin.c:5333,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5333,1
    - Dst: rd_kafka_event_ListOffsets_result
      Src: /src/librdkafka/tests/0081-admin.c:5335,1
    - Dst: rd_kafka_ListOffsets_result_infos
      Src: /src/librdkafka/tests/0081-admin.c:5336,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5337,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5339,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/tests/0081-admin.c:5344,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:5351,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5357,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5358,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:5360,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:5366,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/tests/0081-admin.c:5369,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5378,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/tests/0081-admin.c:5381,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:5383,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/tests/0081-admin.c:5385,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5387,1
    - Dst: rd_usleep
      Src: /src/librdkafka/tests/0081-admin.c:5389,1
    - Dst: TEST_FAIL
      Src: /src/librdkafka/tests/0081-admin.c:5392,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5393,1
    - Dst: rd_kafka_event_ListOffsets_result
      Src: /src/librdkafka/tests/0081-admin.c:5396,1
    - Dst: rd_kafka_ListOffsets_result_infos
      Src: /src/librdkafka/tests/0081-admin.c:5398,1
    - Dst: rd_kafka_ListOffsetsResultInfo_topic_partition
      Src: /src/librdkafka/tests/0081-admin.c:5401,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5403,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/tests/0081-admin.c:5406,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/0081-admin.c:5407,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5414,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5417,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5420,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5421,1
    - Dst: test_DeleteTopics_simple
      Src: /src/librdkafka/tests/0081-admin.c:5423,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5426,1
    - Dst: SUB_TEST_PASS
      Src: /src/librdkafka/tests/0081-admin.c:5428,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 4
    argNames:
    - what
    - rk
    - useq
    - req_timeout_ms
    argTypes:
    - char*
    - rd_kafka_t*
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5429
      start: 5240
    functionDepth: 8
    functionLinenumber: 5240
    functionLinenumberEnd: 5429
    functionName: do_test_ListOffsets
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_MSGFLAGS
    - rd_kafka_queue_poll
    - TEST_ASSERT
    - test_CreateTopics_simple
    - rd_kafka_topic_partition_list_add
    - rd_kafka_name
    - TEST_BRKVER
    - rd_kafka_queue_destroy
    - test_wait_topic_exists
    - rd_kafka_event_destroy
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_err2name
    - rd_kafka_destroy
    - RD_KAFKA_V_OPAQUE
    - TEST_SAY
    - RD_ARRAY_SIZE
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - TEST_CALL_ERROR__
    - TEST_FAIL
    - rd_kafka_AdminOptions_destroy
    - TEST_CALL_ERR__
    - RD_KAFKA_V_VALUE
    - rd_kafka_ListOffsets_result_infos
    - rd_kafka_flush
    - rd_kafka_event_ListOffsets_result
    - rd_kafka_topic_partition_list_new
    - RD_KAFKA_V_TIMESTAMP
    - rd_kafka_topic_partition_list_destroy
    - SUB_TEST_PASS
    - rd_usleep
    - SUB_TEST_QUICK
    - rd_kafka_producev
    - rd_kafka_AdminOptions_set_isolation_level
    - test_create_producer
    - RD_KAFKA_V_TOPIC
    - rd_kafka_ListOffsetsResultInfo_topic_partition
    - test_mk_topic_name
    - rd_kafka_queue_new
    - rd_kafka_ListOffsets
    - test_DeleteTopics_simple
    - strlen
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: "void do_test_ListOffsets(const char *what,\n                                rd_kafka_t
      *rk,\n                                rd_kafka_queue_t *useq,\n                                int
      req_timeout_ms)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: test_get_broker_ids
      Src: /src/librdkafka/tests/0081-admin.c:5438,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:5439,1
    - Dst: do_test_unclean_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5444,1
    - Dst: do_test_unclean_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5445,1
    - Dst: test_conf_init
      Src: /src/librdkafka/tests/0081-admin.c:5447,1
    - Dst: test_conf_set
      Src: /src/librdkafka/tests/0081-admin.c:5448,1
    - Dst: test_create_handle
      Src: /src/librdkafka/tests/0081-admin.c:5450,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/tests/0081-admin.c:5452,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:5458,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:5460,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:5464,1
    - Dst: do_test_CreateTopics
      Src: /src/librdkafka/tests/0081-admin.c:5466,1
    - Dst: do_test_DeleteTopics
      Src: /src/librdkafka/tests/0081-admin.c:5472,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5474,1
    - Dst: do_test_CreatePartitions
      Src: /src/librdkafka/tests/0081-admin.c:5476,1
    - Dst: do_test_CreateAcls
      Src: /src/librdkafka/tests/0081-admin.c:5486,1
    - Dst: do_test_CreateAcls
      Src: /src/librdkafka/tests/0081-admin.c:5487,1
    - Dst: do_test_DescribeAcls
      Src: /src/librdkafka/tests/0081-admin.c:5490,1
    - Dst: do_test_DescribeAcls
      Src: /src/librdkafka/tests/0081-admin.c:5491,1
    - Dst: do_test_DeleteAcls
      Src: /src/librdkafka/tests/0081-admin.c:5494,1
    - Dst: do_test_DeleteAcls
      Src: /src/librdkafka/tests/0081-admin.c:5495,1
    - Dst: do_test_AlterConfigs
      Src: /src/librdkafka/tests/0081-admin.c:5498,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5500,1
    - Dst: do_test_IncrementalAlterConfigs
      Src: /src/librdkafka/tests/0081-admin.c:5502,1
    - Dst: do_test_DescribeConfigs
      Src: /src/librdkafka/tests/0081-admin.c:5506,1
    - Dst: do_test_DescribeConfigs_groups
      Src: /src/librdkafka/tests/0081-admin.c:5507,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0081-admin.c:5510,1
    - Dst: do_test_DeleteRecords
      Src: /src/librdkafka/tests/0081-admin.c:5511,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5514,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5516,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5518,1
    - Dst: do_test_ListConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5520,1
    - Dst: test_consumer_group_protocol_classic
      Src: /src/librdkafka/tests/0081-admin.c:5525,1
    - Dst: do_test_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5527,1
    - Dst: do_test_DescribeConsumerGroups
      Src: /src/librdkafka/tests/0081-admin.c:5528,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:5532,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:5533,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:5536,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:5537,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5539,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:5541,1
    - Dst: do_test_DescribeTopics
      Src: /src/librdkafka/tests/0081-admin.c:5542,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:5544,1
    - Dst: do_test_DescribeCluster
      Src: /src/librdkafka/tests/0081-admin.c:5545,1
    - Dst: do_test_DescribeConsumerGroups_with_authorized_ops
      Src: /src/librdkafka/tests/0081-admin.c:5547,1
    - Dst: do_test_DescribeConsumerGroups_with_authorized_ops
      Src: /src/librdkafka/tests/0081-admin.c:5549,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0081-admin.c:5554,1
    - Dst: do_test_DeleteGroups
      Src: /src/librdkafka/tests/0081-admin.c:5555,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5557,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5559,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5561,1
    - Dst: do_test_DeleteConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5563,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5568,1
    - Dst: do_test_ListOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5570,1
    - Dst: do_test_ListOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5571,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5574,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5576,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5578,1
    - Dst: do_test_AlterConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5582,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5588,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5590,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5592,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5596,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5599,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5601,1
    - Dst: do_test_ListConsumerGroupOffsets
      Src: /src/librdkafka/tests/0081-admin.c:5603,1
    - Dst: TEST_BRKVER
      Src: /src/librdkafka/tests/0081-admin.c:5608,1
    - Dst: do_test_UserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5609,1
    - Dst: do_test_UserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5610,1
    - Dst: do_test_UserScramCredentials
      Src: /src/librdkafka/tests/0081-admin.c:5611,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5614,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/tests/0081-admin.c:5616,1
    - Dst: free
      Src: /src/librdkafka/tests/0081-admin.c:5618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 82
    argCount: 1
    argNames:
    - cltype
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5619
      start: 5431
    functionDepth: 9
    functionLinenumber: 5431
    functionLinenumberEnd: 5619
    functionName: do_test_apis
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 1
    functionsReached:
    - do_test_CreatePartitions
    - do_test_DescribeConsumerGroups
    - do_test_DescribeConfigs
    - TEST_BRKVER
    - do_test_AlterConfigs
    - do_test_ListOffsets
    - rd_kafka_queue_destroy
    - do_test_DeleteGroups
    - do_test_DescribeConfigs_groups
    - rd_kafka_destroy
    - do_test_ListConsumerGroupOffsets
    - TEST_SAY
    - do_test_DescribeAcls
    - do_test_DeleteTopics
    - do_test_DeleteRecords
    - do_test_ListConsumerGroups
    - test_create_handle
    - do_test_DeleteAcls
    - do_test_DescribeCluster
    - test_get_broker_ids
    - do_test_UserScramCredentials
    - do_test_CreateTopics
    - do_test_DescribeTopics
    - do_test_unclean_destroy
    - free
    - do_test_CreateAcls
    - test_consumer_group_protocol_classic
    - test_conf_init
    - do_test_DeleteConsumerGroupOffsets
    - test_conf_set
    - rd_kafka_queue_get_main
    - do_test_IncrementalAlterConfigs
    - do_test_DescribeConsumerGroups_with_authorized_ops
    - do_test_AlterConsumerGroupOffsets
    linkageType: ''
    returnType: void
    signature: void do_test_apis(rd_kafka_type_t cltype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_test_apis
      Src: /src/librdkafka/tests/0081-admin.c:5624,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/0081-admin.c:5626,1
    - Dst: do_test_apis
      Src: /src/librdkafka/tests/0081-admin.c:5630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5633
      start: 5622
    functionDepth: 1
    functionLinenumber: 5622
    functionLinenumberEnd: 5633
    functionName: main_0081_admin
    functionSourceFile: /src/librdkafka/tests/0081-admin.c
    functionUses: 0
    functionsReached:
    - do_test_apis
    - TEST_SAY
    linkageType: ''
    returnType: int
    signature: int main_0081_admin(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:46,1
    - Dst: memcpy
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:47,1
    - Dst: re_regcomp
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:51,1
    - Dst: re_regfree
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:53,1
    - Dst: free
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/librdkafka/tests/fuzzers/fuzz_regex.c
    functionUses: 0
    functionsReached:
    - free
    - re_regcomp
    - re_regfree
    - memcpy
    - malloc
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_file
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:69,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:70,1
    - Dst: free
      Src: /src/librdkafka/tests/fuzzers/fuzz_regex.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: main
    functionSourceFile: /src/librdkafka/tests/fuzzers/fuzz_regex.c
    functionUses: 13
    functionsReached:
    - read_file
    - LLVMFuzzerTestOneInput
    - free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/librdkafka/tests/fuzzers/helpers.h:49,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/fuzzers/helpers.h:50,1
    - Dst: strerror
      Src: /src/librdkafka/tests/fuzzers/helpers.h:51,1
    - Dst: exit
      Src: /src/librdkafka/tests/fuzzers/helpers.h:52,1
    - Dst: fstat
      Src: /src/librdkafka/tests/fuzzers/helpers.h:56,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/fuzzers/helpers.h:57,1
    - Dst: strerror
      Src: /src/librdkafka/tests/fuzzers/helpers.h:58,1
    - Dst: close
      Src: /src/librdkafka/tests/fuzzers/helpers.h:59,1
    - Dst: exit
      Src: /src/librdkafka/tests/fuzzers/helpers.h:60,1
    - Dst: malloc
      Src: /src/librdkafka/tests/fuzzers/helpers.h:65,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/fuzzers/helpers.h:67,1
    - Dst: close
      Src: /src/librdkafka/tests/fuzzers/helpers.h:69,1
    - Dst: exit
      Src: /src/librdkafka/tests/fuzzers/helpers.h:70,1
    - Dst: read
      Src: /src/librdkafka/tests/fuzzers/helpers.h:76,1
    - Dst: fprintf
      Src: /src/librdkafka/tests/fuzzers/helpers.h:78,1
    - Dst: free
      Src: /src/librdkafka/tests/fuzzers/helpers.h:80,1
    - Dst: close
      Src: /src/librdkafka/tests/fuzzers/helpers.h:81,1
    - Dst: exit
      Src: /src/librdkafka/tests/fuzzers/helpers.h:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - path
    - sizep
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 43
    functionDepth: 4
    functionLinenumber: 43
    functionLinenumberEnd: 87
    functionName: read_file
    functionSourceFile: /src/librdkafka/tests/fuzzers/helpers.h
    functionUses: 5
    functionsReached:
    - exit
    - fprintf
    - fstat
    - free
    - strerror
    - close
    - read
    - open
    - malloc
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t *read_file(const char *path,\n                                                  size_t
      *sizep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/plugin_test/plugin_test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - conf
    - plug_opaquep
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - void**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: conf_init
    functionSourceFile: /src/librdkafka/tests/plugin_test/plugin_test.c
    functionUses: 268
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t conf_init(rd_kafka_conf_t *conf,\n                              void
      **plug_opaquep,\n                              char *errstr,\n                              size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/tests/plugin_test/plugin_test.c:56,1
    - Dst: printf
      Src: /src/librdkafka/tests/plugin_test/plugin_test.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - plug_opaque
    argTypes:
    - rd_kafka_conf_t*
    - void*
    assertStmts:
    - condition: (plug_opaque == plug_opaque)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/librdkafka/tests/plugin_test/plugin_test.c
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: conf_destroy
    functionSourceFile: /src/librdkafka/tests/plugin_test/plugin_test.c
    functionUses: 37
    functionsReached:
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: void conf_destroy(const rd_kafka_conf_t *conf, void *plug_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ICT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: ictest_init
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ictest_init(ICT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - CNT
    - ','
    - MIN
    - ','
    - MAX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: ictest_cnt_init
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ictest_cnt_init(CNT, MIN, MAX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ICT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 43
    functionName: ictest_free
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ictest_free(ICT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: ICTEST_CNT_CHECK
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ICTEST_CNT_CHECK(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: on_send
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 4
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_send(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: on_acknowledgement
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_acknowledgement(rd_kafka_t *rk,\n                                       rd_kafka_message_t
      *rkmessage,\n                                       void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: on_consume
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_consume(rd_kafka_t *rk, rd_kafka_message_t *rkmessage,
      void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - offsets
    - err
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_resp_err_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: on_commit
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_commit(rd_kafka_t *rk,\n                              const
      rd_kafka_topic_partition_list_t *offsets,\n                              rd_kafka_resp_err_t
      err,\n                              void *ic_opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:118,1
    - Dst: free
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:120,1
    - Dst: free
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:122,1
    - Dst: free
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ici
    argTypes:
    - struct ici*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: ici_destroy
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_destroy
    - free
    linkageType: ''
    returnType: void
    signature: void ici_destroy(struct ici *ici)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: on_destroy
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_destroy(rd_kafka_t *rk, void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:147,1
    - Dst: ICTEST_CNT_CHECK
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:150,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:151,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:153,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:154,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:158,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:158,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:160,1
    - Dst: test_conf_get
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:160,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:161,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:162,1
    - Dst: rd_kafka_interceptor_add_on_send
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:164,1
    - Dst: rd_kafka_interceptor_add_on_acknowledgement
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:165,1
    - Dst: rd_kafka_interceptor_add_on_consume
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:167,1
    - Dst: rd_kafka_interceptor_add_on_commit
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:168,1
    - Dst: rd_kafka_interceptor_add_on_destroy
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 5
    argNames:
    - rk
    - conf
    - ic_opaque
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 172
    functionName: on_new
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 14
    functionsReached:
    - rd_kafka_interceptor_add_on_send
    - rd_kafka_interceptor_add_on_consume
    - TEST_SAY
    - TEST_ASSERT
    - rd_kafka_interceptor_add_on_acknowledgement
    - rd_kafka_interceptor_add_on_destroy
    - ICTEST_CNT_CHECK
    - rd_kafka_interceptor_add_on_commit
    - rd_strdup
    - test_conf_get
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_new(rd_kafka_t *rk,\n                                  const
      rd_kafka_conf_t *conf,\n                                  void *ic_opaque,\n
      \                                 char *errstr,\n                                  size_t
      errstr_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:187,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:188,1
    - Dst: strncmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:189,1
    - Dst: strlen
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:189,1
    - Dst: TEST_SAYL
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:192,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:195,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:197,1
    - Dst: strncpy
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:198,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:202,1
    - Dst: free
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:204,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:208,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:209,1
    - Dst: strcmp
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:212,1
    - Dst: free
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:214,1
    - Dst: rd_strdup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:218,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:223,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - conf
    - name
    - val
    - errstr
    - errstr_size
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 230
    functionName: on_conf_set
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 0
    functionsReached:
    - TEST_SAYL
    - rd_kafka_conf_set
    - free
    - strcmp
    - TEST_SAY
    - strncpy
    - strncmp
    - strlen
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t on_conf_set(rd_kafka_conf_t *conf,\n                                       const
      char *name,\n                                       const char *val,\n                                       char
      *errstr,\n                                       size_t errstr_size,\n                                       void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:244,1
    - Dst: conf_init0
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - new_conf
    - old_conf
    - filter_cnt
    - filter
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_conf_t*
    - size_t
    - char**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: on_conf_dup
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 1
    functionsReached:
    - conf_init0
    - TEST_SAY
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t on_conf_dup(rd_kafka_conf_t *new_conf,\n                                       const
      rd_kafka_conf_t *old_conf,\n                                       size_t filter_cnt,\n
      \                                      const char **filter,\n                                       void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:255,1
    - Dst: TEST_ASSERT
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:257,1
    - Dst: ici_destroy
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ic_opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: on_conf_destroy
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 0
    functionsReached:
    - ici_destroy
    - printf
    - TEST_ASSERT
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t on_conf_destroy(void *ic_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:275,1
    - Dst: ICTEST_CNT_CHECK
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:278,1
    - Dst: rd_kafka_conf_dup_filter
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:282,1
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:283,1
    - Dst: rd_kafka_conf_interceptor_add_on_new
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:288,1
    - Dst: rd_kafka_conf_interceptor_add_on_conf_set
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:290,1
    - Dst: rd_kafka_conf_interceptor_add_on_conf_dup
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:292,1
    - Dst: rd_kafka_conf_interceptor_add_on_conf_destroy
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 296
    functionName: conf_init0
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_interceptor_add_on_new
    - rd_kafka_conf_interceptor_add_on_conf_destroy
    - rd_kafka_conf_interceptor_add_on_conf_dup
    - calloc
    - rd_kafka_conf_dup_filter
    - TEST_SAY
    - ICTEST_CNT_CHECK
    - rd_kafka_conf_interceptor_add_on_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_init0(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEST_SAY
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:308,1
    - Dst: conf_init0
      Src: /src/librdkafka/tests/interceptor_test/interceptor_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - plug_opaquep
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - void**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: rd_kafka_resp_err_t::conf_init
    functionSourceFile: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    functionUses: 0
    functionsReached:
    - conf_init0
    - TEST_SAY
    linkageType: ''
    returnType: DLL_EXPORT
    signature: "DLL_EXPORT rd_kafka_resp_err_t conf_init(rd_kafka_conf_t *conf,\n
      \                             void **plug_opaquep,\n                              char
      *errstr,\n                              size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdrand.c:41,1
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/src/rdrand.c:43,1
    - Dst: thrd_current
      Src: /src/librdkafka/src/rdrand.c:45,1
    - Dst: rd_murmur2
      Src: /src/librdkafka/src/rdrand.c:54,1
    - Dst: rand_r
      Src: /src/librdkafka/src/rdrand.c:57,1
    - Dst: rand
      Src: /src/librdkafka/src/rdrand.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: rd_jitter
    functionSourceFile: /src/librdkafka/src/rdrand.c
    functionUses: 0
    functionsReached:
    - rand
    - unlikely
    - rd_murmur2
    - thrd_current
    - rd_gettimeofday
    - rand_r
    linkageType: ''
    returnType: int
    signature: int rd_jitter(int low, int high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdrand.c:66,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdrand.c:71,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdrand.c:72,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdrand.c:75,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdrand.c:76,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdrand.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - base
    - nmemb
    - entry_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: rd_array_shuffle
    functionSourceFile: /src/librdkafka/src/rdrand.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rd_alloca
    - unlikely
    - rd_jitter
    linkageType: ''
    returnType: void
    signature: void rd_array_shuffle(void *base, size_t nmemb, size_t entry_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_header.c:37,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_header.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: rd_kafka_headers_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 2
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_headers_destroy(rd_kafka_headers_t *hdrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_header.c:44,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_header.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - initial_count
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: rd_kafka_headers_new
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 2
    functionsReached:
    - rd_malloc
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_headers_t
    signature: rd_kafka_headers_t *rd_kafka_headers_new(size_t initial_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src/rdkafka_header.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _src
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: rd_kafka_header_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 0
    functionsReached:
    - rd_kafka_header_add
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_header_copy(const void *_src, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_header.c:64,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_header.c:65,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_header.c:65,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_header.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: rd_kafka_headers_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    - rd_list_copy_to
    - rd_list_cnt
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_headers_t
    signature: rd_kafka_headers_t *rd_kafka_headers_copy(const rd_kafka_headers_t
      *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_header.c:82,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_header.c:83,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_header.c:86,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_header.c:89,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_header.c:93,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_header.c:95,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_header.c:98,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_header.c:100,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_header.c:108,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_header.c:112,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_header.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - hdrs
    - name
    - name_size
    - value
    - value_size
    argTypes:
    - rd_kafka_headers_t*
    - char*
    - ssize_t
    - void*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 119
    functionName: rd_kafka_header_add
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 5
    functionsReached:
    - rd_list_add
    - rd_uvarint_enc_i64
    - rd_malloc
    - RD_UVARINT_ENC_SIZEOF
    - strlen
    - memcpy
    - likely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_header_add(rd_kafka_headers_t *hdrs,\n
      \                                       const char *name,\n                                        ssize_t
      name_size,\n                                        const void *value,\n                                        ssize_t
      value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_header.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: rd_kafka_header_cmp_str
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_header_cmp_str(void *_a, void *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH_REVERSE
      Src: /src/librdkafka/src/rdkafka_header.c:138,1
    - Dst: rd_kafka_header_cmp_str
      Src: /src/librdkafka/src/rdkafka_header.c:139,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka_header.c:143,1
    - Dst: rd_kafka_header_destroy
      Src: /src/librdkafka/src/rdkafka_header.c:144,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_header.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - hdrs
    - name
    argTypes:
    - rd_kafka_headers_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 154
    functionName: rd_kafka_header_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 2
    functionsReached:
    - rd_kafka_header_destroy
    - RD_LIST_FOREACH_REVERSE
    - rd_dassert
    - rd_list_remove_elem
    - rd_kafka_header_cmp_str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_header_remove(rd_kafka_headers_t *hdrs,\n
      \                                          const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_header.c:162,1
    - Dst: RD_LIST_FOREACH_REVERSE
      Src: /src/librdkafka/src/rdkafka_header.c:164,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_header.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - hdrs
    - name
    - valuep
    - sizep
    argTypes:
    - rd_kafka_headers_t*
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: rd_kafka_header_get_last
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 2
    functionsReached:
    - strlen
    - strcmp
    - RD_LIST_FOREACH_REVERSE
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_header_get_last(const rd_kafka_headers_t
      *hdrs,\n                                             const char *name,\n                                             const
      void **valuep,\n                                             size_t *sizep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_header.c:185,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_header.c:187,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_header.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - hdrs
    - idx
    - name
    - valuep
    - sizep
    argTypes:
    - rd_kafka_headers_t*
    - size_t
    - char*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 197
    functionName: rd_kafka_header_get
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 1
    functionsReached:
    - strlen
    - RD_LIST_FOREACH
    - strcmp
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_header_get(const rd_kafka_headers_t *hdrs,\n
      \                                       size_t idx,\n                                        const
      char *name,\n                                        const void **valuep,\n
      \                                       size_t *sizep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_header.c:207,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_header.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - hdrs
    - idx
    - namep
    - valuep
    - sizep
    argTypes:
    - rd_kafka_headers_t*
    - size_t
    - char**
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 215
    functionName: rd_kafka_header_get_all
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 3
    functionsReached:
    - rd_list_elem
    - unlikely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_header_get_all(const rd_kafka_headers_t
      *hdrs,\n                                            size_t idx,\n                                            const
      char **namep,\n                                            const void **valuep,\n
      \                                           size_t *sizep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_header.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: rd_kafka_header_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_header.c
    functionUses: 2
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: size_t
    signature: size_t rd_kafka_header_cnt(const rd_kafka_headers_t *hdrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_msg.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: rd_kafka_message_errstr
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 24
    functionsReached:
    - rd_kafka_err2str
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_message_errstr(const rd_kafka_message_t *rkmessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: rd_kafka_message_produce_errstr
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_message_produce_errstr(const rd_kafka_message_t *rkmessage)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:85,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_msg.c:85,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:86,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_msg.c:88,1
    - Dst: rd_kafka_error_new_fatal
      Src: /src/librdkafka/src/rdkafka_msg.c:89,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:94,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:99,1
    - Dst: rd_kafka_txn_may_enq_msg
      Src: /src/librdkafka/src/rdkafka_msg.c:99,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:103,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_msg.c:106,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:107,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_msg.c:110,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rk
    - errorp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_error_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 115
    functionName: rd_kafka_resp_err_t::rd_kafka_check_produce
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_txn_may_enq_msg
    - rd_kafka_error_new
    - rd_kafka_txn_state2str
    - rd_kafka_error_new_fatal
    - rd_kafka_fatal_error_code
    - likely
    - unlikely
    - rd_kafka_set_last_error
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE rd_kafka_resp_err_t

      rd_kafka_check_produce(rd_kafka_t *rk, rd_kafka_error_t **errorp)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.c:121,1
    - Dst: rd_kafka_curr_msgs_sub
      Src: /src/librdkafka/src/rdkafka_msg.c:122,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:127,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:129,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_msg.c:130,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msg.c:133,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msg.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - rkm
    argTypes:
    - rd_kafka_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: rd_kafka_msg_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_curr_msgs_sub
    - rd_kafka_topic_destroy0
    - rd_dassert
    - rd_kafka_headers_destroy
    - likely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msg_destroy(rd_kafka_t *rk, rd_kafka_msg_t *rkm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msg.c:169,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_msg.c:175,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_msg.c:190,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_msg.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 8
    argNames:
    - rkt
    - partition
    - msgflags
    - payload
    - len
    - key
    - keylen
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - char*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 208
    functionName: rd_kafka_msg_new00
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - memcpy
    - rd_kafka_topic_keep
    linkageType: ''
    returnType: rd_kafka_msg_t
    signature: "rd_kafka_msg_t *rd_kafka_msg_new00(rd_kafka_topic_t *rkt,\n                                          int32_t
      partition,\n                                          int msgflags,\n                                          char
      *payload,\n                                          size_t len,\n                                          const
      void *key,\n                                          size_t keylen,\n                                          void
      *msg_opaque)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:236,1
    - Dst: rd_kafka_headers_serialized_size
      Src: /src/librdkafka/src/rdkafka_msg.c:241,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:243,1
    - Dst: rd_kafka_msg_max_wire_size
      Src: /src/librdkafka/src/rdkafka_msg.c:244,1
    - Dst: rd_kafka_curr_msgs_add
      Src: /src/librdkafka/src/rdkafka_msg.c:253,1
    - Dst: rd_kafka_curr_msgs_add
      Src: /src/librdkafka/src/rdkafka_msg.c:258,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:260,1
    - Dst: rd_kafka_msg_new00
      Src: /src/librdkafka/src/rdkafka_msg.c:267,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_msg.c:272,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_msg.c:277,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.c:281,1
    - Dst: rd_kafka_interceptors_on_send
      Src: /src/librdkafka/src/rdkafka_msg.c:295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 13
    argNames:
    - rkt
    - force_partition
    - msgflags
    - payload
    - len
    - key
    - keylen
    - msg_opaque
    - errp
    - errnop
    - hdrs
    - timestamp
    - now
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - char*
    - size_t
    - void*
    - size_t
    - void*
    - rd_kafka_resp_err_t*
    - int*
    - rd_kafka_headers_t*
    - int64_t
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 220
    functionDepth: 2
    functionLinenumber: 220
    functionLinenumberEnd: 298
    functionName: rd_kafka_msg_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_curr_msgs_add
    - rd_kafka_interceptors_on_send
    - rd_dassert
    - memset
    - rd_uclock
    - rd_kafka_msg_new00
    - rd_kafka_msg_max_wire_size
    - unlikely
    - rd_kafka_headers_serialized_size
    linkageType: ''
    returnType: rd_kafka_msg_t
    signature: "rd_kafka_msg_t *rd_kafka_msg_new0(rd_kafka_topic_t *rkt,\n                                         int32_t
      force_partition,\n                                         int msgflags,\n                                         char
      *payload,\n                                         size_t len,\n                                         const
      void *key,\n                                         size_t keylen,\n                                         void
      *msg_opaque,\n                                         rd_kafka_resp_err_t *errp,\n
      \                                        int *errnop,\n                                         rd_kafka_headers_t
      *hdrs,\n                                         int64_t timestamp,\n                                         rd_ts_t
      now)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:325,1
    - Dst: rd_kafka_check_produce
      Src: /src/librdkafka/src/rdkafka_msg.c:325,1
    - Dst: rd_kafka_msg_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:329,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:331,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:332,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:334,1
    - Dst: rd_kafka_msg_partitioner
      Src: /src/librdkafka/src/rdkafka_msg.c:340,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:341,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:342,1
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_msg.c:348,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:358,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:362,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:364,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_msg.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 8
    argNames:
    - rkt
    - force_partition
    - msgflags
    - payload
    - len
    - key
    - keylen
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - char*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 369
    functionName: rd_kafka_msg_new
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - likely
    - rd_kafka_check_produce
    - rd_kafka_msg_partitioner
    - rd_kafka_msg_new0
    - rd_kafka_interceptors_on_acknowledgement
    - rd_clock
    - unlikely
    - rd_kafka_msg_destroy
    - rd_kafka_set_last_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msg_new(rd_kafka_topic_t *rkt,\n                     int32_t
      force_partition,\n                     int msgflags,\n                     char
      *payload,\n                     size_t len,\n                     const void
      *key,\n                     size_t keylen,\n                     void *msg_opaque)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:389,1
    - Dst: rd_kafka_check_produce
      Src: /src/librdkafka/src/rdkafka_msg.c:389,1
    - Dst: rd_kafka_topic_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:396,1
    - Dst: rd_kafka_topic_fast_leader_query
      Src: /src/librdkafka/src/rdkafka_msg.c:399,1
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka_msg.c:404,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_msg.c:405,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:435,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:436,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:443,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src/rdkafka_msg.c:444,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src/rdkafka_msg.c:446,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:449,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:450,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_msg.c:452,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:458,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:459,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:469,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:476,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:478,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:479,1
    - Dst: rd_kafka_msg_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:484,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:487,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:489,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:490,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_msg.c:491,1
    - Dst: rd_kafka_msg_partitioner
      Src: /src/librdkafka/src/rdkafka_msg.c:498,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:499,1
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_msg.c:506,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:520,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_msg.c:522,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_msg.c:523,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_msg.c:527,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_msg.c:533,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:536,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:538,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 3
    argNames:
    - rk
    - vus
    - cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_vu_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 540
    functionName: rd_kafka_produceva
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_check_produce
    - rd_kafka_topic_keep
    - rd_kafka_error_new
    - rd_kafka_msg_partitioner
    - rd_kafka_topic_destroy0
    - rd_kafka_err2str
    - rd_kafka_msg_new0
    - rd_kafka_topic_proper
    - rd_kafka_headers_destroy
    - rd_kafka_header_add
    - rd_kafka_interceptors_on_acknowledgement
    - rd_kafka_topic_new0
    - rd_kafka_headers_new
    - rd_clock
    - unlikely
    - rd_kafka_msg_destroy
    - rd_kafka_topic_fast_leader_query
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_produceva(rd_kafka_t *rk, const rd_kafka_vu_t *vus, size_t cnt)'
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:560,1
    - Dst: rd_kafka_check_produce
      Src: /src/librdkafka/src/rdkafka_msg.c:560,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_msg.c:563,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:565,1
    - Dst: rd_kafka_topic_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:568,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:568,1
    - Dst: rd_kafka_topic_fast_leader_query
      Src: /src/librdkafka/src/rdkafka_msg.c:571,1
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka_msg.c:576,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:577,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_msg.c:578,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:582,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:586,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:587,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:591,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:592,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:596,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:600,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:604,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:612,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:617,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src/rdkafka_msg.c:618,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:620,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:621,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:622,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src/rdkafka_msg.c:624,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:628,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_msg.c:632,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_msg.c:641,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:643,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:646,1
    - Dst: rd_kafka_msg_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:647,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:651,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:653,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_msg.c:654,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:656,1
    - Dst: rd_kafka_msg_partitioner
      Src: /src/librdkafka/src/rdkafka_msg.c:661,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:662,1
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_msg.c:669,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:683,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_msg.c:686,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 82
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 689
    functionName: rd_kafka_producev
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 39
    functionsReached:
    - rd_kafka_headers_new
    - unlikely
    - va_start
    - rd_kafka_msg_new0
    - rd_kafka_interceptors_on_acknowledgement
    - rd_kafka_topic_new0
    - rd_kafka_header_add
    - rd_kafka_check_produce
    - rd_kafka_topic_keep
    - rd_kafka_msg_partitioner
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_proper
    - rd_kafka_headers_destroy
    - va_end
    - rd_clock
    - rd_kafka_msg_destroy
    - rd_kafka_topic_fast_leader_query
    - likely
    - va_arg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_producev(rd_kafka_t *rk, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msg_new
      Src: /src/librdkafka/src/rdkafka_msg.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - rkt
    - partition
    - msgflags
    - payload
    - len
    - key
    - keylen
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 698
    functionDepth: 4
    functionLinenumber: 698
    functionLinenumberEnd: 708
    functionName: rd_kafka_produce
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 15
    functionsReached:
    - rd_kafka_msg_new
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_produce(rd_kafka_topic_t *rkt,\n                     int32_t
      partition,\n                     int msgflags,\n                     void *payload,\n
      \                    size_t len,\n                     const void *key,\n                     size_t
      keylen,\n                     void *msg_opaque)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_msg.c:722,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_msg.c:724,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:725,1
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka_msg.c:730,1
    - Dst: rd_kafka_check_produce
      Src: /src/librdkafka/src/rdkafka_msg.c:734,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_msg.c:736,1
    - Dst: rd_kafka_toppar_get_avail
      Src: /src/librdkafka/src/rdkafka_msg.c:739,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:752,1
    - Dst: rd_kafka_msg_new0
      Src: /src/librdkafka/src/rdkafka_msg.c:758,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:767,1
    - Dst: rd_kafka_msg_partitioner
      Src: /src/librdkafka/src/rdkafka_msg.c:782,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:789,1
    - Dst: rd_kafka_toppar_get_avail
      Src: /src/librdkafka/src/rdkafka_msg.c:790,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:794,1
    - Dst: rd_kafka_toppar_enq_msg
      Src: /src/librdkafka/src/rdkafka_msg.c:799,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_msg.c:801,1
    - Dst: rd_kafka_txn_add_partition
      Src: /src/librdkafka/src/rdkafka_msg.c:803,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:807,1
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_msg.c:809,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:812,1
    - Dst: rd_kafka_toppar_enq_msg
      Src: /src/librdkafka/src/rdkafka_msg.c:819,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:826,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_msg.c:829,1
    - Dst: rd_kafka_txn_add_partition
      Src: /src/librdkafka/src/rdkafka_msg.c:832,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:836,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 5
    argNames:
    - app_rkt
    - partition
    - msgflags
    - rkmessages
    - message_cnt
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - rd_kafka_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 839
    functionName: rd_kafka_produce_batch
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 9
    functionsReached:
    - rd_kafka_msg_destroy
    - rd_kafka_check_produce
    - rd_kafka_msg_partitioner
    - rd_kafka_topic_rdunlock
    - rd_kafka_msg_new0
    - rd_kafka_topic_proper
    - rd_uclock
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_toppar_get_avail
    - rd_kafka_is_transactional
    - rd_kafka_txn_add_partition
    - rd_kafka_interceptors_on_acknowledgement
    - rd_clock
    - unlikely
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_destroy
    - rd_kafka_toppar_enq_msg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_produce_batch(rd_kafka_topic_t *app_rkt,\n                           int32_t
      partition,\n                           int msgflags,\n                           rd_kafka_message_t
      *rkmessages,\n                           int message_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_msg.c:865,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:868,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_msg.c:877,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - rktp
    - rkmq
    - timedout
    - now
    - abs_next_timeout
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    - rd_ts_t
    - rd_ts_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 882
    functionName: rd_kafka_msgq_age_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_deq
    - rd_kafka_msgq_enq
    - likely
    - TAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgq_age_scan(rd_kafka_toppar_t *rktp,\n                           rd_kafka_msgq_t
      *rkmq,\n                           rd_kafka_msgq_t *timedout,\n                           rd_ts_t
      now,\n                           rd_ts_t *abs_next_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_msg.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkmq
    - rkm
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 892
    functionName: rd_kafka_msgq_enq_sorted0
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_SORTED
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgq_enq_sorted0(rd_kafka_msgq_t *rkmq,\n                              rd_kafka_msg_t
      *rkm,\n                              int (*order_cmp)(const void *, const void
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.c:897,1
    - Dst: rd_kafka_msgq_enq_sorted0
      Src: /src/librdkafka/src/rdkafka_msg.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkt
    - rkmq
    - rkm
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 2
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: rd_kafka_msgq_enq_sorted
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_kafka_msgq_enq_sorted0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgq_enq_sorted(const rd_kafka_topic_t *rkt,\n                             rd_kafka_msgq_t
      *rkmq,\n                             rd_kafka_msg_t *rkm)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.c:933,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_msg.c:934,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_msg.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - rkmq
    - start_pos
    - rkm
    - cntp
    - bytesp
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    - rd_kafka_msg_t*
    - int*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 949
    functionName: rd_kafka_msgq_find_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - TAILQ_NEXT
    - cmp
    - rd_kafka_msgq_first
    linkageType: ''
    returnType: rd_kafka_msg_t
    signature: "rd_kafka_msg_t *rd_kafka_msgq_find_pos(const rd_kafka_msgq_t *rkmq,\n
      \                                      const rd_kafka_msg_t *start_pos,\n                                       const
      rd_kafka_msg_t *rkm,\n                                       int (*cmp)(const
      void *, const void *),\n                                       int *cntp,\n
      \                                      int64_t *bytesp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:969,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msg.c:969,1
    - Dst: TAILQ_PREV
      Src: /src/librdkafka/src/rdkafka_msg.c:971,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:973,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.c:988,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - leftq
    - rightq
    - first_right
    - cnt
    - bytes
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 990
    functionName: rd_kafka_msgq_split
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - TAILQ_PREV
    - rd_kafka_msgq_init
    - rd_kafka_msgq_verify_order
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_split(rd_kafka_msgq_t *leftq,\n                         rd_kafka_msgq_t
      *rightq,\n                         rd_kafka_msg_t *first_right,\n                         int
      cnt,\n                         int64_t bytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_msg.c:1003,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - rkmq
    - broker_id
    - base_offset
    - timestamp
    - status
    argTypes:
    - rd_kafka_msgq_t*
    - int32_t
    - int64_t
    - int64_t
    - rd_kafka_msg_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1022
    functionName: rd_kafka_msgq_set_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - unlikely
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_set_metadata(rd_kafka_msgq_t *rkmq,\n                                int32_t
      broker_id,\n                                int64_t base_offset,\n                                int64_t
      timestamp,\n                                rd_kafka_msg_status_t status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.c:1036,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_msg.c:1038,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:1039,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.c:1044,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.c:1045,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dest
    - src
    - last_msgid
    - status
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    - uint64_t
    - rd_kafka_msg_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1046
    functionName: rd_kafka_msgq_move_acked
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_deq
    - rd_kafka_msgq_enq
    - rd_kafka_msgq_verify_order
    - rd_kafka_msgq_first
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_move_acked(rd_kafka_msgq_t *dest,\n                              rd_kafka_msgq_t
      *src,\n                              uint64_t last_msgid,\n                              rd_kafka_msg_status_t
      status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_msg.c:1056,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1057,1
    - Dst: rd_kafka_topic_partition_available
      Src: /src/librdkafka/src/rdkafka_msg.c:1057,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_msg.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1061
    functionName: rd_kafka_msg_partitioner_random
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - unlikely
    - rd_jitter
    - rd_kafka_topic_partition_available
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_random(const rd_kafka_topic_t *rkt,\n
      \                                       const void *key,\n                                        size_t
      keylen,\n                                        int32_t partition_cnt,\n                                        void
      *rkt_opaque,\n                                        void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_crc32
      Src: /src/librdkafka/src/rdkafka_msg.c:1069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1070
    functionName: rd_kafka_msg_partitioner_consistent
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - rd_crc32
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_consistent(const rd_kafka_topic_t
      *rkt,\n                                            const void *key,\n                                            size_t
      keylen,\n                                            int32_t partition_cnt,\n
      \                                           void *rkt_opaque,\n                                            void
      *msg_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msg_partitioner_random
      Src: /src/librdkafka/src/rdkafka_msg.c:1079,1
    - Dst: rd_kafka_msg_partitioner_consistent
      Src: /src/librdkafka/src/rdkafka_msg.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1084
    functionName: rd_kafka_msg_partitioner_consistent_random
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - rd_kafka_msg_partitioner_consistent
    - rd_kafka_msg_partitioner_random
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_consistent_random(const rd_kafka_topic_t
      *rkt,\n                                                   const void *key,\n
      \                                                  size_t keylen,\n                                                   int32_t
      partition_cnt,\n                                                   void *rkt_opaque,\n
      \                                                  void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_murmur2
      Src: /src/librdkafka/src/rdkafka_msg.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1093
    functionName: rd_kafka_msg_partitioner_murmur2
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_murmur2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_murmur2(const rd_kafka_topic_t *rkt,\n
      \                                        const void *key,\n                                         size_t
      keylen,\n                                         int32_t partition_cnt,\n                                         void
      *rkt_opaque,\n                                         void *msg_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msg_partitioner_random
      Src: /src/librdkafka/src/rdkafka_msg.c:1102,1
    - Dst: rd_murmur2
      Src: /src/librdkafka/src/rdkafka_msg.c:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1106
    functionName: rd_kafka_msg_partitioner_murmur2_random
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msg_partitioner_random
    - rd_murmur2
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_murmur2_random(const rd_kafka_topic_t
      *rkt,\n                                                const void *key,\n                                                size_t
      keylen,\n                                                int32_t partition_cnt,\n
      \                                               void *rkt_opaque,\n                                                void
      *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_fnv1a
      Src: /src/librdkafka/src/rdkafka_msg.c:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1115
    functionName: rd_kafka_msg_partitioner_fnv1a
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_fnv1a
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_fnv1a(const rd_kafka_topic_t *rkt,\n
      \                                      const void *key,\n                                       size_t
      keylen,\n                                       int32_t partition_cnt,\n                                       void
      *rkt_opaque,\n                                       void *msg_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msg_partitioner_random
      Src: /src/librdkafka/src/rdkafka_msg.c:1124,1
    - Dst: rd_fnv1a
      Src: /src/librdkafka/src/rdkafka_msg.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1117
    functionDepth: 3
    functionLinenumber: 1117
    functionLinenumberEnd: 1128
    functionName: rd_kafka_msg_partitioner_fnv1a_random
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msg_partitioner_random
    - rd_fnv1a
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_partitioner_fnv1a_random(const rd_kafka_topic_t
      *rkt,\n                                              const void *key,\n                                              size_t
      keylen,\n                                              int32_t partition_cnt,\n
      \                                             void *rkt_opaque,\n                                              void
      *msg_opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_available
      Src: /src/librdkafka/src/rdkafka_msg.c:1137,1
    - Dst: rd_interval_expedite
      Src: /src/librdkafka/src/rdkafka_msg.c:1138,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_msg.c:1140,1
    - Dst: rd_kafka_msg_partitioner_random
      Src: /src/librdkafka/src/rdkafka_msg.c:1143,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_msg.c:1145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - rkt
    - key
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1151
    functionName: rd_kafka_msg_sticky_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msg_partitioner_random
    - rd_kafka_topic_partition_available
    - rd_interval
    - rd_interval_expedite
    - rd_kafka_dbg
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_msg_sticky_partition(rd_kafka_topic_t *rkt,\n                                      const
      void *key,\n                                      size_t keylen,\n                                      int32_t
      partition_cnt,\n                                      void *rkt_opaque,\n                                      void
      *msg_opaque)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1172,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1187,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1195,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1204,1
    - Dst: rd_kafka_msg_sticky_partition
      Src: /src/librdkafka/src/rdkafka_msg.c:1217,1
    - Dst: rd_kafka_topic_t*::rkt_conf::partitioner
      Src: /src/librdkafka/src/rdkafka_msg.c:1222,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1234,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1240,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_msg.c:1245,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1247,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1255,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msg.c:1260,1
    - Dst: rd_kafka_toppar_enq_msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1267,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:1267,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_msg.c:1269,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_msg.c:1272,1
    - Dst: rd_kafka_txn_add_partition
      Src: /src/librdkafka/src/rdkafka_msg.c:1274,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1277,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 3
    argNames:
    - rkt
    - rkm
    - do_lock
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_msg_t*
    - rd_dolock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1164
    functionDepth: 4
    functionLinenumber: 1164
    functionLinenumberEnd: 1279
    functionName: rd_kafka_msg_partitioner
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 4
    functionsReached:
    - rd_kafka_topic_rdunlock
    - rd_kafka_msg_sticky_partition
    - rd_atomic64_add
    - rd_kafka_toppar_get
    - rd_kafka_topic_t*::rkt_conf::partitioner
    - rd_kafka_is_transactional
    - rd_kafka_txn_add_partition
    - rd_kafka_assert
    - rd_clock
    - unlikely
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_destroy
    - rd_kafka_toppar_enq_msg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msg_partitioner(rd_kafka_topic_t *rkt,\n                             rd_kafka_msg_t
      *rkm,\n                             rd_dolock_t do_lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.c:1289,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1290,1
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1292,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1295
    functionName: rd_kafka_message_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 41
    functionsReached:
    - rd_kafka_message2msg
    - rd_kafka_op_destroy
    - likely
    - rd_kafka_msg_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_message_destroy(rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_msg.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1303
    functionName: rd_kafka_message_new
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: rd_kafka_message_t *rd_kafka_message_new(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_msg.c:1329,1
    - Dst: rd_kafka_interceptors_on_consume
      Src: /src/librdkafka/src/rdkafka_msg.c:1341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - rko
    - rkmessage
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1350
    functionName: rd_kafka_message_setup
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptors_on_consume
    - rd_kafka_topic_keep
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: 'rd_kafka_message_t *

      rd_kafka_message_setup(rd_kafka_op_t *rko, rd_kafka_message_t *rkmessage)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_setup
      Src: /src/librdkafka/src/rdkafka_msg.c:1360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rko
    - rkm
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1358
    functionDepth: 2
    functionLinenumber: 1358
    functionLinenumberEnd: 1361
    functionName: rd_kafka_message_get_from_rkm
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_setup
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: "rd_kafka_message_t *rd_kafka_message_get_from_rkm(rd_kafka_op_t *rko,\n
      \                                                 rd_kafka_msg_t *rkm)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_new
      Src: /src/librdkafka/src/rdkafka_msg.c:1374,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_msg.c:1387,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1392,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_msg.c:1393,1
    - Dst: rd_kafka_message_setup
      Src: /src/librdkafka/src/rdkafka_msg.c:1397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1398
    functionName: rd_kafka_message_get
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_new
    - RD_NOTREACHED
    - rd_kafka_message_setup
    - strlen
    - rd_kafka_assert
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: rd_kafka_message_t *rd_kafka_message_get(rd_kafka_op_t *rko)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rkmessage
    - tstype
    argTypes:
    - rd_kafka_message_t*
    - rd_kafka_timestamp_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1417
    functionName: rd_kafka_message_timestamp
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 2
    functionsReached:
    - rd_kafka_message2msg
    linkageType: ''
    returnType: int64_t
    signature: "int64_t rd_kafka_message_timestamp(const rd_kafka_message_t *rkmessage,\n
      \                                  rd_kafka_timestamp_type_t *tstype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1423,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1425,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1429
    functionName: rd_kafka_message_latency
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - rd_kafka_message2msg
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_kafka_message_latency(const rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1438
    functionName: rd_kafka_message_broker_id
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 2
    functionsReached:
    - rd_kafka_message2msg
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_message_broker_id(const rd_kafka_message_t *rkmessage)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.c:1454,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msg.c:1456,1
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_msg.c:1459,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msg.c:1461,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msg.c:1463,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1466,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1468,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1469,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src/rdkafka_msg.c:1473,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msg.c:1479,1
    - Dst: rd_kafka_buf_read_ptr
      Src: /src/librdkafka/src/rdkafka_msg.c:1480,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msg.c:1482,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1483,1
    - Dst: rd_kafka_buf_read_ptr
      Src: /src/librdkafka/src/rdkafka_msg.c:1486,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src/rdkafka_msg.c:1488,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1494,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1499,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - rkm
    argTypes:
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1446
    functionDepth: 2
    functionLinenumber: 1446
    functionLinenumberEnd: 1503
    functionName: rd_kafka_msg_headers_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_varint
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_destroy
    - rd_dassert
    - rd_kafka_headers_destroy
    - rd_kafka_buf_new_shadow
    - rd_kafka_buf_read_ptr
    - rd_kafka_header_add
    - rd_kafka_headers_new
    - unlikely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msg_headers_parse(rd_kafka_msg_t *rkm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1513,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1528,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msg.c:1528,1
    - Dst: rd_kafka_msg_headers_parse
      Src: /src/librdkafka/src/rdkafka_msg.c:1531,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rkmessage
    - hdrsp
    argTypes:
    - rd_kafka_message_t*
    - rd_kafka_headers_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1507
    functionDepth: 3
    functionLinenumber: 1507
    functionLinenumberEnd: 1537
    functionName: rd_kafka_message_headers
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 5
    functionsReached:
    - rd_kafka_message2msg
    - rd_kafka_msg_headers_parse
    - unlikely
    - RD_KAFKAP_BYTES_LEN
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_message_headers(const rd_kafka_message_t
      *rkmessage,\n                         rd_kafka_headers_t **hdrsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/src/rdkafka_msg.c:1546,1
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkmessage
    - hdrsp
    argTypes:
    - rd_kafka_message_t*
    - rd_kafka_headers_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1540
    functionDepth: 4
    functionLinenumber: 1540
    functionLinenumberEnd: 1554
    functionName: rd_kafka_message_detach_headers
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - rd_kafka_message_headers
    - rd_kafka_message2msg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_message_detach_headers(rd_kafka_message_t
      *rkmessage,\n                                rd_kafka_headers_t **hdrsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1561,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1564,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkmessage
    - hdrs
    argTypes:
    - rd_kafka_message_t*
    - rd_kafka_headers_t*
    assertStmts:
    - condition: (rkm->rkm_headers != hdrs)
      pos:
        line_end: 1563
        line_start: 1563
        source_file: /src/librdkafka/src/rdkafka_msg.c
    constantsTouched: []
    func_position:
      end: 1569
      start: 1557
    functionDepth: 2
    functionLinenumber: 1557
    functionLinenumberEnd: 1569
    functionName: rd_kafka_message_set_headers
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 1
    functionsReached:
    - rd_kafka_headers_destroy
    - rd_kafka_message2msg
    - assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_message_set_headers(rd_kafka_message_t *rkmessage,\n
      \                                 rd_kafka_headers_t *hdrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1580
    functionName: rd_kafka_message_status
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 5
    functionsReached:
    - rd_kafka_message2msg
    linkageType: ''
    returnType: rd_kafka_msg_status_t
    signature: rd_kafka_msg_status_t rd_kafka_message_status(const rd_kafka_message_t
      *rkmessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1585,1
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_msg.c:1585,1
    - Dst: rd_kafka_message2msg
      Src: /src/librdkafka/src/rdkafka_msg.c:1590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1593
    functionName: rd_kafka_message_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 2
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_kafka_message2msg
    - unlikely
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_message_leader_epoch(const rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_msg.c:1600,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1601,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:1601,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_msg.c:1602,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_msg.c:1603,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - fp
    - what
    - rkmq
    argTypes:
    - FILE*
    - char*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1611
    functionName: rd_kafka_msgq_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - fprintf
    - rd_kafka_msgq_len
    - TAILQ_FOREACH
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgq_dump(FILE *fp, const char *what, rd_kafka_msgq_t
      *rkmq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1620,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1624,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_msg.c:1624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rkmb
    argTypes:
    - rd_kafka_msgbatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1618
    functionDepth: 1
    functionLinenumber: 1618
    functionLinenumberEnd: 1625
    functionName: rd_kafka_msgbatch_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_MSGQ_EMPTY
    - rd_assert
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgbatch_destroy(rd_kafka_msgbatch_t *rkmb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_msg.c:1635,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_msg.c:1637,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - rkmb
    - rktp
    - pid
    - epoch_base_msgid
    argTypes:
    - rd_kafka_msgbatch_t*
    - rd_kafka_toppar_t*
    - rd_kafka_pid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1631
    functionDepth: 1
    functionLinenumber: 1631
    functionLinenumberEnd: 1644
    functionName: rd_kafka_msgbatch_init
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_init
    - memset
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgbatch_init(rd_kafka_msgbatch_t *rkmb,\n                            rd_kafka_toppar_t
      *rktp,\n                            rd_kafka_pid_t pid,\n                            uint64_t
      epoch_base_msgid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1655,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_msg.c:1657,1
    - Dst: rd_kafka_seq_wrap
      Src: /src/librdkafka/src/rdkafka_msg.c:1665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkmb
    - rkm
    argTypes:
    - rd_kafka_msgbatch_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1653
    functionDepth: 1
    functionLinenumber: 1653
    functionLinenumberEnd: 1677
    functionName: rd_kafka_msgbatch_set_first_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid_valid
    - rd_assert
    - rd_kafka_seq_wrap
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgbatch_set_first_msg(rd_kafka_msgbatch_t *rkmb,\n
      \                                    rd_kafka_msg_t *rkm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_msg.c:1695,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1696,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1697,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_msg.c:1698,1
    - Dst: rd_kafka_idemp_inflight_toppar_add
      Src: /src/librdkafka/src/rdkafka_msg.c:1699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - rkmb
    argTypes:
    - rd_kafka_msgbatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1700
    functionName: rd_kafka_msgbatch_ready_produce
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - rd_kafka_is_idempotent
    - rd_kafka_msgq_len
    - rd_kafka_idemp_inflight_toppar_add
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgbatch_ready_produce(rd_kafka_msgbatch_t *rkmb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1786,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:1787,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_msg.c:1789,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.c:1796,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msg.c:1800,1
    - Dst: rd_kafka_msg_enq_time
      Src: /src/librdkafka/src/rdkafka_msg.c:1808,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1817,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:1818,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 7
    argNames:
    - rkmq
    - dest_rkmq
    - next_wakeup
    - now
    - linger_us
    - batch_msg_cnt
    - batch_msg_bytes
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    - rd_ts_t*
    - rd_ts_t
    - rd_ts_t
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1779
    functionDepth: 1
    functionLinenumber: 1779
    functionLinenumberEnd: 1848
    functionName: rd_kafka_msgq_allow_wakeup_at
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_first
    - rd_kafka_msg_enq_time
    - RD_KAFKA_MSGQ_EMPTY
    - rd_kafka_msgq_len
    - unlikely
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_msgq_allow_wakeup_at(rd_kafka_msgq_t *rkmq,\n                                        const
      rd_kafka_msgq_t *dest_rkmq,\n                                        rd_ts_t
      *next_wakeup,\n                                        rd_ts_t now,\n                                        rd_ts_t
      linger_us,\n                                        int32_t batch_msg_cnt,\n
      \                                       int64_t batch_msg_bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:1869,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.c:1875,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_msg.c:1880,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_msg.c:1882,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_msg.c:1889,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_msg.c:1898,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_msg.c:1910,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1922,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 6
    argNames:
    - function
    - line
    - rktp
    - rkmq
    - exp_first_msgid
    - gapless
    argTypes:
    - char*
    - int
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    - uint64_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1856
    functionDepth: 1
    functionLinenumber: 1856
    functionLinenumberEnd: 1923
    functionName: rd_kafka_msgq_verify_order0
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_msgq_first
    - printf
    - rd_kafka_msgq_len
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_verify_order0(const char *function,\n                                 int
      line,\n                                 const rd_kafka_toppar_t *rktp,\n                                 const
      rd_kafka_msgq_t *rkmq,\n                                 uint64_t exp_first_msgid,\n
      \                                rd_bool_t gapless)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_msg.c:1927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - offset
    - timestamp
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1931
    functionName: rd_kafka_Produce_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_Produce_result_t
    signature: "rd_kafka_Produce_result_t *rd_kafka_Produce_result_new(int64_t offset,\n
      \                                                      int64_t timestamp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_msg.c:1937,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msg.c:1939,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_msg.c:1941,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msg.c:1942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_Produce_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1933
    functionDepth: 1
    functionLinenumber: 1933
    functionLinenumberEnd: 1943
    functionName: rd_kafka_Produce_result_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_Produce_result_destroy(rd_kafka_Produce_result_t *result)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_msg.c:1947,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_msg.c:1950,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_msg.c:1952,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_msg.c:1959,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_Produce_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1945
    functionDepth: 1
    functionLinenumber: 1945
    functionLinenumberEnd: 1963
    functionName: rd_kafka_Produce_result_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_Produce_result_t
    signature: 'rd_kafka_Produce_result_t *

      rd_kafka_Produce_result_copy(const rd_kafka_Produce_result_t *result)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_msg.c:1975,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msg.c:1981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msgsize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1987
    functionName: ut_rd_kafka_msg_new
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_msg_t
    signature: rd_kafka_msg_t *ut_rd_kafka_msg_new(size_t msgsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_msg.c:1997,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.c:1998,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1994
    functionDepth: 3
    functionLinenumber: 1994
    functionLinenumberEnd: 2002
    functionName: ut_rd_kafka_msgq_purge
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_init
    - TAILQ_FOREACH_SAFE
    - rd_kafka_msg_destroy
    linkageType: ''
    returnType: void
    signature: void ut_rd_kafka_msgq_purge(rd_kafka_msgq_t *rkmq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_msg.c:2017,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2023,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2034,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2040,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - what
    - rkmq
    - first
    - last
    - req_consecutive
    argTypes:
    - char*
    - rd_kafka_msgq_t*
    - uint64_t
    - uint64_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2006
    functionDepth: 1
    functionLinenumber: 2006
    functionLinenumberEnd: 2042
    functionName: ut_verify_msgq_order
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - RD_UT_SAY
    - RD_UT_ASSERT
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int ut_verify_msgq_order(const char *what,\n                                const
      rd_kafka_msgq_t *rkmq,\n                                uint64_t first,\n                                uint64_t
      last,\n                                rd_bool_t req_consecutive)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_msg.c:2050,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2056,1
    - Dst: ut_rd_kafka_msg_new
      Src: /src/librdkafka/src/rdkafka_msg.c:2059,1
    - Dst: rd_kafka_msgq_enq_sorted0
      Src: /src/librdkafka/src/rdkafka_msg.c:2061,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2065,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2068,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2074,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2075,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:2076,1
    - Dst: rd_kafka_msgq_pop
      Src: /src/librdkafka/src/rdkafka_msg.c:2076,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2079,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2082,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2085,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2088,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2095,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2099,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2099,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2101,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2104,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2107,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2114,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2115,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:2116,1
    - Dst: rd_kafka_msgq_pop
      Src: /src/librdkafka/src/rdkafka_msg.c:2116,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2119,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2123,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2126,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2130,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2137,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2142,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2145,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2150,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2153,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2159,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2169,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2170,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2172,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:2173,1
    - Dst: rd_kafka_msgq_pop
      Src: /src/librdkafka/src/rdkafka_msg.c:2173,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2175,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:2176,1
    - Dst: rd_kafka_msgq_pop
      Src: /src/librdkafka/src/rdkafka_msg.c:2176,1
    - Dst: ut_rd_kafka_msg_new
      Src: /src/librdkafka/src/rdkafka_msg.c:2178,1
    - Dst: rd_kafka_msgq_enq_sorted0
      Src: /src/librdkafka/src/rdkafka_msg.c:2180,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2182,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2186,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2190,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2190,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2192,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2193,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2193,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2195,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2198,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2201,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2205,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2205,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2206,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2208,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2209,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2212,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2213,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2214,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 2
    argNames:
    - what
    - fifo
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2047
    functionDepth: 4
    functionLinenumber: 2047
    functionLinenumberEnd: 2217
    functionName: unittest_msgq_order
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - rd_kafka_retry_msgq
    - ut_rd_kafka_msg_new
    - RD_UT_ASSERT
    - rd_kafka_msgq_init
    - rd_kafka_msgq_pop
    - RD_KAFKA_MSGQ_INITIALIZER
    - ut_rd_kafka_msgq_purge
    - rd_kafka_msgq_enq_sorted0
    - rd_kafka_msgq_len
    - rd_kafka_msgq_enq
    - RD_UT_SAY
    - ut_verify_msgq_order
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: int
    signature: "int unittest_msgq_order(const char *what,\n                               int
      fifo,\n                               int (*cmp)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_seq_wrap
      Src: /src/librdkafka/src/rdkafka_msg.c:2244,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2245,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_msg.c:2251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2252
    functionName: unittest_msg_seq_wrap
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - RD_UT_PASS
    - rd_kafka_seq_wrap
    - RD_UT_ASSERT
    linkageType: ''
    returnType: int
    signature: int unittest_msg_seq_wrap(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_rd_kafka_msg_new
      Src: /src/librdkafka/src/rdkafka_msg.c:2265,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msg.c:2267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rkmq
    - lo
    - hi
    - msgsize
    argTypes:
    - rd_kafka_msgq_t*
    - uint64_t
    - uint64_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2258
    functionDepth: 2
    functionLinenumber: 2258
    functionLinenumberEnd: 2269
    functionName: ut_msgq_populate
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - ut_rd_kafka_msg_new
    - rd_kafka_msgq_enq
    linkageType: ''
    returnType: void
    signature: "void ut_msgq_populate(rd_kafka_msgq_t *rkmq,\n                             uint64_t
      lo,\n                             uint64_t hi,\n                             size_t
      msgsize)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2296,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2298,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2299,1
    - Dst: ut_msgq_populate
      Src: /src/librdkafka/src/rdkafka_msg.c:2304,1
    - Dst: ut_msgq_populate
      Src: /src/librdkafka/src/rdkafka_msg.c:2318,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2329,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2330,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2330,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:2332,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2333,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:2334,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2337,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2339,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2339,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2341,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2342,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2342,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2344,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2346,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2349,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2349,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2352,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2354,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2355,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2358,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_msg.c:2362,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_msg.c:2368,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - what
    - max_us_per_msg
    - ret_us_per_msg
    - src_ranges
    - dest_ranges
    argTypes:
    - char*
    - double
    - double*
    - struct ut_msg_range*
    - struct ut_msg_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2369
      start: 2281
    functionDepth: 4
    functionLinenumber: 2281
    functionLinenumberEnd: 2369
    functionName: unittest_msgq_insert_all_sort
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - RD_UT_ASSERT
    - rd_kafka_msgq_init
    - RD_UT_PASS
    - ut_msgq_populate
    - ut_rd_kafka_msgq_purge
    - rd_kafka_msgq_insert_msgq
    - rd_kafka_msgq_len
    - rd_clock
    - RD_UT_SAY
    - ut_verify_msgq_order
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: int
    signature: "int unittest_msgq_insert_all_sort(const char *what,\n                              double
      max_us_per_msg,\n                              double *ret_us_per_msg,\n                              const
      struct ut_msg_range *src_ranges,\n                              const struct
      ut_msg_range *dest_ranges)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2392,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2394,1
    - Dst: ut_msgq_populate
      Src: /src/librdkafka/src/rdkafka_msg.c:2399,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.c:2416,1
    - Dst: ut_msgq_populate
      Src: /src/librdkafka/src/rdkafka_msg.c:2418,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2429,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2432,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2432,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:2434,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_msg.c:2435,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msg.c:2437,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2440,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2443,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2443,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2445,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2446,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2446,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msg.c:2448,1
    - Dst: ut_verify_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2450,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2453,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2453,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msg.c:2456,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2458,1
    - Dst: ut_rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_msg.c:2461,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_msg.c:2465,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msg.c:2470,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_msg.c:2474,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_msg.c:2481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 5
    argNames:
    - what
    - max_us_per_msg
    - ret_us_per_msg
    - src_ranges
    - dest_ranges
    argTypes:
    - char*
    - double
    - double*
    - struct ut_msg_range*
    - struct ut_msg_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2376
    functionDepth: 4
    functionLinenumber: 2376
    functionLinenumberEnd: 2482
    functionName: unittest_msgq_insert_each_sort
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - RD_UT_ASSERT
    - rd_kafka_msgq_init
    - RD_UT_PASS
    - ut_msgq_populate
    - ut_rd_kafka_msgq_purge
    - rd_kafka_msgq_insert_msgq
    - rd_kafka_msgq_len
    - rd_clock
    - RD_UT_SAY
    - ut_verify_msgq_order
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: int
    signature: "int unittest_msgq_insert_each_sort(const char *what,\n                               double
      max_us_per_msg,\n                               double *ret_us_per_msg,\n                               const
      struct ut_msg_range *src_ranges,\n                               const struct
      ut_msg_range *dest_ranges)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unittest_msgq_insert_all_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2497,1
    - Dst: unittest_msgq_insert_each_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2502,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_msg.c:2508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - what
    - max_us_per_msg
    - ret_us_per_msg
    - src_ranges
    - dest_ranges
    argTypes:
    - char*
    - double
    - double*
    - struct ut_msg_range*
    - struct ut_msg_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2489
    functionDepth: 5
    functionLinenumber: 2489
    functionLinenumberEnd: 2511
    functionName: unittest_msgq_insert_sort
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - unittest_msgq_insert_each_sort
    - unittest_msgq_insert_all_sort
    - RD_MAX
    linkageType: ''
    returnType: int
    signature: "int unittest_msgq_insert_sort(const char *what,\n                                     double
      max_us_per_msg,\n                                     double *ret_us_per_msg,\n
      \                                    const struct ut_msg_range *src_ranges,\n
      \                                    const struct ut_msg_range *dest_ranges)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unittest_msgq_order
      Src: /src/librdkafka/src/rdkafka_msg.c:2518,1
    - Dst: unittest_msg_seq_wrap
      Src: /src/librdkafka/src/rdkafka_msg.c:2519,1
    - Dst: unittest_msgq_insert_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2521,1
    - Dst: unittest_msgq_insert_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2531,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_msg.c:2542,1
    - Dst: unittest_msgq_insert_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2546,1
    - Dst: unittest_msgq_insert_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2563,1
    - Dst: unittest_msgq_insert_sort
      Src: /src/librdkafka/src/rdkafka_msg.c:2573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2589
      start: 2514
    functionDepth: 6
    functionLinenumber: 2514
    functionLinenumberEnd: 2589
    functionName: unittest_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.c
    functionUses: 0
    functionsReached:
    - unittest_msg_seq_wrap
    - unittest_msgq_insert_sort
    - RD_UT_WARN
    - unittest_msgq_order
    linkageType: ''
    returnType: int
    signature: int unittest_msg(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: RD_KAFKA_TELEMETRY_METRIC_INFO
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TELEMETRY_METRIC_INFO(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: RD_KAFKA_TELEMETRY_METRIC_CNT
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TELEMETRY_METRIC_CNT(rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdavg.h:78,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdavg.h:80,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdavg.h:90,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdavg.h:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_avg_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: rd_avg_add
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_hdr_histogram_record
    - mtx_lock
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_avg_add(rd_avg_t *ra, int64_t v)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ra
    - now
    argTypes:
    - rd_avg_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 115
    functionName: rd_avg_calc
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_avg_calc(rd_avg_t *ra, rd_ts_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - q
    argTypes:
    - rd_avg_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: rd_avg_quantile
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_quantile
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_avg_quantile(const rd_avg_t *ra, double q)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdavg.h:142,1
    - Dst: memset
      Src: /src/librdkafka/src/rdavg.h:144,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdavg.h:146,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdavg.h:150,1
    - Dst: rd_hdr_histogram_stddev
      Src: /src/librdkafka/src/rdavg.h:156,1
    - Dst: rd_hdr_histogram_mean
      Src: /src/librdkafka/src/rdavg.h:157,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:160,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:161,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:162,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:163,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:164,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdavg.h:165,1
    - Dst: memset
      Src: /src/librdkafka/src/rdavg.h:167,1
    - Dst: memset
      Src: /src/librdkafka/src/rdavg.h:169,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdavg.h:171,1
    - Dst: rd_hdr_histogram_reset
      Src: /src/librdkafka/src/rdavg.h:205,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdavg.h:210,1
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdavg.h:211,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdavg.h:219,1
    - Dst: rd_avg_calc
      Src: /src/librdkafka/src/rdavg.h:221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_avg_t*
    - rd_avg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 222
    functionName: rd_avg_rollover
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_new
    - rd_avg_calc
    - mtx_lock
    - rd_hdr_histogram_mean
    - rd_hdr_histogram_quantile
    - rd_hdr_histogram_destroy
    - memset
    - mtx_init
    - rd_hdr_histogram_stddev
    - rd_hdr_histogram_reset
    - mtx_unlock
    - rd_clock
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_avg_rollover(rd_avg_t *dst, rd_avg_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdavg.h:234,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdavg.h:235,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdavg.h:240,1
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdavg.h:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - ra
    - type
    - exp_min
    - exp_max
    - sigfigs
    - enable
    argTypes:
    - rd_avg_t*
    - int
    - int64_t
    - int64_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 246
    functionName: rd_avg_init
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached:
    - memset
    - rd_hdr_histogram_new
    - rd_clock
    - mtx_init
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_avg_init(rd_avg_t *ra,\n                                  int
      type,\n                                  int64_t exp_min,\n                                  int64_t
      exp_max,\n                                  int sigfigs,\n                                  int
      enable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdavg.h:255,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdavg.h:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ra
    argTypes:
    - rd_avg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: rd_avg_destroy
    functionSourceFile: /src/librdkafka/src/rdavg.h
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_destroy
    - mtx_destroy
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_avg_destroy(rd_avg_t *ra)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_idempotence.c:65,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:70,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:73,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:74,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:75,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:79,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:81,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:82,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:85,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:88,1
    - Dst: rd_kafka_txn_idemp_state_change
      Src: /src/librdkafka/src/rdkafka_idempotence.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - new_state
    argTypes:
    - rd_kafka_t*
    - rd_kafka_idemp_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: rd_kafka_idemp_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 1
    functionsReached:
    - rd_kafka_txn_idemp_state_change
    - rd_kafka_idemp_state2str
    - rd_kafka_is_transactional
    - rd_kafka_fatal_error_code
    - rd_kafka_idemp_set_state
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_set_state(rd_kafka_t *rk,\n                              rd_kafka_idemp_state_t
      new_state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_any_up
      Src: /src/librdkafka/src/rdkafka_idempotence.c:109,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_idempotence.c:117,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:121,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_idempotence.c:127,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:129,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_idempotence.c:132,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - rk
    - errp
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: rd_kafka_idemp_broker_any
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_broker_any_up
    - rd_atomic32_get
    - rd_kafka_is_transactional
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_idemp_broker_any(rd_kafka_t *rk,\n                                             rd_kafka_resp_err_t
      *errp,\n                                             char *errstr,\n                                             size_t
      errstr_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:182,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_idempotence.c:183,1
    - Dst: rd_kafka_set_fatal_error0
      Src: /src/librdkafka/src/rdkafka_idempotence.c:186,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:189,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - rk
    - err
    - errstr
    - is_fatal
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 192
    functionName: rd_kafka_idemp_check_error
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_set_fatal_error0
    - rd_kafka_idemp_set_state
    - rd_kafka_is_transactional
    - rd_kafka_txn_set_fatal_error
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_idemp_check_error(rd_kafka_t *rk,\n                                     rd_kafka_resp_err_t
      err,\n                                     const char *errstr,\n                                     rd_bool_t
      is_fatal)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_idempotence.c:211,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_idempotence.c:211,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:227,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:229,1
    - Dst: rd_kafka_txn_coord_query
      Src: /src/librdkafka/src/rdkafka_idempotence.c:239,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:245,1
    - Dst: rd_kafka_txn_coord_query
      Src: /src/librdkafka/src/rdkafka_idempotence.c:258,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_idempotence.c:263,1
    - Dst: rd_kafka_idemp_broker_any
      Src: /src/librdkafka/src/rdkafka_idempotence.c:266,1
    - Dst: rd_kafka_idemp_check_error
      Src: /src/librdkafka/src/rdkafka_idempotence.c:269,1
    - Dst: rd_kafka_broker_is_up
      Src: /src/librdkafka/src/rdkafka_idempotence.c:274,1
    - Dst: rd_kafka_idemp_pid_timer_restart
      Src: /src/librdkafka/src/rdkafka_idempotence.c:278,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_idempotence.c:283,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:287,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:294,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:295,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:297,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_idempotence.c:298,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_idempotence.c:301,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:304,1
    - Dst: rd_kafka_InitProducerIdRequest
      Src: /src/librdkafka/src/rdkafka_idempotence.c:308,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:311,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_idempotence.c:314,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:318,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:321,1
    - Dst: rd_kafka_InitProducerIdRequest
      Src: /src/librdkafka/src/rdkafka_idempotence.c:323,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_idempotence.c:325,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:330,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_idempotence.c:336,1
    - Dst: rd_kafka_idemp_check_error
      Src: /src/librdkafka/src/rdkafka_idempotence.c:339,1
    - Dst: rd_kafka_idemp_pid_timer_restart
      Src: /src/librdkafka/src/rdkafka_idempotence.c:346,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:350,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 376
    functionName: rd_kafka_idemp_pid_fsm
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_pid_valid
    - rd_kafka_pid2str
    - rd_assert
    - rd_kafka_txn_coord_query
    - rd_snprintf
    - rd_kafka_broker_destroy
    - rd_kafka_idemp_pid_timer_restart
    - rd_kafka_idemp_broker_any
    - rd_kafka_idemp_check_error
    - rd_rkb_dbg
    - rd_kafka_InitProducerIdRequest
    - rd_kafka_is_transactional
    - rd_kafka_fatal_error_code
    - rd_kafka_broker_is_up
    - rd_kafka_idemp_set_state
    - unlikely
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_pid_fsm(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:388,1
    - Dst: rd_kafka_idemp_pid_fsm
      Src: /src/librdkafka/src/rdkafka_idempotence.c:389,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: rd_kafka_idemp_pid_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_idemp_pid_fsm
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_pid_timer_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:405,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_idempotence.c:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - immediate
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: rd_kafka_idemp_pid_timer_restart
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_start_oneshot
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_pid_timer_restart(rd_kafka_t *rk,\n                                             rd_bool_t
      immediate,\n                                             const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:425,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:426,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_idempotence.c:431,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_idempotence.c:431,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_idempotence.c:433,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:435,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_idempotence.c:437,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:437,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:439,1
    - Dst: rd_kafka_idemp_check_error
      Src: /src/librdkafka/src/rdkafka_idempotence.c:441,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:442,1
    - Dst: RD_UT_COVERAGE
      Src: /src/librdkafka/src/rdkafka_idempotence.c:446,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:448,1
    - Dst: rd_kafka_txn_coord_set
      Src: /src/librdkafka/src/rdkafka_idempotence.c:451,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:457,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:459,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_idempotence.c:461,1
    - Dst: rd_kafka_idemp_pid_timer_restart
      Src: /src/librdkafka/src/rdkafka_idempotence.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - rkb
    - err
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 465
    functionName: rd_kafka_idemp_request_pid_failed
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - rd_kafka_wrlock
    - rd_snprintf
    - rd_kafka_wrunlock
    - rd_kafka_idemp_pid_timer_restart
    - rd_kafka_idemp_check_error
    - rd_kafka_err2str
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_txn_coord_set
    - rd_kafka_is_transactional
    - rd_kafka_idemp_set_state
    - rd_kafka_broker_name
    - RD_UT_COVERAGE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_request_pid_failed(rd_kafka_broker_t *rkb,\n                                       rd_kafka_resp_err_t
      err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:478,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:480,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:483,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:484,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:485,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:489,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:490,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_idempotence.c:491,1
    - Dst: rd_kafka_idemp_request_pid_failed
      Src: /src/librdkafka/src/rdkafka_idempotence.c:494,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:499,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:500,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:501,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:502,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:504,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:505,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:511,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:513,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_idempotence.c:517,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - rkb
    - pid
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 519
    functionName: rd_kafka_idemp_pid_update
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_kafka_pid_valid
    - rd_kafka_wrlock
    - rd_kafka_idemp_state2str
    - rd_kafka_wrunlock
    - rd_rkb_dbg
    - rd_kafka_all_brokers_wakeup
    - rd_kafka_idemp_request_pid_failed
    - rd_kafka_idemp_set_state
    - rd_rkb_log
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_pid_update(rd_kafka_broker_t *rkb,\n                               const
      rd_kafka_pid_t pid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:533,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:535,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:536,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_idempotence.c:540,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:542,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:545,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:548,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:549,1
    - Dst: rd_kafka_pid_bump
      Src: /src/librdkafka/src/rdkafka_idempotence.c:555,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:556,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:559,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:560,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:565,1
    - Dst: rd_kafka_idemp_pid_timer_restart
      Src: /src/librdkafka/src/rdkafka_idempotence.c:569,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_idempotence.c:574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 576
    functionName: rd_kafka_idemp_drain_done
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid_valid
    - rd_kafka_pid2str
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_idemp_pid_timer_restart
    - rd_kafka_all_brokers_wakeup
    - rd_kafka_is_transactional
    - rd_kafka_pid_bump
    - rd_kafka_idemp_set_state
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_drain_done(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_idempotence.c:586,1
    - Dst: rd_kafka_idemp_drain_done
      Src: /src/librdkafka/src/rdkafka_idempotence.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: rd_kafka_idemp_check_drain_done
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_idemp_drain_done
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_idemp_check_drain_done(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:601,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:602,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:605,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_idempotence.c:606,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:607,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:608,1
    - Dst: rd_kafka_idemp_check_drain_done
      Src: /src/librdkafka/src/rdkafka_idempotence.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - reason
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 612
    functionName: rd_kafka_idemp_drain_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_kafka_wrlock
    - rd_kafka_idemp_check_drain_done
    - rd_kafka_wrunlock
    - rd_atomic32_get
    - rd_kafka_idemp_set_state
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_drain_reset(rd_kafka_t *rk, const char *reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:641,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_idempotence.c:643,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_idempotence.c:644,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_idempotence.c:645,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:647,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:651,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:655,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:656,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_idempotence.c:657,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:659,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:663,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:667,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_idempotence.c:668,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_idempotence.c:669,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:672,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:675,1
    - Dst: rd_kafka_txn_set_abortable_error_with_bump
      Src: /src/librdkafka/src/rdkafka_idempotence.c:680,1
    - Dst: rd_kafka_idemp_check_drain_done
      Src: /src/librdkafka/src/rdkafka_idempotence.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - rk
    - allow_txn_abort
    - err
    - fmt
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 687
    functionName: rd_kafka_idemp_drain_epoch_bump0
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_kafka_wrlock
    - rd_kafka_idemp_state2str
    - rd_kafka_wrunlock
    - rd_kafka_idemp_check_drain_done
    - va_start
    - rd_kafka_txn_set_abortable_error_with_bump
    - rd_atomic32_get
    - rd_kafka_is_transactional
    - rd_vsnprintf
    - rd_kafka_idemp_set_state
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_drain_epoch_bump0(rd_kafka_t *rk,\n                                      rd_bool_t
      allow_txn_abort,\n                                      rd_kafka_resp_err_t
      err,\n                                      const char *fmt,\n                                      ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_idempotence.c:699,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_idempotence.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktp
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: rd_kafka_idemp_drain_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_PR
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_drain_toppar(rd_kafka_toppar_t *rktp, const char
      *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_idempotence.c:715,1
    - Dst: rd_kafka_idemp_drain_done
      Src: /src/librdkafka/src/rdkafka_idempotence.c:721,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_idempotence.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - rktp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 725
    functionName: rd_kafka_idemp_inflight_toppar_sub
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_idemp_drain_done
    - rd_assert
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_inflight_toppar_sub(rd_kafka_t *rk,\n                                        rd_kafka_toppar_t
      *rktp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_idempotence.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - rktp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 737
    functionName: rd_kafka_idemp_inflight_toppar_add
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 1
    functionsReached:
    - rd_atomic32_add
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_idemp_inflight_toppar_add(rd_kafka_t *rk,\n                                        rd_kafka_toppar_t
      *rktp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_idempotence.c:749,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:752,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:756,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:757,1
    - Dst: rd_kafka_idemp_pid_timer_restart
      Src: /src/librdkafka/src/rdkafka_idempotence.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - immediate
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: rd_kafka_idemp_start
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_terminating
    - rd_kafka_idemp_pid_timer_restart
    - rd_kafka_idemp_set_state
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_start(rd_kafka_t *rk, rd_bool_t immediate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_idempotence.c:773,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_idempotence.c:773,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_idempotence.c:775,1
    - Dst: rd_kafka_pid_reset
      Src: /src/librdkafka/src/rdkafka_idempotence.c:776,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:781,1
    - Dst: rd_kafka_txns_init
      Src: /src/librdkafka/src/rdkafka_idempotence.c:782,1
    - Dst: rd_kafka_idemp_start
      Src: /src/librdkafka/src/rdkafka_idempotence.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 789
    functionName: rd_kafka_idemp_init
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_atomic32_init
    - rd_kafka_txns_init
    - rd_kafka_pid_reset
    - thrd_is_current
    - rd_kafka_is_transactional
    - rd_kafka_idemp_start
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_init(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_idempotence.c:799,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_idempotence.c:799,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:801,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_idempotence.c:802,1
    - Dst: rd_kafka_txns_term
      Src: /src/librdkafka/src/rdkafka_idempotence.c:803,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_idempotence.c:804,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.c:805,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_idempotence.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 807
    functionName: rd_kafka_idemp_term
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - thrd_is_current
    - rd_kafka_is_transactional
    - rd_kafka_txns_term
    - rd_kafka_timer_stop
    - rd_kafka_idemp_set_state
    linkageType: ''
    returnType: void
    signature: void rd_kafka_idemp_term(rd_kafka_t *rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_lz4.c:64,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:65,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:80,1
    - Dst: XXH32
      Src: /src/librdkafka/src/rdkafka_lz4.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - rkb
    - inbuf
    - inlen
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 97
    functionName: rd_kafka_lz4_decompress_fixup_bad_framing
    functionSourceFile: /src/librdkafka/src/rdkafka_lz4.c
    functionUses: 0
    functionsReached:
    - memcmp
    - rd_rkb_dbg
    - XXH32
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_lz4_decompress_fixup_bad_framing(rd_kafka_broker_t
      *rkb,\n                                          char *inbuf,\n                                          size_t
      inlen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_lz4.c:124,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:125,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:140,1
    - Dst: XXH32
      Src: /src/librdkafka/src/rdkafka_lz4.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - rkb
    - outbuf
    - outlen
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 157
    functionName: rd_kafka_lz4_compress_break_framing
    functionSourceFile: /src/librdkafka/src/rdkafka_lz4.c
    functionUses: 0
    functionsReached:
    - memcmp
    - rd_rkb_dbg
    - XXH32
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_lz4_compress_break_framing(rd_kafka_broker_t
      *rkb,\n                                    char *outbuf,\n                                    size_t
      outlen)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_createDecompressionContext
      Src: /src/librdkafka/src/rdkafka_lz4.c:189,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:190,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:191,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:193,1
    - Dst: rd_kafka_lz4_decompress_fixup_bad_framing
      Src: /src/librdkafka/src/rdkafka_lz4.c:201,1
    - Dst: LZ4F_getFrameInfo
      Src: /src/librdkafka/src/rdkafka_lz4.c:207,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:208,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:209,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:211,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_lz4.c:223,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_lz4.c:231,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_lz4.c:233,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_lz4.c:236,1
    - Dst: LZ4F_decompress
      Src: /src/librdkafka/src/rdkafka_lz4.c:249,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_lz4.c:251,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:251,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:252,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:258,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_lz4.c:263,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_lz4.c:272,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_lz4.c:276,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_lz4.c:278,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_lz4.c:280,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_lz4.c:281,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_lz4.c:285,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:296,1
    - Dst: LZ4F_freeDecompressionContext
      Src: /src/librdkafka/src/rdkafka_lz4.c:311,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:312,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:313,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:315,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_lz4.c:320,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 7
    argNames:
    - rkb
    - proper_hc
    - Offset
    - inbuf
    - inlen
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - int
    - int64_t
    - char*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 323
    functionName: rd_kafka_lz4_decompress
    functionSourceFile: /src/librdkafka/src/rdkafka_lz4.c
    functionUses: 0
    functionsReached:
    - rd_kafka_lz4_decompress_fixup_bad_framing
    - rd_free
    - LZ4F_getFrameInfo
    - RD_MAX
    - RD_MIN
    - rd_atomic64_add
    - LZ4F_freeDecompressionContext
    - rd_rkb_dbg
    - rd_malloc
    - LZ4F_isError
    - rd_strerror
    - rd_kafka_assert
    - LZ4F_createDecompressionContext
    - rd_realloc
    - rd_rkb_log
    - LZ4F_getErrorName
    - unlikely
    - LZ4F_decompress
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_lz4_decompress(rd_kafka_broker_t *rkb,\n
      \                                           int proper_hc,\n                                            int64_t
      Offset,\n                                            char *inbuf,\n                                            size_t
      inlen,\n                                            void **outbuf,\n                                            size_t
      *outlenp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_lz4.c:345,1
    - Dst: LZ4F_compressBound
      Src: /src/librdkafka/src/rdkafka_lz4.c:359,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:360,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:361,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:364,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_lz4.c:368,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:370,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_lz4.c:373,1
    - Dst: LZ4F_createCompressionContext
      Src: /src/librdkafka/src/rdkafka_lz4.c:377,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:378,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:379,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:381,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_lz4.c:382,1
    - Dst: LZ4F_compressBegin
      Src: /src/librdkafka/src/rdkafka_lz4.c:386,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:387,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:388,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:391,1
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdkafka_lz4.c:398,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_lz4.c:399,1
    - Dst: LZ4F_compressUpdate
      Src: /src/librdkafka/src/rdkafka_lz4.c:400,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_lz4.c:402,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:402,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:403,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:410,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_lz4.c:418,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_lz4.c:418,1
    - Dst: LZ4F_compressEnd
      Src: /src/librdkafka/src/rdkafka_lz4.c:420,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_lz4.c:421,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/rdkafka_lz4.c:421,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_lz4.c:422,1
    - Dst: LZ4F_getErrorName
      Src: /src/librdkafka/src/rdkafka_lz4.c:425,1
    - Dst: rd_kafka_lz4_compress_break_framing
      Src: /src/librdkafka/src/rdkafka_lz4.c:436,1
    - Dst: LZ4F_freeCompressionContext
      Src: /src/librdkafka/src/rdkafka_lz4.c:444,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_lz4.c:447,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 6
    argNames:
    - rkb
    - proper_hc
    - comp_level
    - slice
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - int
    - int
    - rd_slice_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 450
    functionName: rd_kafka_lz4_compress
    functionSourceFile: /src/librdkafka/src/rdkafka_lz4.c
    functionUses: 0
    functionsReached:
    - LZ4F_freeCompressionContext
    - rd_free
    - rd_assert
    - rd_slice_remains
    - rd_slice_reader
    - LZ4F_compressBegin
    - rd_kafka_lz4_compress_break_framing
    - rd_rkb_dbg
    - LZ4F_createCompressionContext
    - LZ4F_compressUpdate
    - rd_malloc
    - LZ4F_compressEnd
    - LZ4F_isError
    - rd_strerror
    - LZ4F_getErrorName
    - unlikely
    - LZ4F_compressBound
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_lz4_compress(rd_kafka_broker_t *rkb,\n
      \                                         int proper_hc,\n                                          int
      comp_level,\n                                          rd_slice_t *slice,\n
      \                                         void **outbuf,\n                                          size_t
      *outlenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: nelem
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nelem(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: isalpharune
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isalpharune(Rune c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: toupperrune
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Rune
    signature: Rune toupperrune(Rune c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - r
    - s
    argTypes:
    - Rune*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: chartorune
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int chartorune(Rune *r, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/librdkafka/src/regexp.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - g
    - message
    argTypes:
    - Restate*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: die
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: void
    signature: void die(Restate *g, const char *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupperrune
      Src: /src/librdkafka/src/regexp.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: canon
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - toupperrune
    linkageType: ''
    returnType: Rune
    signature: Rune canon(Rune c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - g
    - c
    argTypes:
    - Restate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: hex
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - die
    linkageType: ''
    returnType: int
    signature: int hex(Restate *g, int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - g
    - c
    argTypes:
    - Restate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: dec
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - die
    linkageType: ''
    returnType: int
    signature: int dec(Restate *g, int c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:132,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:134,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:137,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:157,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:158,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:165,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:166,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:167,1
    - Dst: hex
      Src: /src/librdkafka/src/regexp.c:168,1
    - Dst: strchr
      Src: /src/librdkafka/src/regexp.c:175,1
    - Dst: isalpharune
      Src: /src/librdkafka/src/regexp.c:177,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 183
    functionName: nextrune
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - hex
    - die
    - strchr
    - chartorune
    - isalpharune
    linkageType: ''
    returnType: int
    signature: int nextrune(Restate *g)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dec
      Src: /src/librdkafka/src/regexp.c:188,1
    - Dst: dec
      Src: /src/librdkafka/src/regexp.c:191,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:195,1
    - Dst: dec
      Src: /src/librdkafka/src/regexp.c:202,1
    - Dst: dec
      Src: /src/librdkafka/src/regexp.c:205,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 216
    functionName: lexcount
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - dec
    - die
    linkageType: ''
    returnType: int
    signature: int lexcount(Restate *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nelem
      Src: /src/librdkafka/src/regexp.c:219,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: newcclass
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - nelem
    - die
    linkageType: ''
    returnType: void
    signature: void newcclass(Restate *g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:227,1
    - Dst: nelem
      Src: /src/librdkafka/src/regexp.c:228,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - g
    - a
    - b
    argTypes:
    - Restate*
    - Rune
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: addrange
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - nelem
    - die
    linkageType: ''
    returnType: void
    signature: void addrange(Restate *g, Rune a, Rune b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: addranges_d
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_d(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:239,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: addranges_D
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_D(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:244,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:245,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:246,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:247,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:248,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: addranges_s
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_s(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:253,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:254,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:255,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:256,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:257,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:258,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: addranges_S
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_S(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:263,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:264,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:265,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: addranges_w
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_w(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:270,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:271,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:272,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:273,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: addranges_W
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addrange
    linkageType: ''
    returnType: void
    signature: void addranges_W(Restate *g)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:282,1
    - Dst: nextrune
      Src: /src/librdkafka/src/regexp.c:284,1
    - Dst: nextrune
      Src: /src/librdkafka/src/regexp.c:287,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:293,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:300,1
    - Dst: strchr
      Src: /src/librdkafka/src/regexp.c:309,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:311,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:313,1
    - Dst: addranges_d
      Src: /src/librdkafka/src/regexp.c:317,1
    - Dst: addranges_s
      Src: /src/librdkafka/src/regexp.c:320,1
    - Dst: addranges_w
      Src: /src/librdkafka/src/regexp.c:323,1
    - Dst: addranges_D
      Src: /src/librdkafka/src/regexp.c:326,1
    - Dst: addranges_S
      Src: /src/librdkafka/src/regexp.c:329,1
    - Dst: addranges_W
      Src: /src/librdkafka/src/regexp.c:332,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:346,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:349,1
    - Dst: nextrune
      Src: /src/librdkafka/src/regexp.c:358,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:362,1
    - Dst: addrange
      Src: /src/librdkafka/src/regexp.c:364,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 368
    functionName: lexclass
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - addranges_D
    - nextrune
    - addranges_W
    - addranges_S
    - addranges_w
    - addrange
    - die
    - strchr
    - newcclass
    - addranges_d
    - addranges_s
    linkageType: ''
    returnType: int
    signature: int lexclass(Restate *g)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: nextrune
      Src: /src/librdkafka/src/regexp.c:371,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:379,1
    - Dst: addranges_d
      Src: /src/librdkafka/src/regexp.c:380,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:383,1
    - Dst: addranges_s
      Src: /src/librdkafka/src/regexp.c:384,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:387,1
    - Dst: addranges_w
      Src: /src/librdkafka/src/regexp.c:388,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:391,1
    - Dst: addranges_d
      Src: /src/librdkafka/src/regexp.c:392,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:395,1
    - Dst: addranges_s
      Src: /src/librdkafka/src/regexp.c:396,1
    - Dst: newcclass
      Src: /src/librdkafka/src/regexp.c:399,1
    - Dst: addranges_w
      Src: /src/librdkafka/src/regexp.c:400,1
    - Dst: lexcount
      Src: /src/librdkafka/src/regexp.c:429,1
    - Dst: lexclass
      Src: /src/librdkafka/src/regexp.c:431,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 370
    functionDepth: 4
    functionLinenumber: 370
    functionLinenumberEnd: 451
    functionName: lex
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - nextrune
    - lexclass
    - addranges_w
    - newcclass
    - lexcount
    - addranges_d
    - addranges_s
    linkageType: ''
    returnType: int
    signature: int lex(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - g
    - type
    argTypes:
    - Restate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: newnode
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Renode
    signature: Renode *newnode(Restate *g, int type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:501,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:501,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:503,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:503,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:505,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:507,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - node
    argTypes:
    - Renode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 516
    functionName: empty
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 9
    functionsReached:
    - empty
    linkageType: ''
    returnType: int
    signature: int empty(Renode *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:519,1
    - Dst: empty
      Src: /src/librdkafka/src/regexp.c:520,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - g
    - atom
    - ng
    - min
    - max
    argTypes:
    - Restate*
    - Renode*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: newrep
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - newnode
    - empty
    - die
    linkageType: ''
    returnType: Renode
    signature: Renode *newrep(Restate *g, Renode *atom, int ng, int min, int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lex
      Src: /src/librdkafka/src/regexp.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: next
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 2
    functionsReached:
    - lex
    linkageType: ''
    returnType: void
    signature: void next(Restate *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - g
    - t
    argTypes:
    - Restate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 6
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: re_accept
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - next
    linkageType: ''
    returnType: int
    signature: int re_accept(Restate *g, int t)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:546,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:548,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:552,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:554,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:558,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:560,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:564,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:566,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:569,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:572,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:573,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:574,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:575,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:577,1
    - Dst: parsealt
      Src: /src/librdkafka/src/regexp.c:579,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:581,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:582,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:585,1
    - Dst: parsealt
      Src: /src/librdkafka/src/regexp.c:586,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:587,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:588,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:591,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:592,1
    - Dst: parsealt
      Src: /src/librdkafka/src/regexp.c:593,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:594,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:595,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:598,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:599,1
    - Dst: parsealt
      Src: /src/librdkafka/src/regexp.c:600,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:601,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:602,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:605,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 543
    functionDepth: 7
    functionLinenumber: 543
    functionLinenumberEnd: 607
    functionName: parseatom
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - next
    - re_accept
    - newnode
    - die
    - parsealt
    linkageType: ''
    returnType: Renode
    signature: Renode *parseatom(Restate *g)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:612,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:613,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:614,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:615,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:616,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:617,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:618,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:619,1
    - Dst: parseatom
      Src: /src/librdkafka/src/regexp.c:621,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:624,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:626,1
    - Dst: newrep
      Src: /src/librdkafka/src/regexp.c:627,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:627,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:629,1
    - Dst: newrep
      Src: /src/librdkafka/src/regexp.c:630,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:630,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:631,1
    - Dst: newrep
      Src: /src/librdkafka/src/regexp.c:632,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:632,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:633,1
    - Dst: newrep
      Src: /src/librdkafka/src/regexp.c:634,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:634,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 609
    functionDepth: 8
    functionLinenumber: 609
    functionLinenumberEnd: 636
    functionName: parserep
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - next
    - re_accept
    - newnode
    - die
    - parseatom
    - newrep
    linkageType: ''
    returnType: Renode
    signature: Renode *parserep(Restate *g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserep
      Src: /src/librdkafka/src/regexp.c:641,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:645,1
    - Dst: parserep
      Src: /src/librdkafka/src/regexp.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 638
    functionDepth: 9
    functionLinenumber: 638
    functionLinenumberEnd: 652
    functionName: parsecat
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - newnode
    - parserep
    linkageType: ''
    returnType: Renode
    signature: Renode *parsecat(Restate *g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parsecat
      Src: /src/librdkafka/src/regexp.c:656,1
    - Dst: re_accept
      Src: /src/librdkafka/src/regexp.c:657,1
    - Dst: newnode
      Src: /src/librdkafka/src/regexp.c:659,1
    - Dst: parsecat
      Src: /src/librdkafka/src/regexp.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - g
    argTypes:
    - Restate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 654
    functionDepth: 10
    functionLinenumber: 654
    functionLinenumberEnd: 664
    functionName: parsealt
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 1
    functionsReached:
    - newnode
    - re_accept
    - parsecat
    linkageType: ''
    returnType: Renode
    signature: Renode *parsealt(Restate *g)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:705,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:705,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:707,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:707,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:712,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:714,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:715,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:717,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:719,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - node
    argTypes:
    - Renode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 723
    functionName: count
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 25
    functionsReached:
    - count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int count(Renode *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - prog
    - opcode
    argTypes:
    - Reprog*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 733
    functionName: emit
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Reinst
    signature: Reinst *emit(Reprog *prog, int opcode)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:744,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:745,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:749,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:750,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:751,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:752,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:761,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:767,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:768,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:778,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:779,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:780,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:790,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:802,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:805,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:808,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:811,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:815,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:817,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:818,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:822,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:823,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:824,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:829,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:830,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:831,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:837,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:840,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:841,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:844,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:848,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:852,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 113
    argCount: 2
    argNames:
    - prog
    - node
    argTypes:
    - Reprog*
    - Renode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 856
    functionName: compile
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 1
    functionsReached:
    - compile
    - emit
    - canon
    linkageType: ''
    returnType: void
    signature: void compile(Reprog *prog, Renode *node)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:862,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:867,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:868,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:869,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:870,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:871,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:874,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:875,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:876,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:877,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:878,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:881,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:883,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:884,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:887,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:890,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:893,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:896,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:899,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:900,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:901,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:904,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:905,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:906,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:909,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:910,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:911,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:914,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:917,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:920,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:922,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:923,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:926,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:928,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:929,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:932,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 1
    argNames:
    - node
    argTypes:
    - Renode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 935
    functionName: dumpnode
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 1
    functionsReached:
    - dumpnode
    - printf
    linkageType: ''
    returnType: void
    signature: void dumpnode(Renode *node)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:941,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:944,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:947,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:950,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:954,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:958,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:962,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:965,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:968,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:973,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:976,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:979,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:982,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:985,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:988,1
    - Dst: puts
      Src: /src/librdkafka/src/regexp.c:991,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:994,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:997,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - prog
    argTypes:
    - Reprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1001
    functionName: dumpprog
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - puts
    - printf
    linkageType: ''
    returnType: void
    signature: void dumpprog(Reprog *prog)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/regexp.c:1011,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/regexp.c:1020,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/regexp.c:1023,1
    - Dst: setjmp
      Src: /src/librdkafka/src/regexp.c:1025,1
    - Dst: rd_free
      Src: /src/librdkafka/src/regexp.c:1028,1
    - Dst: rd_free
      Src: /src/librdkafka/src/regexp.c:1029,1
    - Dst: next
      Src: /src/librdkafka/src/regexp.c:1041,1
    - Dst: parsealt
      Src: /src/librdkafka/src/regexp.c:1042,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:1044,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:1046,1
    - Dst: count
      Src: /src/librdkafka/src/regexp.c:1049,1
    - Dst: die
      Src: /src/librdkafka/src/regexp.c:1051,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/regexp.c:1053,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1055,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1058,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1059,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1061,1
    - Dst: compile
      Src: /src/librdkafka/src/regexp.c:1062,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1063,1
    - Dst: emit
      Src: /src/librdkafka/src/regexp.c:1064,1
    - Dst: dumpnode
      Src: /src/librdkafka/src/regexp.c:1067,1
    - Dst: putchar
      Src: /src/librdkafka/src/regexp.c:1068,1
    - Dst: dumpprog
      Src: /src/librdkafka/src/regexp.c:1069,1
    - Dst: rd_free
      Src: /src/librdkafka/src/regexp.c:1072,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 3
    argNames:
    - pattern
    - cflags
    - errorp
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1004
    functionDepth: 11
    functionLinenumber: 1004
    functionLinenumberEnd: 1077
    functionName: re_regcomp
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 1
    functionsReached:
    - setjmp
    - rd_free
    - next
    - compile
    - putchar
    - dumpprog
    - rd_calloc
    - rd_malloc
    - die
    - emit
    - parsealt
    - strlen
    - dumpnode
    - count
    linkageType: ''
    returnType: Reprog
    signature: Reprog *re_regcomp(const char *pattern, int cflags, const char **errorp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/regexp.c:1081,1
    - Dst: rd_free
      Src: /src/librdkafka/src/regexp.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - prog
    argTypes:
    - Reprog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1084
    functionName: re_regfree
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 1
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void re_regfree(Reprog *prog)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: isnewline
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isnewline(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    functionName: iswordchar
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iswordchar(int c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - cc
    - c
    argTypes:
    - Reclass*
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1103
    functionName: incclass
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int incclass(Reclass *cc, Rune c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - cc
    - c
    argTypes:
    - Reclass*
    - Rune
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1112
    functionName: incclasscanon
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - canon
    linkageType: ''
    returnType: int
    signature: int incclasscanon(Reclass *cc, Rune c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1122,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1123,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1124,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1129
    functionName: strncmpcanon
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - canon
    - chartorune
    linkageType: ''
    returnType: int
    signature: int strncmpcanon(const char *a, const char *b, unsigned int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/regexp.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - t
    - pc
    - sp
    - sub
    argTypes:
    - Rethread*
    - Reinst*
    - char*
    - Resub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1141
    functionName: spawn
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void spawn(Rethread *t, Reinst *pc, const char *sp, Resub *sub)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: spawn
      Src: /src/librdkafka/src/regexp.c:1153,1
    - Dst: memcpy
      Src: /src/librdkafka/src/regexp.c:1161,1
    - Dst: fprintf
      Src: /src/librdkafka/src/regexp.c:1175,1
    - Dst: spawn
      Src: /src/librdkafka/src/regexp.c:1180,1
    - Dst: match
      Src: /src/librdkafka/src/regexp.c:1185,1
    - Dst: memcpy
      Src: /src/librdkafka/src/regexp.c:1190,1
    - Dst: match
      Src: /src/librdkafka/src/regexp.c:1191,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1197,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1202,1
    - Dst: isnewline
      Src: /src/librdkafka/src/regexp.c:1205,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1209,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1213,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1218,1
    - Dst: incclasscanon
      Src: /src/librdkafka/src/regexp.c:1222,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1222,1
    - Dst: incclass
      Src: /src/librdkafka/src/regexp.c:1225,1
    - Dst: chartorune
      Src: /src/librdkafka/src/regexp.c:1230,1
    - Dst: incclasscanon
      Src: /src/librdkafka/src/regexp.c:1234,1
    - Dst: canon
      Src: /src/librdkafka/src/regexp.c:1234,1
    - Dst: incclass
      Src: /src/librdkafka/src/regexp.c:1237,1
    - Dst: strncmpcanon
      Src: /src/librdkafka/src/regexp.c:1245,1
    - Dst: strncmp
      Src: /src/librdkafka/src/regexp.c:1249,1
    - Dst: isnewline
      Src: /src/librdkafka/src/regexp.c:1260,1
    - Dst: isnewline
      Src: /src/librdkafka/src/regexp.c:1267,1
    - Dst: iswordchar
      Src: /src/librdkafka/src/regexp.c:1271,1
    - Dst: iswordchar
      Src: /src/librdkafka/src/regexp.c:1272,1
    - Dst: iswordchar
      Src: /src/librdkafka/src/regexp.c:1277,1
    - Dst: iswordchar
      Src: /src/librdkafka/src/regexp.c:1278,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 157
    argCount: 5
    argNames:
    - pc
    - sp
    - bol
    - flags
    - out
    argTypes:
    - Reinst*
    - char*
    - char*
    - int
    - Resub*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1143
    functionDepth: 3
    functionLinenumber: 1143
    functionLinenumberEnd: 1297
    functionName: match
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 6
    functionsReached:
    - fprintf
    - iswordchar
    - incclasscanon
    - match
    - chartorune
    - isnewline
    - strncmp
    - memcpy
    - strncmpcanon
    - spawn
    - canon
    - incclass
    linkageType: ''
    returnType: int
    signature: int match(Reinst *pc, const char *sp, const char *bol, int flags, Resub
      *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: match
      Src: /src/librdkafka/src/regexp.c:1310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - prog
    - sp
    - sub
    - eflags
    argTypes:
    - Reprog*
    - char*
    - Resub*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1299
    functionDepth: 4
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: re_regexec
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 0
    functionsReached:
    - match
    linkageType: ''
    returnType: int
    signature: int re_regexec(Reprog *prog, const char *sp, Resub *sub, int eflags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/librdkafka/src/regexp.c:1322,1
    - Dst: fprintf
      Src: /src/librdkafka/src/regexp.c:1324,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:1330,1
    - Dst: regexec
      Src: /src/librdkafka/src/regexp.c:1331,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:1335,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:1342,1
    - Dst: printf
      Src: /src/librdkafka/src/regexp.c:1345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1351
    functionName: main
    functionSourceFile: /src/librdkafka/src/regexp.c
    functionUses: 13
    functionsReached:
    - regexec
    - fprintf
    - regcomp
    - printf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mcgrp
    - new_state
    - reason
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 66
    functionName: rd_kafka_mock_cgrp_classic_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_set_state(rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n                                     unsigned int new_state,\n                                     const
      char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:75,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: rd_kafka_mock_cgrp_classic_member_active
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_member_active(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t *member)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 4
    argNames:
    - mcgrp
    - member
    - request
    - generation_id
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    - rd_kafka_buf_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 142
    functionName: rd_kafka_mock_cgrp_classic_check_state
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_cgrp_classic_check_state(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t *member,\n    const rd_kafka_buf_t
      *request,\n    int32_t generation_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:153,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:155,1
    - Dst: rd_kafkap_bytes_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mcgrp
    - member
    - Metadata
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: rd_kafka_mock_cgrp_classic_member_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafkap_bytes_destroy
    - rd_kafkap_bytes_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_member_assignment_set(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t *member,\n    const rd_kafkap_bytes_t
      *Metadata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:174,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:179,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:182,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:184,1
    - Dst: rd_kafka_mock_cgrp_classic_member_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:188,1
    - Dst: rd_kafka_mock_connection_set_blocking
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:192,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:195,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - mcgrp
    - err
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 202
    functionName: rd_kafka_mock_cgrp_classic_sync_done
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kbytes
    - rd_kafka_mock_connection_set_blocking
    - rd_kafka_mock_cgrp_classic_member_assignment_set
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_sync_done(rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n                                     rd_kafka_resp_err_t err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:212,1
    - Dst: rd_kafka_mock_cgrp_classic_sync_done
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:221,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: rd_kafka_mock_cgrp_classic_sync_check
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_set_state
    - rd_kafka_mock_cgrp_classic_sync_done
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cgrp_classic_sync_check(rd_kafka_mock_cgrp_classic_t
      *mcgrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_classic_member_active
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:241,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:243,1
    - Dst: rd_kafka_mock_connection_set_blocking
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:247,1
    - Dst: rd_kafka_mock_cgrp_classic_sync_check
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mcgrp
    - member
    - mconn
    - resp
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 4
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: rd_kafka_mock_cgrp_classic_member_sync_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_member_active
    - rd_assert
    - rd_kafka_mock_connection_set_blocking
    - rd_kafka_mock_cgrp_classic_sync_check
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_cgrp_classic_member_sync_set(\n
      \   rd_kafka_mock_cgrp_classic_t *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t
      *member,\n    rd_kafka_mock_connection_t *mconn,\n    rd_kafka_buf_t *resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:263,1
    - Dst: rd_kafka_mock_cgrp_classic_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:266,1
    - Dst: rd_kafka_mock_cgrp_classic_rebalance
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: rd_kafka_mock_cgrp_classic_member_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_rebalance
    - rd_kafka_mock_cgrp_classic_member_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_cgrp_classic_member_leave(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:282,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:284,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - protos
    - proto_cnt
    argTypes:
    - rd_kafka_mock_cgrp_classic_proto_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: rd_kafka_mock_cgrp_classic_protos_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_protos_destroy(\n    rd_kafka_mock_cgrp_classic_proto_t
      *protos,\n    int proto_cnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:301,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:302,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:302,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:314,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:319,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:324,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:334,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:335,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:338,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:354,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:356,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:357,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:358,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:359,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:360,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:361,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:365,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:366,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:368,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:372,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:372,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:376,1
    - Dst: rd_kafka_mock_cgrp_classic_member_active
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:384,1
    - Dst: rd_kafka_mock_connection_set_blocking
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:386,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:387,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:392,1
    - Dst: rd_kafka_mock_cgrp_classic_rebalance_timer_restart
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 399
    functionName: rd_kafka_mock_cgrp_classic_elect_leader
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_set_state
    - rd_assert
    - rd_free
    - TAILQ_EMPTY
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_cgrp_classic_member_active
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kbytes
    - rd_kafka_mock_connection_set_blocking
    - rd_strcmp
    - rd_kafka_mock_cgrp_classic_rebalance_timer_restart
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_STR_DUP
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cgrp_classic_elect_leader(rd_kafka_mock_cgrp_classic_t
      *mcgrp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_classic_sync_done
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:431,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:434,1
    - Dst: rd_kafka_mock_cgrp_classic_rebalance_timer_restart
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - mcgrp
    - reason
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 437
    functionName: rd_kafka_mock_cgrp_classic_rebalance
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_mock_cgrp_classic_sync_done
    - rd_kafka_mock_cgrp_classic_rebalance_timer_restart
    - rd_kafka_mock_cgrp_classic_set_state
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_rebalance(rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n                                     const char *reason)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:444,1
    - Dst: rd_kafka_mock_cgrp_classic_elect_leader
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:456,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:458,1
    - Dst: rd_kafka_mock_cgrp_classic_sync_done
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:467,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:470,1
    - Dst: rd_kafka_mock_cgrp_classic_set_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 488
    functionName: rd_kafka_mock_cgrp_classic_fsm_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_set_state
    - rd_kafka_mock_cgrp_classic_sync_done
    - rd_kafka_mock_cgrp_classic_elect_leader
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cgrp_classic_fsm_timeout(rd_kafka_mock_cgrp_classic_t
      *mcgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_classic_fsm_timeout
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 495
    functionName: rd_kafka_mcgrp_rebalance_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_fsm_timeout
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mcgrp_rebalance_timer_cb(rd_kafka_timers_t *rkts,\n
      \                                             void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mcgrp
    - timeout_ms
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: rd_kafka_mock_cgrp_classic_rebalance_timer_restart
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_timer_start_oneshot
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_rebalance_timer_restart(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    int timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:513,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:514,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:517,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:520,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:523,1
    - Dst: rd_kafka_mock_cgrp_classic_member_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:525,1
    - Dst: rd_kafka_mock_cgrp_classic_protos_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:527,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_cgrp_classic_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 510
    functionDepth: 2
    functionLinenumber: 510
    functionLinenumberEnd: 531
    functionName: rd_kafka_mock_cgrp_classic_member_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_free
    - rd_kafka_buf_destroy
    - rd_kafka_mock_cgrp_classic_member_assignment_set
    - rd_kafka_mock_cgrp_classic_protos_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_member_destroy(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_cgrp_classic_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:541,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcgrp
    - MemberId
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: rd_kafka_mock_cgrp_classic_member_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_classic_member_t
    signature: "rd_kafka_mock_cgrp_classic_member_t *rd_kafka_mock_cgrp_classic_member_find(\n
      \   const rd_kafka_mock_cgrp_classic_t *mcgrp,\n    const rd_kafkap_str_t *MemberId)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_classic_check_state
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:566,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:571,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:574,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:576,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:579,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:580,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:582,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:584,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:586,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:588,1
    - Dst: rd_kafka_mock_cgrp_classic_rebalance
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:593,1
    - Dst: rd_kafka_mock_cgrp_classic_protos_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:598,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:603,1
    - Dst: rd_kafka_mock_cgrp_classic_member_active
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 9
    argNames:
    - mcgrp
    - mconn
    - resp
    - MemberId
    - ProtocolType
    - GroupInstanceId
    - protos
    - proto_cnt
    - session_timeout_ms
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafka_mock_cgrp_classic_proto_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 609
    functionName: rd_kafka_mock_cgrp_classic_member_add
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_assert
    - rd_snprintf
    - rd_kafka_mock_cgrp_classic_member_find
    - rd_kafka_mock_cgrp_classic_rebalance
    - rd_kafka_mock_cgrp_classic_member_active
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_mock_cgrp_classic_check_state
    - RD_KAFKAP_STR_DUP
    - rd_strdup
    - rd_kafka_mock_cgrp_classic_protos_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_cgrp_classic_member_add(\n    rd_kafka_mock_cgrp_classic_t
      *mcgrp,\n    rd_kafka_mock_connection_t *mconn,\n    rd_kafka_buf_t *resp,\n
      \   const rd_kafkap_str_t *MemberId,\n    const rd_kafkap_str_t *ProtocolType,\n
      \   const rd_kafkap_str_t *GroupInstanceId,\n    rd_kafka_mock_cgrp_classic_proto_t
      *protos,\n    int proto_cnt,\n    int session_timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:618,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:621,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:627,1
    - Dst: rd_kafka_mock_cgrp_classic_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:631,1
    - Dst: rd_kafka_mock_cgrp_classic_rebalance
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 614
    functionDepth: 4
    functionLinenumber: 614
    functionLinenumberEnd: 637
    functionName: rd_kafka_mock_cgrp_classic_session_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_kafka_mock_cgrp_classic_rebalance
    - rd_kafka_mock_cgrp_classic_member_destroy
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_classic_session_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                     void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:643,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:645,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:647,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:649,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:650,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:652,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:653,1
    - Dst: rd_kafka_mock_cgrp_classic_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:654,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_classic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 640
    functionDepth: 3
    functionLinenumber: 640
    functionLinenumberEnd: 656
    functionName: rd_kafka_mock_cgrp_classic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - TAILQ_FIRST
    - rd_kafka_timer_stop
    - rd_kafka_mock_cgrp_classic_member_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cgrp_classic_destroy(rd_kafka_mock_cgrp_classic_t
      *mcgrp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:663,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - GroupId
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 669
    functionName: rd_kafka_mock_cgrp_classic_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_classic_t
    signature: "rd_kafka_mock_cgrp_classic_t *\nrd_kafka_mock_cgrp_classic_find(rd_kafka_mock_cluster_t
      *mcluster,\n                                const rd_kafkap_str_t *GroupId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_classic_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:681,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:687,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:690,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:691,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:693,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:694,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - mcluster
    - GroupId
    - ProtocolType
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 701
    functionName: rd_kafka_mock_cgrp_classic_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_find
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_timer_start
    - TAILQ_INIT
    - RD_KAFKAP_STR_DUP
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_classic_t
    signature: "rd_kafka_mock_cgrp_classic_t *\nrd_kafka_mock_cgrp_classic_get(rd_kafka_mock_cluster_t
      *mcluster,\n                               const rd_kafkap_str_t *GroupId,\n
      \                              const rd_kafkap_str_t *ProtocolType)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:713,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:715,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - mcluster
    - mconn
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_mock_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 725
    functionName: rd_kafka_mock_cgrps_classic_connection_closed
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - TAILQ_FOREACH
    - rd_kafka_buf_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrps_classic_connection_closed(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    rd_kafka_mock_connection_t *mconn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:741,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:743,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:745,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - member_ids
    - assignment
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 749
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_calloc
    - rd_list_copy
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_target_assignment_t
    signature: "rd_kafka_mock_cgrp_consumer_target_assignment_t *\nrd_kafka_mock_cgrp_consumer_target_assignment_new0(rd_list_t
      *member_ids,\n                                                   rd_list_t *assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:760,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:762,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:764,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:764,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:765,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:766,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_new0
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:769,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:771,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - member_ids
    - member_cnt
    - assignment
    argTypes:
    - char**
    - int
    - rd_kafka_topic_partition_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 774
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_list_add
    - rd_list_destroy
    - rd_list_new
    - rd_kafka_mock_cgrp_consumer_target_assignment_new0
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_target_assignment_t
    signature: "rd_kafka_mock_cgrp_consumer_target_assignment_t *\nrd_kafka_mock_cgrp_consumer_target_assignment_new(\n
      \   char **member_ids,\n    int member_cnt,\n    rd_kafka_topic_partition_list_t
      **assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:778,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:779,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - target_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_target_assignment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 781
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_target_assignment_destroy(\n    rd_kafka_mock_cgrp_consumer_target_assignment_t
      *target_assignment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:802,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:807,1
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:810,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:812,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:813,1
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:815,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mcgrp
    - member
    - target_member_epoch
    - rktparlist
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_member_t*
    - int
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: rd_kafka_mock_cgrp_consumer_member_target_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_topic_partition_set_topic_id
    - rd_kafka_mock_topic_find
    - rd_kafka_topic_partition_list_destroy
    - RD_KAFKA_TPLIST_FOREACH
    - rd_kafka_Uuid_cmp
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_target_assignment_set(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_member_t *member,\n    int target_member_epoch,\n
      \   const rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:843,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:845,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:845,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:847,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:848,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:850,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_target_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mcgrp
    - target_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_target_assignment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 858
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_new
    - rd_kafka_mock_cgrp_consumer_member_find
    - rd_list_elem
    - rd_kafkap_str_destroy
    - RD_LIST_FOREACH
    - rd_kafka_mock_cgrp_consumer_member_target_assignment_set
    - strlen
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_target_assignment_set(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_target_assignment_t *target_assignment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:881,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:883,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:887,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:890,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:897,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:899,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:899,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:900,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:900,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:902,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:903,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:904,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:905,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:907,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:908,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:910,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:912,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:919,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:922,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:924,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:926,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:940,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:941,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:946,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:948,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_new0
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:956,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:959,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:960,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:962,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 966
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_calculate_range
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - TAILQ_FOREACH
    - rd_list_destroy
    - RD_MAP_SET
    - rd_kafka_topic_partition_set_topic_id
    - RD_MAP_DESTROY
    - rd_calloc
    - rd_kafka_topic_partition_list_new
    - RD_MAP_FOREACH
    - RD_LIST_FOREACH
    - strlen
    - RD_MAP_GET
    - rd_strdup
    - RD_MAP_INITIALIZER
    - rd_list_add
    - rd_list_cnt
    - rd_list_new
    - rd_kafka_mock_cgrp_consumer_target_assignment_new0
    - rd_list_elem
    - rd_kafka_mock_topic_find_by_kstr
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_target_assignment_t
    signature: "rd_kafka_mock_cgrp_consumer_target_assignment_t *\nrd_kafka_mock_cgrp_consumer_target_assignment_calculate_range(\n
      \   const rd_kafka_mock_cgrp_consumer_t *mcgrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:940,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:941,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:946,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 952
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_list_elem
    - rd_kafka_topic_partition_list_add
    - RD_MAP_GET
    - rd_kafka_topic_partition_set_topic_id
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(member, members, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_calculate_range
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:980,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:982,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 986
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_target_assignment_calculate_range
    - rd_kafka_mock_cgrp_consumer_target_assignment_destroy
    - rd_kafka_mock_cgrp_consumer_target_assignment_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_target_assignment_recalculate(\n
      \   rd_kafka_mock_cgrp_consumer_t *mcgrp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1003,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mcgrp
    - target_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_target_assignment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1012
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment_set_manual
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
    - rd_kafka_mock_cgrp_consumer_target_assignment_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_target_assignment_set_manual(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_target_assignment_t *target_assignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1027,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - member
    - current_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1035
    functionName: rd_kafka_mock_cgrp_consumer_member_current_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_current_assignment_set(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member,\n    const rd_kafka_topic_partition_list_t
      *current_assignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1050,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - member
    - returned_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1057
    functionName: rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_returned_assignment_set(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member,\n    const rd_kafka_topic_partition_list_t
      *returned_assignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1075,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1079,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1080,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1086
    functionName: rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_Uuid_cmp
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_mock_cgrp_consumer_member_target_assignment_assignable(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1079,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1080,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1083
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_Uuid_cmp
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_topic_partition_get_topic_id
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, assignment)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1101,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1106,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1124,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1131,1
    - Dst: rd_kafka_topic_partition_list_intersection_by_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1136,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1140,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - member
    - new_assignment
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1097
    functionDepth: 1
    functionLinenumber: 1097
    functionLinenumberEnd: 1143
    functionName: rd_kafka_mock_cgrp_consumer_member_next_assignment_can_bump_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_list
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - TAILQ_FOREACH
    - rd_kafka_topic_partition_list_intersection_by_id
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_mock_cgrp_consumer_member_next_assignment_can_bump_epoch(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member,\n    rd_kafka_topic_partition_list_t
      *new_assignment)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_intersection_by_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1173,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1177,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1187
    functionName: rd_kafka_mock_cgrp_consumer_member_needs_revocation
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_intersection_by_id
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_mock_cgrp_consumer_member_needs_revocation(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1210,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_next_assignment_can_bump_epoch
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1213,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1227
    functionName: rd_kafka_mock_cgrp_consumer_member_needs_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_next_assignment_can_bump_epoch
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_mock_cgrp_consumer_member_needs_assignment(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_member_current_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1254,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_needs_revocation
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1278,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_needs_assignment
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1286,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1295,1
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1307,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1314,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - member
    - current_assignment
    - member_epoch
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafka_topic_partition_list_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1325
    functionName: rd_kafka_mock_cgrp_consumer_member_next_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_cmp
    - rd_kafka_mock_cgrp_consumer_member_current_assignment_set
    - rd_kafka_mock_cgrp_consumer_member_needs_assignment
    - rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
    - rd_kafka_mock_cgrp_consumer_member_needs_revocation
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_mock_cgrp_consumer_member_next_assignment(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member,\n    rd_kafka_topic_partition_list_t
      *current_assignment,\n    int *member_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1338,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1342
    functionName: rd_kafka_mock_cgrp_consumer_member_active
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_active(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1357,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcgrp
    - MemberId
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1363
    functionName: rd_kafka_mock_cgrp_consumer_member_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 1
    functionsReached:
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_member_t
    signature: "rd_kafka_mock_cgrp_consumer_member_t *rd_kafka_mock_cgrp_consumer_member_find(\n
      \   const rd_kafka_mock_cgrp_consumer_t *mcgrp,\n    const rd_kafkap_str_t *MemberId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1378,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1382,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - mcgrp
    - InstanceId
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1391
    functionName: rd_kafka_mock_cgrp_consumer_member_find_by_instance_id
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_member_t
    signature: "rd_kafka_mock_cgrp_consumer_member_t *\nrd_kafka_mock_cgrp_consumer_member_find_by_instance_id(\n
      \   const rd_kafka_mock_cgrp_consumer_t *mcgrp,\n    const rd_kafkap_str_t *InstanceId)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1398,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1399,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1401,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - SubscribedTopicNames
    - SubscribedTopicNamesCnt
    - SubscribedTopicRegex
    argTypes:
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1403
    functionName: validate_subscription
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_assert
    - RD_KAFKAP_STR_IS_NULL
    linkageType: ''
    returnType: void
    signature: "void validate_subscription(const rd_kafkap_str_t *SubscribedTopicNames,\n
      \                                 int32_t SubscribedTopicNamesCnt,\n                                  const
      rd_kafkap_str_t *SubscribedTopicRegex)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: validate_subscription
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1423,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1427,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1436,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1438,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1440,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1442,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1446,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1447,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1449,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1453,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1453,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1455,1
    - Dst: rd_regex_comp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1462,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1465,1
    - Dst: rd_regex_exec
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1466,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1467,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1468,1
    - Dst: rd_regex_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1471,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1474,1
    - Dst: rd_list_cmp
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1477,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1480,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1482,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1485,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - member
    - SubscribedTopicNames
    - SubscribedTopicNamesCnt
    - SubscribedTopicRegex
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1414
    functionDepth: 2
    functionLinenumber: 1414
    functionLinenumberEnd: 1487
    functionName: rd_kafka_mock_cgrp_consumer_member_subscribed_topic_names_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_list_cnt
    - RD_KAFKAP_STR_DUP
    - rd_regex_comp
    - TAILQ_FOREACH
    - rd_strdup
    - rd_regex_destroy
    - rd_list_new
    - rd_list_destroy
    - rd_list_copy
    - rd_list_deduplicate
    - rd_regex_exec
    - validate_subscription
    - rd_list_copy_to
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - rd_list_cmp
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_mock_cgrp_consumer_member_subscribed_topic_names_set(\n
      \   rd_kafka_mock_cgrp_consumer_member_t *member,\n    rd_kafkap_str_t *SubscribedTopicNames,\n
      \   int32_t SubscribedTopicNamesCnt,\n    const rd_kafkap_str_t *SubscribedTopicRegex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1493,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1493,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1494,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - member
    - MemberId
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1496
    functionName: rd_kafka_mock_cgrp_consumer_member_topic_id_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_assert
    - RD_IF_FREE
    - RD_KAFKAP_STR_DUP
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_topic_id_set(\n    rd_kafka_mock_cgrp_consumer_member_t
      *member,\n    const rd_kafkap_str_t *MemberId)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_member_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1529,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_find_by_instance_id
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1531,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1541,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_topic_id_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1544,1
    - Dst: validate_subscription
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1554,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1564,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_topic_id_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1567,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1570,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1571,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1573,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_subscribed_topic_names_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1580,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_active
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1591,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 7
    argNames:
    - mcgrp
    - conn
    - MemberId
    - InstanceId
    - SubscribedTopicNames
    - SubscribedTopicNamesCnt
    - SubscribedTopicRegex
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - struct rd_kafka_mock_connection_s*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1517
    functionDepth: 4
    functionLinenumber: 1517
    functionLinenumberEnd: 1598
    functionName: rd_kafka_mock_cgrp_consumer_member_add
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_topic_id_set
    - rd_kafka_mock_cgrp_consumer_member_find
    - RD_KAFKAP_STR_DUP
    - rd_calloc
    - rd_kafka_mock_cgrp_consumer_member_find_by_instance_id
    - rd_kafka_mock_cgrp_consumer_member_subscribed_topic_names_set
    - rd_kafka_mock_cgrp_consumer_member_active
    - rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
    - TAILQ_INSERT_TAIL
    - validate_subscription
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_member_t
    signature: "rd_kafka_mock_cgrp_consumer_member_t *rd_kafka_mock_cgrp_consumer_member_add(\n
      \   rd_kafka_mock_cgrp_consumer_t *mcgrp,\n    struct rd_kafka_mock_connection_s
      *conn,\n    const rd_kafkap_str_t *MemberId,\n    const rd_kafkap_str_t *InstanceId,\n
      \   rd_kafkap_str_t *SubscribedTopicNames,\n    int32_t SubscribedTopicNamesCnt,\n
      \   const rd_kafkap_str_t *SubscribedTopicRegex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1611,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1612,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1615,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1617,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1620,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1622,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1624,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1626,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1628,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1630,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1632,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1608
    functionDepth: 4
    functionLinenumber: 1608
    functionLinenumberEnd: 1635
    functionName: rd_kafka_mock_cgrp_consumer_member_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_free
    - rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_destroy(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1637
    functionDepth: 2
    functionLinenumber: 1637
    functionLinenumberEnd: 1642
    functionName: rd_kafka_mock_cgrp_consumer_member_leave_static
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_leave_static(\n    rd_kafka_mock_cgrp_consumer_member_t
      *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1661,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1664,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1665,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1667,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_leave_static
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mcgrp
    - member
    - leave_static
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_member_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1655
    functionDepth: 5
    functionLinenumber: 1655
    functionLinenumberEnd: 1670
    functionName: rd_kafka_mock_cgrp_consumer_member_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_destroy
    - RD_STR_ToF
    - rd_kafka_mock_cgrp_consumer_member_leave_static
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_leave(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_member_t *member,\n    rd_bool_t leave_static)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1684,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcgrp
    - member
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    - rd_kafka_mock_cgrp_consumer_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1680
    functionDepth: 5
    functionLinenumber: 1680
    functionLinenumberEnd: 1689
    functionName: rd_kafka_mock_cgrp_consumer_member_fenced
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_member_fenced(\n    rd_kafka_mock_cgrp_consumer_t
      *mcgrp,\n    rd_kafka_mock_cgrp_consumer_member_t *member)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1704,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - GroupId
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: rd_kafka_mock_cgrp_consumer_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_t
    signature: "rd_kafka_mock_cgrp_consumer_t *\nrd_kafka_mock_cgrp_consumer_find(const
      rd_kafka_mock_cluster_t *mcluster,\n                                 const rd_kafkap_str_t
      *GroupId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1724,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1727,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1728,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1734,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_fenced
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1738,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1741
      start: 1720
    functionDepth: 6
    functionLinenumber: 1720
    functionLinenumberEnd: 1741
    functionName: rd_kafka_mock_cgrp_consumer_session_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_kafka_mock_cgrp_consumer_member_fenced
    - mtx_unlock
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_session_tmr_cb(rd_kafka_timers_t
      *rkts,\n                                                       void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrp_consumer_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1758,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1762,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1764,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1766,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1767,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - mcluster
    - GroupId
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1753
    functionDepth: 2
    functionLinenumber: 1753
    functionLinenumberEnd: 1774
    functionName: rd_kafka_mock_cgrp_consumer_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_find
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_timer_start
    - TAILQ_INIT
    - RD_KAFKAP_STR_DUP
    linkageType: ''
    returnType: rd_kafka_mock_cgrp_consumer_t
    signature: "rd_kafka_mock_cgrp_consumer_t *\nrd_kafka_mock_cgrp_consumer_get(rd_kafka_mock_cluster_t
      *mcluster,\n                                const rd_kafkap_str_t *GroupId)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1783,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1783,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1785,1
    - Dst: rd_kafka_mock_cgrp_consumer_find
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1787,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_set_manual
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1791,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1795,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mcluster
    - group_id
    - target_assignment
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_mock_cgrp_consumer_target_assignment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1777
    functionDepth: 5
    functionLinenumber: 1777
    functionLinenumberEnd: 1797
    functionName: rd_kafka_mock_cgrp_consumer_target_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafkap_str_new
    - rd_kafka_mock_cgrp_consumer_find
    - rd_kafka_mock_cgrp_consumer_target_assignment_set_manual
    - mtx_lock
    - rd_kafkap_str_destroy
    - strlen
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrp_consumer_target_assignment(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    const char *group_id,\n    rd_kafka_mock_cgrp_consumer_target_assignment_t
      *target_assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1802,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - group_consumer_session_timeout_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1806
    functionName: rd_kafka_mock_set_group_consumer_session_timeout_ms
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 3
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_set_group_consumer_session_timeout_ms(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    int group_consumer_session_timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1811,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - group_consumer_heartbeat_interval_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1815
    functionName: rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 8
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_set_group_consumer_heartbeat_interval_ms(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    int group_consumer_heartbeat_interval_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1831,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1833,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1836,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_current_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mcluster
    - mconn
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_mock_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1826
    functionDepth: 2
    functionLinenumber: 1826
    functionLinenumberEnd: 1843
    functionName: rd_kafka_mock_cgrps_consumer_connection_closed
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
    - TAILQ_FOREACH_SAFE
    - TAILQ_FOREACH
    - rd_kafka_mock_cgrp_consumer_member_current_assignment_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrps_consumer_connection_closed(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    rd_kafka_mock_connection_t *mconn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1855,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1857,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1859,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1860,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_destroy
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1861,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mcgrp
    argTypes:
    - rd_kafka_mock_cgrp_consumer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1863
      start: 1852
    functionDepth: 5
    functionLinenumber: 1852
    functionLinenumberEnd: 1863
    functionName: rd_kafka_mock_cgrp_consumer_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - TAILQ_FIRST
    - rd_kafka_timer_stop
    - rd_kafka_mock_cgrp_consumer_member_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cgrp_consumer_destroy(rd_kafka_mock_cgrp_consumer_t
      *mcgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cgrps_classic_connection_closed
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1874,1
    - Dst: rd_kafka_mock_cgrps_consumer_connection_closed
      Src: /src/librdkafka/src/rdkafka_mock_cgrp.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mcluster
    - mconn
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_mock_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1872
    functionDepth: 3
    functionLinenumber: 1872
    functionLinenumberEnd: 1876
    functionName: rd_kafka_mock_cgrps_connection_closed
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrps_classic_connection_closed
    - rd_kafka_mock_cgrps_consumer_connection_closed
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cgrps_connection_closed(rd_kafka_mock_cluster_t
      *mcluster,\n                                           rd_kafka_mock_connection_t
      *mconn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/rdlist.c:36,1
    - Dst: printf
      Src: /src/librdkafka/src/rdlist.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - what
    - rl
    argTypes:
    - char*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: rd_list_dump
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void rd_list_dump(const char *what, const rd_list_t *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:44,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdlist.c:46,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdlist.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - size
    argTypes:
    - rd_list_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: rd_list_grow
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_realloc
    - rd_assert
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_list_grow(rd_list_t *rl, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdlist.c:54,1
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdlist.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rl
    - initial_size
    argTypes:
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: rd_list_init
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - memset
    - rd_list_grow
    linkageType: ''
    returnType: rd_list_t
    signature: 'rd_list_t *

      rd_list_init(rd_list_t *rl, int initial_size, void (*free_cb)(void *))'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdlist.c:68,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdlist.c:70,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdlist.c:74,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdlist.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 3
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: rd_list_init_copy
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_init
    - rd_list_cnt
    - rd_list_prealloc_elems
    linkageType: ''
    returnType: rd_list_t
    signature: rd_list_t *rd_list_init_copy(rd_list_t *dst, const rd_list_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdlist.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: rd_list_alloc
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_list_alloc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_alloc
      Src: /src/librdkafka/src/rdlist.c:85,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdlist.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - initial_size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: rd_list_new
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 3
    functionsReached:
    - rd_list_init
    - rd_list_alloc
    linkageType: ''
    returnType: rd_list_t
    signature: rd_list_t *rd_list_new(int initial_size, void (*free_cb)(void *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:100,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdlist.c:109,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdlist.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - rl
    - elemsize
    - cnt
    - memzero
    argTypes:
    - rd_list_t*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 127
    functionName: rd_list_prealloc_elems
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    - rd_assert
    - rd_calloc
    linkageType: ''
    returnType: void
    signature: "void rd_list_prealloc_elems(rd_list_t *rl,\n                            size_t
      elemsize,\n                            size_t cnt,\n                            int
      memzero)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:131,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - cnt
    argTypes:
    - rd_list_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: rd_list_set_cnt
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_list_set_cnt(rd_list_t *rl, size_t cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_t*::rl_free_cb
      Src: /src/librdkafka/src/rdlist.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rl
    - ptr
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: rd_list_free_cb
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_t*::rl_free_cb
    linkageType: ''
    returnType: void
    signature: void rd_list_free_cb(rd_list_t *rl, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdlist.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rl
    - elem
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: rd_list_add
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 5
    functionsReached:
    - rd_list_grow
    linkageType: ''
    returnType: void
    signature: void *rd_list_add(rd_list_t *rl, void *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdlist.c:155,1
    - Dst: memset
      Src: /src/librdkafka/src/rdlist.c:158,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - rl
    - idx
    - ptr
    argTypes:
    - rd_list_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: rd_list_set
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - memset
    - rd_assert
    - rd_list_grow
    linkageType: ''
    returnType: void
    signature: void rd_list_set(rd_list_t *rl, int idx, void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:172,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdlist.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - idx
    argTypes:
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: rd_list_remove_elem
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - memmove
    linkageType: ''
    returnType: void
    signature: void rd_list_remove_elem(rd_list_t *rl, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rl
    - match_elem
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 192
    functionName: rd_list_remove
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void *rd_list_remove(rd_list_t *rl, void *match_elem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, rl, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:202,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rl
    - match_elem
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: rd_list_remove_cmp
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - cmp
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: "void *rd_list_remove_cmp(rd_list_t *rl,\n                         void
      *match_elem,\n                         int (*cmp)(void *_a, void *_b))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:202,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - cmp
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, rl, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:222,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rl
    - match_elem
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: rd_list_remove_multi_cmp
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - cmp
    - rd_list_remove_elem
    linkageType: ''
    returnType: int
    signature: "int rd_list_remove_multi_cmp(rd_list_t *rl,\n                             void
      *match_elem,\n                             int (*cmp)(void *_a, void *_b))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:222,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: RD_LIST_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 2
    functionsReached:
    - cmp
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH_REVERSE(elem, rl, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: rd_list_pop
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void *rd_list_pop(rd_list_t *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cmp_curr
      Src: /src/librdkafka/src/rdlist.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: rd_list_cmp_trampoline
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_cmp_curr
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_list_cmp_trampoline(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdlist.c:264,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdlist.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: rd_list_sort
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - qsort
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_list_sort(rd_list_t *rl, int (*cmp)(const void *, const void
      *))
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_t*::rl_free_cb
      Src: /src/librdkafka/src/rdlist.c:283,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdlist.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 291
    functionName: rd_list_destroy_elems
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_t*::rl_free_cb
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_list_destroy_elems(rd_list_t *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy_elems
      Src: /src/librdkafka/src/rdlist.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: rd_list_clear
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy_elems
    linkageType: ''
    returnType: void
    signature: void rd_list_clear(rd_list_t *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy_elems
      Src: /src/librdkafka/src/rdlist.c:300,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdlist.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: rd_list_destroy
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 6
    functionsReached:
    - rd_free
    - rd_list_destroy_elems
    linkageType: ''
    returnType: void
    signature: void rd_list_destroy(rd_list_t *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdlist.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: rd_list_destroy_free
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_list_destroy_free(void *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdlist.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rl
    - idx
    argTypes:
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: rd_list_elem
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - likely
    linkageType: ''
    returnType: void
    signature: void *rd_list_elem(const rd_list_t *rl, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - match
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: rd_list_index
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: int
    signature: "int rd_list_index(const rd_list_t *rl,\n                  const void
      *match,\n                  int (*cmp)(const void *, const void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - cmp
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, rl, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/librdkafka/src/rdlist.c:339,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rl
    - match
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: rd_list_find
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - bsearch
    - cmp
    linkageType: ''
    returnType: void
    signature: "void *rd_list_find(const rd_list_t *rl,\n                   const
      void *match,\n                   int (*cmp)(const void *, const void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 348
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 4
    functionsReached:
    - cmp
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, rl, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: rd_list_first
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rd_list_first(const rd_list_t *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: rd_list_last
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rd_list_last(const rd_list_t *rl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:371,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: rd_list_find_duplicate
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - cmp
    linkageType: ''
    returnType: void
    signature: "void *rd_list_find_duplicate(const rd_list_t *rl,\n                             int
      (*cmp)(const void *, const void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdlist.c:383,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdlist.c:389,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdlist.c:391,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:392,1
    - Dst: rd_list_free_cb
      Src: /src/librdkafka/src/rdlist.c:394,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdlist.c:397,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdlist.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 407
    functionName: rd_list_deduplicate
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - rd_list_sort
    - cmp
    - rd_list_add
    - rd_list_destroy
    - rd_list_new
    - rd_list_free_cb
    - RD_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_list_deduplicate(rd_list_t **rl,\n                         int
      (*cmp)(const void *, const void *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdlist.c:414,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdlist.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 425
    functionName: rd_list_cmp
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 1
    functionsReached:
    - cmp
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: "int rd_list_cmp(const rd_list_t *a,\n                const rd_list_t
      *b,\n                int (*cmp)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdlist.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: rd_list_cmp_ptr
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_list_cmp_ptr(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdlist.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 437
    functionName: rd_list_cmp_str
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_list_cmp_str(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/librdkafka/src/rdlist.c:446,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rl
    - opaque
    argTypes:
    - rd_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 453
    functionName: rd_list_apply
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - cb
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: "void rd_list_apply(rd_list_t *rl,\n                   int (*cb)(void
      *elem, void *opaque),\n                   void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/librdkafka/src/rdlist.c:446,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdlist.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 5
    functionsReached:
    - cb
    - rd_list_remove_elem
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, rl, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: rd_list_nocopy_ptr
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rd_list_nocopy_ptr(const void *elem, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdlist.c:467,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdlist.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - src
    - copy_cb
    - opaque
    argTypes:
    - rd_list_t*
    - rd_list_copy_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 4
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: rd_list_copy
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 2
    functionsReached:
    - rd_list_copy_to
    - rd_list_new
    linkageType: ''
    returnType: rd_list_t
    signature: 'rd_list_t *

      rd_list_copy(const rd_list_t *src, rd_list_copy_cb_t *copy_cb, void *opaque)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:481,1
    - Dst: copy_cb
      Src: /src/librdkafka/src/rdlist.c:487,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdlist.c:489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - dst
    - src
    - (*copy_cb)(const void *elem, void *opaque)
    - opaque
    argTypes:
    - rd_list_t*
    - rd_list_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 491
    functionName: rd_list_copy_to
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 3
    functionsReached:
    - copy_cb
    - rd_assert
    - rd_list_add
    linkageType: ''
    returnType: void
    signature: "void rd_list_copy_to(rd_list_t *dst,\n                     const rd_list_t
      *src,\n                     void *(*copy_cb)(const void *elem, void *opaque),\n
      \                    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copy_cb
      Src: /src/librdkafka/src/rdlist.c:487,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdlist.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 3
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 5
    functionsReached:
    - copy_cb
    - rd_list_add
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, src, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:506,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdlist.c:508,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:511,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:512,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:513,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdlist.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 520
    functionName: rd_list_copy_preallocated0
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rd_assert
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_list_t
    signature: "rd_list_t *rd_list_copy_preallocated0(rd_list_t *dst,\n                                             const
      rd_list_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_copy_preallocated0
      Src: /src/librdkafka/src/rdlist.c:523,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdlist.c:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: rd_list_copy_preallocated
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_copy_preallocated0
    - rd_list_new
    linkageType: ''
    returnType: void
    signature: void *rd_list_copy_preallocated(const void *elem, void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdlist.c:530,1
    - Dst: rd_list_copy_preallocated0
      Src: /src/librdkafka/src/rdlist.c:533,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdlist.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: rd_list_move
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rd_list_copy_preallocated0
    - rd_list_init_copy
    linkageType: ''
    returnType: void
    signature: void rd_list_move(rd_list_t *dst, rd_list_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdlist.c:551,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdlist.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rl
    - max_size
    argTypes:
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: rd_list_init_int32
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_list_init
    - rd_list_prealloc_elems
    linkageType: ''
    returnType: rd_list_t
    signature: rd_list_t *rd_list_init_int32(rd_list_t *rl, int max_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:558,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:560,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdlist.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rl
    - idx
    - val
    argTypes:
    - rd_list_t*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: rd_list_set_int32
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_list_set_int32(rd_list_t *rl, int idx, int32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdlist.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rl
    - idx
    argTypes:
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 572
    functionName: rd_list_get_int32
    functionSourceFile: /src/librdkafka/src/rdlist.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_list_get_int32(const rd_list_t *rl, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkcg
    - ','
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: RD_KAFKA_CGRP_BROKER_IS_COORD
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_BROKER_IS_COORD(rkcg, rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: RD_KAFKA_CGRP_IS_STATIC_MEMBER
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_IS_STATIC_MEMBER(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 433
    functionName: rd_kafka_cgrp_get
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_cgrp_get(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk_cgrp
    - ','
    - cgrp_subscription_version
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: rd_kafka_cgrp_same_subscription_version
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "rd_kafka_cgrp_same_subscription_version(rk_cgrp,                       \\\n
      \                                               cgrp_subscription_version)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - protocol
    argTypes:
    - rd_kafka_rebalance_protocol_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 472
    functionName: rd_kafka_rebalance_protocol2str
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_rebalance_protocol2str(rd_kafka_rebalance_protocol_t protocol)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdrs
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: rd_kafka_headers_serialized_size
    functionSourceFile: /src/librdkafka/src/rdkafka_header.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_headers_serialized_size(const rd_kafka_headers_t
      *hdrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: rd_kafka_cgrp_assignment_is_lost
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_cgrp_assignment_is_lost(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:126,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:127,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_cgrp.c:128,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:130,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rkcg
    - fmt
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: rd_kafka_cgrp_assignment_set_lost
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_set
    - va_start
    - rd_vsnprintf
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_assignment_set_lost(rd_kafka_cgrp_t *rkcg, char
      *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:149,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:152,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:153,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_cgrp.c:154,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:156,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rkcg
    - fmt
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: rd_kafka_cgrp_assignment_clear_lost
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_atomic32_set
    - rd_atomic32_get
    - rd_vsnprintf
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_assignment_clear_lost(rd_kafka_cgrp_t *rkcg, char
      *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 186
    functionName: rd_kafka_cgrp_rebalance_protocol
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_rebalance_protocol_t
    signature: rd_kafka_rebalance_protocol_t rd_kafka_cgrp_rebalance_protocol(rd_kafka_cgrp_t
      *rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: rd_kafka_cgrp_awaiting_response
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_cgrp_awaiting_response(rd_kafka_cgrp_t *rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkcg
    - ApiKey
    argTypes:
    - rd_kafka_cgrp_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: rd_kafka_cgrp_set_wait_resp
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_set_wait_resp(rd_kafka_cgrp_t *rkcg, int16_t ApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkcg
    - ApiKey
    argTypes:
    - rd_kafka_cgrp_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: rd_kafka_cgrp_clear_wait_resp
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_clear_wait_resp(rd_kafka_cgrp_t *rkcg,\n                                          int16_t
      ApiKey)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: rd_kafka_cgrp_serve_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_serve_timer_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - member
    - members_match
    argTypes:
    - rd_kafka_group_member_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: PartitionMemberInfo_new
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: PartitionMemberInfo_t
    signature: "PartitionMemberInfo_t *\nPartitionMemberInfo_new(const rd_kafka_group_member_t
      *member,\n                        rd_bool_t members_match)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 258
    functionName: PartitionMemberInfo_free
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void PartitionMemberInfo_free(void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: RD_KAFKA_CGRP_HAS_JOINED_CLASSIC
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_HAS_JOINED_CLASSIC(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: RD_KAFKA_CGRP_HAS_JOINED_CONSUMER
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_HAS_JOINED_CONSUMER(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 287
    functionName: RD_KAFKA_CGRP_HAS_JOINED
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_HAS_JOINED(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 328
    functionName: RD_KAFKA_CGRP_REBALANCING
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_CGRP_REBALANCING(rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:358,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:361,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:366,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_cgrp.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rkcg
    - state
    argTypes:
    - rd_kafka_cgrp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 371
    functionName: rd_kafka_cgrp_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_brokers_broadcast_state_change
    - RD_KAFKAP_STR_PR
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_cgrp_set_state(rd_kafka_cgrp_t *rkcg, int state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkcg
    - rkcg_last_err
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: rd_kafka_cgrp_set_last_err
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_set_last_err(rd_kafka_cgrp_t *rkcg,\n                                       rd_kafka_resp_err_t
      rkcg_last_err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: rd_kafka_cgrp_clear_last_err
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_clear_last_err(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_clear_last_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 401
    functionName: rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_clear_last_err
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_maybe_clear_heartbeat_failed_err(rd_kafka_cgrp_t
      *rkcg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:411,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:414,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:415,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:417,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:420,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - rkcg
    - join_state
    argTypes:
    - rd_kafka_cgrp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 428
    functionName: rd_kafka_cgrp_set_join_state
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_clock
    - rd_avg_add
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_set_join_state(rd_kafka_cgrp_t *rkcg, int join_state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:432,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:433,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:434,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:435,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:436,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:437,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:438,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:440,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:443,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:445,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:447,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_cgrp.c:448,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_cgrp.c:449,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_cgrp.c:450,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:451,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:451,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:452,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_cgrp.c:452,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:453,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:454,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:455,1
    - Dst: rd_kafka_cgrp_t*::rkcg_assignor::rkas_destroy_state_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:458,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 431
    functionDepth: 3
    functionLinenumber: 431
    functionLinenumberEnd: 461
    functionName: rd_kafka_cgrp_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - TAILQ_EMPTY
    - rd_list_destroy
    - rd_kafka_cgrp_set_member_id
    - rd_kafkap_str_destroy
    - rd_kafka_q_destroy_owner
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_assert
    - rd_kafka_cgrp_t*::rkcg_assignor::rkas_destroy_state_cb
    - RD_IF_FREE
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_destroy_final(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rkcg
    - reset
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 479
    functionName: rd_kafka_cgrp_update_session_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_cgrp_update_session_timeout(rd_kafka_cgrp_t *rkcg,
      rd_bool_t reset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:488,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:498,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:501,1
    - Dst: rd_kafka_consume_q_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:504,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:506,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:508,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:510,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:511,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:514,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:516,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:517,1
    - Dst: rd_kafka_Uuid_random
      Src: /src/librdkafka/src/rdkafka_cgrp.c:520,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:521,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:522,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:524,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:528,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:529,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:530,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:531,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:532,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:533,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:534,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:535,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:536,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:540,1
    - Dst: rd_kafka_broker_add_logical
      Src: /src/librdkafka/src/rdkafka_cgrp.c:549,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 4
    argNames:
    - rk
    - group_protocol
    - group_id
    - client_id
    argTypes:
    - rd_kafka_t*
    - rd_kafka_group_protocol_t
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 559
    functionName: rd_kafka_cgrp_new
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_new
    - RD_KAFKAP_STR_LEN
    - rd_kafkap_str_copy
    - rd_kafkap_str_new
    - rd_interval_init
    - rd_kafka_Uuid_random
    - rd_atomic32_init
    - rd_kafka_cgrp_set_member_id
    - rd_calloc
    - rd_list_new
    - rd_kafka_Uuid_base64str
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consume_q_new
    - TAILQ_INIT
    - rd_kafka_timer_start
    - rd_list_init
    - rd_kafka_broker_add_logical
    linkageType: ''
    returnType: rd_kafka_cgrp_t
    signature: "rd_kafka_cgrp_t *rd_kafka_cgrp_new(rd_kafka_t *rk,\n                                   rd_kafka_group_protocol_t
      group_protocol,\n                                   const rd_kafkap_str_t *group_id,\n
      \                                  const rd_kafkap_str_t *client_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:568,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:570,1
    - Dst: RD_KAFKA_CGRP_BROKER_IS_COORD
      Src: /src/librdkafka/src/rdkafka_cgrp.c:570,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:573,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:575,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:577,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:578,1
    - Dst: rd_interval_disabled
      Src: /src/librdkafka/src/rdkafka_cgrp.c:582,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:583,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:585,1
    - Dst: rd_kafka_broker_persistent_connection_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:588,1
    - Dst: rd_kafka_broker_set_nodename
      Src: /src/librdkafka/src/rdkafka_cgrp.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - rkcg
    - rkb
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 595
    functionName: rd_kafka_cgrp_coord_set_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_interval_reset
    - rd_assert
    - rd_kafka_cgrp_set_state
    - RD_KAFKA_CGRP_BROKER_IS_COORD
    - rd_interval_disabled
    - rd_kafka_broker_set_nodename
    - rd_kafka_broker_persistent_connection_add
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_name
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_coord_set_broker(rd_kafka_cgrp_t *rkcg,\n                                           rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:604,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:605,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:607,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:608,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:610,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_cgrp.c:612,1
    - Dst: rd_kafka_broker_set_nodename
      Src: /src/librdkafka/src/rdkafka_cgrp.c:617,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 621
    functionName: rd_kafka_cgrp_coord_clear_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_broker_destroy
    - rd_kafka_broker_set_nodename
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_name
    - rd_kafka_broker_persistent_connection_del
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_coord_clear_broker(rd_kafka_cgrp_t *rkcg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:639,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:642,1
    - Dst: rd_kafka_cgrp_coord_clear_broker
      Src: /src/librdkafka/src/rdkafka_cgrp.c:650,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:652,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:661,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:668,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:669,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:670,1
    - Dst: rd_kafka_cgrp_coord_set_broker
      Src: /src/librdkafka/src/rdkafka_cgrp.c:680,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:681,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:687,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - rkcg
    - coord_id
    argTypes:
    - rd_kafka_cgrp_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 699
    functionName: rd_kafka_cgrp_coord_update
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_cgrp_set_state
    - rd_kafka_broker_destroy
    - rd_kafka_cgrp_coord_set_broker
    - rd_kafka_cgrp_coord_clear_broker
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_find_by_nodeid
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_cgrp_coord_update(rd_kafka_cgrp_t *rkcg, int32_t coord_id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:722,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:724,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:726,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:731,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:733,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:734,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:737,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:738,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:739,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:747,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:750,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:752,1
    - Dst: rd_kafka_broker_update
      Src: /src/librdkafka/src/rdkafka_cgrp.c:754,1
    - Dst: rd_kafka_cgrp_coord_update
      Src: /src/librdkafka/src/rdkafka_cgrp.c:756,1
    - Dst: rd_kafka_cgrp_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:757,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:766,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:768,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:770,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:771,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_cgrp.c:776,1
    - Dst: rd_kafka_cgrp_coord_update
      Src: /src/librdkafka/src/rdkafka_cgrp.c:795,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:800,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:801,1
    - Dst: rd_kafka_cgrp_set_last_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:806,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:812,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:817,1
    - Dst: rd_kafka_cgrp_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:820,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 821
    functionName: rd_kafka_cgrp_handle_FindCoordinator
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_broker_id
    - rd_kafka_cgrp_set_state
    - rd_kafka_buf_read_str
    - rd_interval_reset
    - rd_kafka_err2name
    - rd_kafka_cgrp_coord_update
    - rd_kafka_err2str
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_consumer_err
    - rd_kafka_broker_update
    - rd_kafka_buf_read_i16
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_cgrp_serve
    - rd_rkb_dbg
    - rd_kafka_cgrp_set_last_err
    - likely
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_FindCoordinator(rd_kafka_t *rk,\n                                                 rd_kafka_broker_t
      *rkb,\n                                                 rd_kafka_resp_err_t
      err,\n                                                 rd_kafka_buf_t *rkbuf,\n
      \                                                rd_kafka_buf_t *request,\n
      \                                                void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:834,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:841,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:842,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:845,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:849,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:851,1
    - Dst: rd_kafka_FindCoordinatorRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:853,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:855,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:859,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:862,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:863,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:864,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:869,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:871,1
    - Dst: rd_interval_reset_to_now_with_jitter
      Src: /src/librdkafka/src/rdkafka_cgrp.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rkcg
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 878
    functionName: rd_kafka_cgrp_coord_query
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_interval_reset
    - rd_kafka_cgrp_set_state
    - rd_kafka_broker_destroy
    - rd_kafka_err2str
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_any_usable
    - rd_kafka_FindCoordinatorRequest
    - rd_interval_reset_to_now_with_jitter
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_coord_query(rd_kafka_cgrp_t *rkcg, const char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:888,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:891,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:892,1
    - Dst: rd_kafka_cgrp_coord_update
      Src: /src/librdkafka/src/rdkafka_cgrp.c:894,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:897,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rkcg
    - err
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 885
    functionDepth: 4
    functionLinenumber: 885
    functionLinenumberEnd: 899
    functionName: rd_kafka_cgrp_coord_dead
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_coord_update
    - rd_kafka_cgrp_set_state
    - rd_kafka_err2str
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_coord_query
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_coord_dead(rd_kafka_cgrp_t *rkcg,\n                              rd_kafka_resp_err_t
      err,\n                              const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:913,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 916
    functionName: rd_kafka_cgrp_get_coord
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: rd_kafka_broker_t *rd_kafka_cgrp_get_coord(rd_kafka_cgrp_t *rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: rd_kafka_cgrp_will_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_cgrp_will_leave(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: rd_kafka_cgrp_consumer_will_rejoin
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_cgrp_consumer_will_rejoin(rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkcg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 931
    functionName: rd_kafka_cgrp_consumer_subscription_preconditions_met
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_cgrp_consumer_subscription_preconditions_met(rkcg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:941,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:942,1
    - Dst: rd_kafka_cgrp_subscription_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:948,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 955
    functionName: rd_kafka_cgrp_consumer_apply_next_subscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_topic_partition_list_destroy
    - unlikely
    - rd_kafka_cgrp_subscription_set
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_apply_next_subscribe(rd_kafka_cgrp_t *rkcg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:978,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:980,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:984,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:987,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:989,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:994,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_cgrp.c:994,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:996,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 1006
    functionName: rd_kafka_cgrp_handle_LeaveGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - thrd_is_current
    - rd_kafka_cgrp_try_terminate
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_LeaveGroup(rd_kafka_t *rk,\n                                            rd_kafka_broker_t
      *rkb,\n                                            rd_kafka_resp_err_t err,\n
      \                                           rd_kafka_buf_t *rkbuf,\n                                            rd_kafka_buf_t
      *request,\n                                            void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1013,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1014,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1017,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1028
    functionName: rd_kafka_cgrp_consumer_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_reset(rd_kafka_cgrp_t *rkcg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1051,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1053,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1057,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1061,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1063,1
    - Dst: rd_kafka_cgrp_consumer_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1068,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1071,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1071,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1081
    functionName: rd_kafka_cgrp_handle_ConsumerGroupHeartbeat_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - thrd_is_current
    - rd_kafka_cgrp_consumer_reset
    - rd_kafka_cgrp_try_terminate
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_ConsumerGroupHeartbeat_leave(rd_kafka_t
      *rk,\n                                                  rd_kafka_broker_t *rkb,\n
      \                                                 rd_kafka_resp_err_t err,\n
      \                                                 rd_kafka_buf_t *rkbuf,\n                                                  rd_kafka_buf_t
      *request,\n                                                  void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1087,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1090,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1095,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1097,1
    - Dst: RD_KAFKA_CGRP_IS_STATIC_MEMBER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1101,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1106,1
    - Dst: rd_kafka_ConsumerGroupHeartbeatRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1108,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1116,1
    - Dst: rd_kafka_cgrp_handle_ConsumerGroupHeartbeat_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1123
    functionName: rd_kafka_cgrp_consumer_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_handle_ConsumerGroupHeartbeat_leave
    - rd_kafka_ConsumerGroupHeartbeatRequest
    - RD_KAFKA_CGRP_IS_STATIC_MEMBER
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_leave(rd_kafka_cgrp_t *rkcg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1128,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1132,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1135,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1138,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1143,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1145,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1151,1
    - Dst: rd_kafka_LeaveGroupRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1153,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1155,1
    - Dst: rd_kafka_cgrp_handle_LeaveGroup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1125
    functionDepth: 2
    functionLinenumber: 1125
    functionLinenumberEnd: 1161
    functionName: rd_kafka_cgrp_leave
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_LeaveGroupRequest
    - rd_kafka_cgrp_set_member_id
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_handle_LeaveGroup
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_leave(rd_kafka_cgrp_t *rkcg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1178,1
    - Dst: rd_kafka_cgrp_consumer_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1182,1
    - Dst: RD_KAFKA_CGRP_IS_STATIC_MEMBER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1186,1
    - Dst: rd_kafka_cgrp_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1194
    functionName: rd_kafka_cgrp_leave_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_cgrp_consumer_leave
    - RD_KAFKA_CGRP_IS_STATIC_MEMBER
    - rd_kafka_cgrp_leave
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_cgrp_leave_maybe(rd_kafka_cgrp_t *rkcg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1220,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1221,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1223,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1225,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1226,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1228,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1231,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1235,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1244,1
    - Dst: rd_kafka_q_dest_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1252,1
    - Dst: rd_kafka_assignment_pause
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1260,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1263,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1266,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1268,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1271,1
    - Dst: rd_kafka_cgrp_incremental_assign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1288,1
    - Dst: rd_kafka_cgrp_incremental_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1290,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1293,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1301,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1302,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1304,1
    - Dst: rd_kafka_assignment_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1309,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1313,1
    - Dst: rd_kafka_cgrp_group_assignment_modify
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - rkcg
    - err
    - partitions
    - rejoin
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1209
    functionDepth: 3
    functionLinenumber: 1209
    functionLinenumberEnd: 1320
    functionName: rd_kafka_rebalance_op_incr
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_op_new
    - rd_kafka_cgrp_incremental_assign
    - rd_kafka_error_destroy
    - rd_kafka_fatal_error_code
    - rd_kafka_q_dest_name
    - rd_kafka_q_enq
    - rd_kafka_assignment_clear
    - rd_kafka_cgrp_group_assignment_modify
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_cgrp_incremental_unassign
    - rd_clock
    - rd_kafka_log
    - rd_kafka_wrunlock
    - rd_kafka_assignment_serve
    - rd_kafka_cgrp_unassign
    - rd_kafka_error_string
    - rd_kafka_assignment_pause
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_rebalance_op_incr(rd_kafka_cgrp_t *rkcg,\n                                rd_kafka_resp_err_t
      err,\n                                rd_kafka_topic_partition_list_t *partitions,\n
      \                               rd_bool_t rejoin,\n                                const
      char *reason)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1338,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1339,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1341,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1343,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1344,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1346,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1349,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1353,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1355,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1364,1
    - Dst: rd_kafka_q_dest_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1372,1
    - Dst: rd_kafka_assignment_pause
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1380,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1382,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1385,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1387,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1390,1
    - Dst: rd_kafka_cgrp_assign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1408,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1410,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1413,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1422,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1423,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1425,1
    - Dst: rd_kafka_assignment_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1430,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1434,1
    - Dst: rd_kafka_cgrp_group_assignment_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1438,1
    - Dst: rd_kafka_cgrp_group_assignment_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 4
    argNames:
    - rkcg
    - err
    - assignment
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1441
    functionName: rd_kafka_rebalance_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_cgrp_group_assignment_set
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_op_new
    - rd_kafka_error_destroy
    - rd_kafka_fatal_error_code
    - rd_kafka_q_dest_name
    - rd_kafka_q_enq
    - rd_kafka_assignment_clear
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_cgrp_assign
    - rd_clock
    - rd_kafka_log
    - rd_kafka_wrunlock
    - rd_kafka_assignment_serve
    - rd_kafka_cgrp_unassign
    - rd_kafka_error_string
    - rd_kafka_assignment_pause
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_rebalance_op(rd_kafka_cgrp_t *rkcg,\n                                  rd_kafka_resp_err_t
      err,\n                                  rd_kafka_topic_partition_list_t *assignment,\n
      \                                 const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1452,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1453,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1454,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1457,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1460,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1463,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1471,1
    - Dst: rd_kafka_cgrp_leave_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1482,1
    - Dst: rd_kafka_cgrp_consumer_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1483,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1484,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - rkcg
    - fmt
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1446
    functionDepth: 5
    functionLinenumber: 1446
    functionLinenumberEnd: 1486
    functionName: rd_kafka_cgrp_consumer_rejoin
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - va_start
    - rd_kafka_cgrp_set_join_state
    - rd_vsnprintf
    - rd_kafka_cgrp_leave_maybe
    - rd_kafka_cgrp_consumer_reset
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_rejoin(rd_kafka_cgrp_t *rkcg, const char
      *fmt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_consumer_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1502,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1506,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1507,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1508,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1511,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1514,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1517,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1525,1
    - Dst: rd_kafka_cgrp_leave_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1535,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rkcg
    - fmt
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1497
    functionDepth: 6
    functionLinenumber: 1497
    functionLinenumberEnd: 1539
    functionName: rd_kafka_cgrp_rejoin
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_rejoin
    - rd_snprintf
    - va_start
    - rd_kafka_cgrp_set_join_state
    - rd_vsnprintf
    - rd_kafka_cgrp_leave_maybe
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_rejoin(rd_kafka_cgrp_t *rkcg, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1559,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1561,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1574,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1576,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - members
    - member_cnt
    - par_cnt
    - collect_owned
    argTypes:
    - rd_kafka_group_member_t*
    - size_t
    - size_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1582
    functionName: rd_kafka_collect_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - PartitionMemberInfo_new
    - rd_calloc
    - RD_MAP_SET
    - RD_MAP_INIT
    - rd_kafka_topic_partition_copy
    linkageType: ''
    returnType: map_toppar_member_info_t
    signature: "map_toppar_member_info_t *\nrd_kafka_collect_partitions(const rd_kafka_group_member_t
      *members,\n                            size_t member_cnt,\n                            size_t
      par_cnt,\n                            rd_bool_t collect_owned)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1600,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1602,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1603,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1603,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1603,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1612,1
    - Dst: rd_kafka_group_member_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1619,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1621,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1621,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - map_toppar_member_info_t*
    - map_toppar_member_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1626
    functionName: rd_kafka_member_partitions_intersect
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_group_member_cmp
    - RD_MIN
    - RD_MAP_CNT
    - PartitionMemberInfo_new
    - rd_calloc
    - RD_MAP_SET
    - RD_MAP_INIT
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: map_toppar_member_info_t
    signature: "map_toppar_member_info_t *\nrd_kafka_member_partitions_intersect(map_toppar_member_info_t
      *a,\n                                     map_toppar_member_info_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1612,1
    - Dst: rd_kafka_group_member_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1619,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1621,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1621,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1610
    functionDepth: 2
    functionLinenumber: 1610
    functionLinenumberEnd: 1623
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_group_member_cmp
    - PartitionMemberInfo_new
    - RD_MAP_SET
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(key, a_v, a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1641,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1643,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1643,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1653,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1656,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1657,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - map_toppar_member_info_t*
    - map_toppar_member_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1635
    functionDepth: 2
    functionLinenumber: 1635
    functionLinenumberEnd: 1662
    functionName: rd_kafka_member_partitions_subtract
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - PartitionMemberInfo_new
    - RD_MAP_CNT
    - rd_calloc
    - RD_MAP_SET
    - RD_MAP_INIT
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: map_toppar_member_info_t
    signature: "map_toppar_member_info_t *\nrd_kafka_member_partitions_subtract(map_toppar_member_info_t
      *a,\n                                    map_toppar_member_info_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1653,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1656,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1657,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1659
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    - RD_MAP_SET
    - PartitionMemberInfo_new
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(key, a_v, a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_collect_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1693,1
    - Dst: rd_kafka_collect_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1696,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1699,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1702,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1703,1
    - Dst: rd_kafka_member_partitions_intersect
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1706,1
    - Dst: rd_kafka_member_partitions_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1709,1
    - Dst: rd_kafka_member_partitions_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1713,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1719,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1723,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1725,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1741,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1755,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1768,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1774,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1778,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1779,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1780,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1782,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1786,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1787,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1788,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1789,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - rkcg
    - members
    - member_cnt
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_group_member_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1669
    functionDepth: 3
    functionLinenumber: 1669
    functionLinenumberEnd: 1791
    functionName: rd_kafka_cooperative_protocol_adjust_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_MAP_CNT
    - rd_kafka_topic_partition_list_new
    - rd_kafka_member_partitions_intersect
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_member_partitions_subtract
    - RD_MAP_DESTROY_AND_FREE
    - rd_kafka_collect_partitions
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cooperative_protocol_adjust_assignment(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_group_member_t *members,\n    int member_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1741,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1747
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(toppar, pmi, maybe_revoking)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1759
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(toppar, pmi, ready_to_migrate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1772
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(toppar, pmi, unknown_but_owned)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1815,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1817,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1818,1
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1823,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1824,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1828,1
    - Dst: rd_kafka_broker_internal
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1830,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1832,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1836,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1839,1
    - Dst: rd_kafka_cgrp_update_session_timeout
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1842,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1844,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1847,1
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1849,1
    - Dst: rd_kafka_cgrp_t*::rkcg_assignor::rkas_on_assignment_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1853,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1856,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1860,1
    - Dst: rd_kafka_cgrp_handle_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1864,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1866,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1869,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1878,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1881,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1883,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1885,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1888,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1890,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1894,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1896,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1900,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1904,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1905,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 4
    argNames:
    - rkcg
    - rkb
    - err
    - member_state
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1797
    functionDepth: 7
    functionLinenumber: 1797
    functionLinenumberEnd: 1906
    functionName: rd_kafka_cgrp_handle_SyncGroup_memberstate
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_assert
    - rd_kafka_set_fatal_error
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_buf_read_topic_partitions
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_err2str
    - memset
    - rd_kafka_cgrp_t*::rkcg_assignor::rkas_on_assignment_cb
    - rd_kafka_broker_keep
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_topic_partition_list_new
    - rd_kafka_buf_read_i16
    - rd_kafka_consumer_group_metadata_new_with_genid
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_broker_internal
    - rd_kafka_buf_read_kbytes
    - rd_kafka_cgrp_handle_assignment
    - rd_kafka_cgrp_update_session_timeout
    - rd_kafka_buf_destroy
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_topic_partition_list_log
    - rd_kafka_buf_new_shadow
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_SyncGroup_memberstate(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_broker_t *rkb,\n    rd_kafka_resp_err_t err,\n    const
      rd_kafkap_bytes_t *member_state)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1926,1
    - Dst: rd_kafka_cgrp_clear_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1931,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1941,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1943,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1944,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1947,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1952,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1958,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1963,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1965,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1966,1
    - Dst: rd_kafka_cgrp_clear_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1968,1
    - Dst: rd_kafka_cgrp_handle_SyncGroup_memberstate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1973,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1913
    functionDepth: 8
    functionLinenumber: 1913
    functionLinenumberEnd: 1981
    functionName: rd_kafka_cgrp_handle_SyncGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_retry
    - rd_kafka_cgrp_op
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - rd_kafka_cgrp_clear_wait_resp
    - rd_kafka_err_action
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_cgrp_handle_SyncGroup_memberstate
    - rd_kafka_buf_read_kbytes
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_SyncGroup(rd_kafka_t *rk,\n                                           rd_kafka_broker_t
      *rkb,\n                                           rd_kafka_resp_err_t err,\n
      \                                          rd_kafka_buf_t *rkbuf,\n                                           rd_kafka_buf_t
      *request,\n                                           void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1996,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:1998,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2005,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2010,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2011,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2015,1
    - Dst: rd_kafka_cooperative_protocol_adjust_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2021,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2024,1
    - Dst: rd_kafka_cgrp_set_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2026,1
    - Dst: rd_kafka_SyncGroupRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2029,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2032,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2037,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 6
    argNames:
    - rkcg
    - rkas
    - err
    - metadata
    - members
    - member_cnt
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_assignor_t*
    - rd_kafka_resp_err_t
    - rd_kafka_metadata_internal_t*
    - rd_kafka_group_member_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 1987
    functionDepth: 7
    functionLinenumber: 1987
    functionLinenumberEnd: 2045
    functionName: rd_kafka_cgrp_assignor_run
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_SyncGroupRequest
    - rd_snprintf
    - rd_kafka_assignor_run
    - rd_kafka_err2str
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_cooperative_protocol_adjust_assignment
    - rd_kafka_cgrp_set_wait_resp
    - rd_kafka_cgrp_rejoin
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_assignor_run(rd_kafka_cgrp_t *rkcg,\n                                       rd_kafka_assignor_t
      *rkas,\n                                       rd_kafka_resp_err_t err,\n                                       rd_kafka_metadata_internal_t
      *metadata,\n                                       rd_kafka_group_member_t *members,\n
      \                                      int member_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2065,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2068,1
    - Dst: rd_kafka_cgrp_assignor_run
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2052
    functionDepth: 8
    functionLinenumber: 2052
    functionLinenumberEnd: 2078
    functionName: rd_kafka_cgrp_assignor_handle_Metadata_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_assignor_run
    - RD_KAFKAP_STR_PR
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_cgrp_assignor_handle_Metadata_op(rd_kafka_t
      *rk,\n                                          rd_kafka_q_t *rkq,\n                                          rd_kafka_op_t
      *rko)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2102,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2103,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2109,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2112,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2113,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2119,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2124,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2125,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2126,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2130,1
    - Dst: rd_kafkap_bytes_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2131,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2137,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2142,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2147,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2148,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2151,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2160,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2162,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2163,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2165,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - rkb
    - rkgm
    - MemberMetadata
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_group_member_t*
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2089
    functionDepth: 1
    functionLinenumber: 2089
    functionLinenumberEnd: 2171
    functionName: rd_kafka_group_MemberMetadata_consumer_read
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - RD_KAFKAP_STR_DUPA
    - rd_kafkap_str_copy
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_destroy
    - rd_kafka_topic_partition_list_new
    - rd_rkb_dbg
    - rd_kafka_buf_read_i16
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_add
    - rd_kafka_buf_new_shadow
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafkap_bytes_copy
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_kbytes
    - rd_kafka_buf_read_topic_partitions
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_group_MemberMetadata_consumer_read(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafka_group_member_t *rkgm,\n    const rd_kafkap_bytes_t *MemberMetadata)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_clear_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2197,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2204,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2218,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2220,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2221,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2222,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2223,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2224,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2225,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2227,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2233,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2234,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2237,1
    - Dst: rd_kafka_cgrp_t*::rkcg_assignor::rkas_destroy_state_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2244,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2254,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2260,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2261,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2262,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2263,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2266,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2267,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2271,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2272,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2274,1
    - Dst: rd_interval_backoff
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2276,1
    - Dst: rd_kafka_cgrp_t*::rkcg_assignor::rkas_destroy_state_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2283,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2296,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2306,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2308,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2317,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2319,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2320,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2323,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2325,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2326,1
    - Dst: rd_kafka_group_MemberMetadata_consumer_read
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2329,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2336,1
    - Dst: rd_kafka_topic_partition_list_get_topic_names
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2338,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2342,1
    - Dst: rd_kafka_cgrp_group_leader_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2351,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2354,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2358,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2365,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2368,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2370,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2388,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2391,1
    - Dst: rd_kafka_cgrp_set_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2394,1
    - Dst: rd_kafka_SyncGroupRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2396,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2399,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2404,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2418,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2430,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2432,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2436,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2437,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2440,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2443,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2450,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2451,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2453,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2456,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2460,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2465,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2466,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2180
    functionDepth: 7
    functionLinenumber: 2180
    functionLinenumberEnd: 2474
    functionName: rd_kafka_cgrp_handle_JoinGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafkap_str_cmp
    - rd_kafka_broker_id
    - rd_kafka_cgrp_group_leader_reset
    - rd_kafka_set_fatal_error
    - rd_kafka_cgrp_set_wait_resp
    - rd_kafka_cgrp_t*::rkcg_assignor::rkas_destroy_state_cb
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_topic_partition_list_get_topic_names
    - rd_interval_reset
    - rd_kafka_op_set_replyq
    - rd_list_destroy
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_err2str
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKA_REPLYQ
    - RD_KAFKAP_STR_LEN
    - rd_kafka_SyncGroupRequest
    - rd_kafka_consumer_err
    - rd_kafka_MetadataRequest
    - rd_kafka_cgrp_op
    - rd_calloc
    - rd_interval_backoff
    - rd_kafka_topic_partition_list_new
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_buf_read_i16
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_kbytes
    - rd_kafkap_str_copy
    - rd_kafka_assignor_find
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_cgrp_clear_wait_resp
    - rd_kafka_op_new_cb
    - rd_kafka_assert
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_cgrp_rejoin
    - rd_kafka_group_MemberMetadata_consumer_read
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_JoinGroup(rd_kafka_t *rk,\n                                           rd_kafka_broker_t
      *rkb,\n                                           rd_kafka_resp_err_t err,\n
      \                                          rd_kafka_buf_t *rkbuf,\n                                           rd_kafka_buf_t
      *request,\n                                           void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2488,1
    - Dst: rd_kafka_cgrp_metadata_update_check
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2480
    functionDepth: 1
    functionLinenumber: 2480
    functionLinenumberEnd: 2494
    functionName: rd_kafka_cgrp_handle_Metadata_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_cgrp_metadata_update_check
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_cgrp_handle_Metadata_op(rd_kafka_t *rk,\n
      \                                                         rd_kafka_q_t *rkq,\n
      \                                                         rd_kafka_op_t *rko)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2515,1
    - Dst: rd_kafka_metadata_cache_hint_rktparlist
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2518,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2528,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2534,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2539,1
    - Dst: rd_kafka_topic_partition_list_get_topic_names
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2547,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2550,1
    - Dst: rd_kafka_metadata_cache_topics_count_exists
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2551,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2553,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2555,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2556,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2561,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2565,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2568,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2573,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2575,1
    - Dst: rd_kafka_metadata_request
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2577,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2585,1
    - Dst: rd_kafka_metadata_cache_hint
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2586,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2588,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2590,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2593,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2594,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - rkcg
    - metadata_agep
    - cgrp_subscription_version
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - int*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2600
    functionName: rd_kafka_cgrp_metadata_refresh
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_metadata_cache_hint
    - rd_list_cnt
    - rd_kafka_wrlock
    - rd_kafka_op_set_replyq
    - rd_kafka_wrunlock
    - rd_list_destroy
    - rd_kafka_op_destroy
    - rd_kafka_metadata_request
    - rd_kafka_err2str
    - rd_kafka_metadata_cache_hint_rktparlist
    - rd_kafka_op_new_cb
    - rd_list_init
    - rd_kafka_metadata_cache_topics_count_exists
    - rd_clock
    - rd_kafka_topic_partition_list_get_topic_names
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_cgrp_metadata_refresh(rd_kafka_cgrp_t *rkcg,\n                                          int
      *metadata_agep,\n                                          int32_t cgrp_subscription_version,\n
      \                                         const char *reason)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_awaiting_response
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2610,1
    - Dst: rd_kafka_max_poll_exceeded
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2616,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2621,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2623,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2624,1
    - Dst: rd_kafka_cgrp_metadata_refresh
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2640,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2643,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2648,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2650,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2655,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2660,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2665,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2669,1
    - Dst: rd_kafka_cgrp_metadata_update_check
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2670,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2673,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2674,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2679,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2685,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2689,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2690,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2691,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2695,1
    - Dst: rd_kafka_cgrp_set_wait_resp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2697,1
    - Dst: rd_kafka_JoinGroupRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2699,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2703,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - rkcg
    - cgrp_subscription_version
    argTypes:
    - rd_kafka_cgrp_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2604
    functionDepth: 4
    functionLinenumber: 2604
    functionLinenumberEnd: 2705
    functionName: rd_kafka_cgrp_join
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_metadata_update_check
    - rd_assert
    - rd_list_empty
    - rd_list_cnt
    - rd_kafka_cgrp_metadata_refresh
    - RD_KAFKAP_STR_LEN
    - RD_KAFKA_REPLYQ
    - rd_kafka_cgrp_set_join_state
    - rd_rkb_dbg
    - rd_kafka_cgrp_awaiting_response
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_set_wait_resp
    - rd_kafka_JoinGroupRequest
    - rd_kafka_max_poll_exceeded
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_join(rd_kafka_cgrp_t *rkcg,\n                               int32_t
      cgrp_subscription_version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_group_leader_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2715,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2717,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2721,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkcg
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2728
      start: 2710
    functionDepth: 1
    functionLinenumber: 2710
    functionLinenumberEnd: 2728
    functionName: rd_kafka_cgrp_revoke_rejoin
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_cgrp_group_leader_reset
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_revoke_rejoin(rd_kafka_cgrp_t *rkcg,\n                                        const
      char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2747,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2748,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2751,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2752,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2753,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2756,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2757,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2761,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2765,1
    - Dst: rd_list_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2768,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2771,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2775,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2779,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2780,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2780,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2782,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2783,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - rkcg
    - tinfos
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2792
      start: 2741
    functionDepth: 4
    functionLinenumber: 2741
    functionLinenumberEnd: 2792
    functionName: rd_kafka_cgrp_update_subscribed_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - rd_list_empty
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - RD_LIST_FOREACH
    - RD_KAFKAP_STR_PR
    - rd_list_cmp
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_cgrp_update_subscribed_topics(rd_kafka_cgrp_t *rkcg,\n
      \                                                       rd_list_t *tinfos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2819,1
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkcg
    - new_target_assignment
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2814
    functionDepth: 1
    functionLinenumber: 2814
    functionLinenumberEnd: 2828
    functionName: rd_kafka_cgrp_consumer_is_new_assignment_different
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_cmp
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_cgrp_consumer_is_new_assignment_different(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_topic_partition_list_t *new_target_assignment)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2838,1
    - Dst: rd_kafka_cgrp_consumer_is_new_assignment_different
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2845,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2853,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2858,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2870,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2874,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2877,1
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2882,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2885,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2890,1
    - Dst: rd_kafka_cgrp_handle_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - rkcg
    - new_target_assignment
    - clear_next_assignment
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2830
    functionDepth: 2
    functionLinenumber: 2830
    functionLinenumberEnd: 2904
    functionName: rd_kafka_cgrp_consumer_handle_next_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_is_new_assignment_different
    - rd_kafka_cgrp_handle_assignment
    - rd_kafka_topic_partition_list_str
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_is_dbg
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_cgrp_consumer_handle_next_assignment(\n
      \   rd_kafka_cgrp_t *rkcg,\n    rd_kafka_topic_partition_list_t *new_target_assignment,\n
      \   rd_bool_t clear_next_assignment)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2914,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2920,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2923,1
    - Dst: rd_kafka_metadata_cache_find_by_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2925,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2928,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2929,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2931,1
    - Dst: rd_kafka_topic_partition_list_find_topic_by_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2932,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2935,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2938,1
    - Dst: rd_kafka_topic_partition_list_add_with_topic_name_and_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2939,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2942,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2947,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2949,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2950,1
    - Dst: rd_kafka_Uuid_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2951,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2953,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2957,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2960,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - rkcg
    - assignment
    - missing_topic_ids
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2906
    functionDepth: 5
    functionLinenumber: 2906
    functionLinenumberEnd: 2963
    functionName: rd_kafka_cgrp_consumer_assignment_with_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_find_topic_by_id
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_free
    - rd_list_add
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_Uuid_copy
    - rd_list_new
    - rd_kafka_topic_partition_list_new
    - rd_kafka_Uuid_base64str
    - rd_list_deduplicate
    - rd_kafka_topic_partition_list_add_with_topic_name_and_id
    - rd_kafka_metadata_cache_find_by_id
    - rd_strdup
    - likely
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_cgrp_consumer_assignment_with_metadata(\n
      \   rd_kafka_cgrp_t *rkcg,\n    rd_kafka_topic_partition_list_t *assignment,\n
      \   rd_list_t **missing_topic_ids)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_consumer_assignment_with_metadata
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2984,1
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2993,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:2996,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3000,1
    - Dst: rd_kafka_cgrp_consumer_handle_next_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3009,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3011,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2968
    functionDepth: 6
    functionLinenumber: 2968
    functionLinenumberEnd: 3013
    functionName: rd_kafka_cgrp_consumer_handle_Metadata_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_str
    - rd_kafka_cgrp_consumer_handle_next_assignment
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_is_dbg
    - rd_kafka_cgrp_consumer_assignment_with_metadata
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_cgrp_consumer_handle_Metadata_op(rd_kafka_t
      *rk,\n                                          rd_kafka_q_t *rkq,\n                                          rd_kafka_op_t
      *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3024,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3027,1
    - Dst: rd_kafka_cgrp_consumer_handle_next_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3028,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3030,1
    - Dst: rd_kafka_cgrp_consumer_assignment_with_metadata
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3036,1
    - Dst: rd_kafka_cgrp_consumer_handle_next_assignment
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3041,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3043,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3046,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3049,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3051,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3052,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3015
    functionDepth: 6
    functionLinenumber: 3015
    functionLinenumberEnd: 3057
    functionName: rd_kafka_cgrp_consumer_next_target_assignment_request_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_set_replyq
    - rd_kafka_MetadataRequest
    - rd_list_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_cgrp_consumer_handle_next_assignment
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_op_new_cb
    - rd_kafka_cgrp_consumer_assignment_with_metadata
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_consumer_next_target_assignment_request_metadata(\n
      \   rd_kafka_t *rk,\n    rd_kafka_broker_t *rkb)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3080,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3085,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3087,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3088,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3095,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3096,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3097,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3100,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3103,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3106,1
    - Dst: rd_kafka_cgrp_will_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3108,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3113,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3119,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3125,1
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3129,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3133,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3139,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3146,1
    - Dst: rd_kafka_cgrp_consumer_is_new_assignment_different
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3149,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3154,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3167,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3170,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3172,1
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3178,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3181,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3186,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3196,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3206,1
    - Dst: rd_kafka_cgrp_consumer_next_target_assignment_request_metadata
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3213,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3218,1
    - Dst: rd_kafka_cgrp_consumer_subscription_preconditions_met
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3224,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3225,1
    - Dst: rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3233,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3253,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3259,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3261,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3268,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3274,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3276,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3283,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3286,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3301,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3312,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3315,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3316,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3334,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3334,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3340,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3344,1
    - Dst: rd_kafka_cgrp_set_last_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3346,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3347,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3348,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3351,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3352,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3353,1
    - Dst: rd_kafka_cgrp_will_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3359,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3360,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 147
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3062
    functionDepth: 7
    functionLinenumber: 3062
    functionLinenumberEnd: 3364
    functionName: rd_kafka_cgrp_handle_ConsumerGroupHeartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_id
    - RD_MAX
    - rd_kafka_buf_read_i8
    - rd_kafka_set_fatal_error
    - rd_kafka_cgrp_coord_query
    - rd_kafka_buf_read_topic_partitions
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_err2str
    - rd_kafka_cgrp_will_leave
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_consumer_err
    - rd_kafka_buf_retry
    - rd_kafka_buf_read_i16
    - rd_dassert
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_buf_read_i32
    - rd_clock
    - rd_kafka_cgrp_consumer_is_new_assignment_different
    - rd_kafka_cgrp_consumer_next_target_assignment_request_metadata
    - rd_kafka_topic_partition_list_str
    - rd_kafka_assignment_serve
    - rd_kafka_cgrp_consumer_subscription_preconditions_met
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - rd_kafka_cgrp_set_last_err
    - rd_kafka_is_dbg
    - rd_kafka_broker_name
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_ConsumerGroupHeartbeat(rd_kafka_t *rk,\n
      \                                                rd_kafka_broker_t *rkb,\n                                                 rd_kafka_resp_err_t
      err,\n                                                 rd_kafka_buf_t *rkbuf,\n
      \                                                rd_kafka_buf_t *request,\n
      \                                                void *opaque)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3384,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3393,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3395,1
    - Dst: rd_kafka_cgrp_update_session_timeout
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3401,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3411,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3419,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3422,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3438,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3443,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3445,1
    - Dst: rd_kafka_cgrp_update_session_timeout
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3451,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3454,1
    - Dst: rd_kafka_cgrp_group_is_rebalancing
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3456,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3460,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3461,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3468,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3474,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3476,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3477,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3485,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3493,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3493,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3497,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3370
    functionDepth: 3
    functionLinenumber: 3370
    functionLinenumberEnd: 3502
    functionName: rd_kafka_cgrp_handle_Heartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_update_session_timeout
    - rd_kafka_buf_retry
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_cgrp_group_is_rebalancing
    - rd_kafka_err2str
    - rd_kafka_set_fatal_error
    - rd_kafka_buf_read_i16
    - rd_dassert
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - rd_kafka_err_action
    - rd_kafka_broker_name
    - rd_kafka_cgrp_coord_query
    - rd_kafka_buf_read_throttle_time
    - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_Heartbeat(rd_kafka_t *rk,\n                                    rd_kafka_broker_t
      *rkb,\n                                    rd_kafka_resp_err_t err,\n                                    rd_kafka_buf_t
      *rkbuf,\n                                    rd_kafka_buf_t *request,\n                                    void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_HeartbeatRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3519,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3509
    functionDepth: 1
    functionLinenumber: 3509
    functionLinenumberEnd: 3524
    functionName: rd_kafka_cgrp_heartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_REPLYQ
    - rd_kafka_HeartbeatRequest
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_heartbeat(rd_kafka_cgrp_t *rkcg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3530,1
    - Dst: rd_kafka_cgrp_group_assignment_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3534,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3536,1
    - Dst: rd_kafka_assignment_in_progress
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3536,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3537,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3538,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3539,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3541,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3544,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3553,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3554,1
    - Dst: rd_kafka_cgrp_coord_clear_broker
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3557,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3560,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3564,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3570,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3576,1
    - Dst: rd_kafka_cgrp_consumer_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 3529
    functionDepth: 2
    functionLinenumber: 3529
    functionLinenumberEnd: 3580
    functionName: rd_kafka_cgrp_terminated
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_fwd_set
    - rd_kafka_broker_destroy
    - rd_kafka_q_disable
    - rd_atomic32_set
    - rd_kafka_cgrp_coord_clear_broker
    - rd_atomic32_get
    - rd_kafka_replyq_enq
    - rd_kafka_cgrp_group_assignment_set
    - rd_kafka_cgrp_consumer_reset
    - rd_kafka_timer_stop
    - rd_kafka_assert
    - rd_kafka_q_purge
    - rd_kafka_assignment_in_progress
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_terminated(rd_kafka_cgrp_t *rkcg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3593,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3601,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3604,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3605,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3609,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3610,1
    - Dst: rd_kafka_q_concat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3611,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3614,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3618,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3619,1
    - Dst: rd_kafka_assignment_in_progress
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3620,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3629,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3633,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3641,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3642,1
    - Dst: rd_kafka_assignment_in_progress
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3643,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3588
    functionDepth: 2
    functionLinenumber: 3588
    functionLinenumberEnd: 3658
    functionName: rd_kafka_cgrp_try_terminate
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_len
    - likely
    - rd_list_empty
    - rd_kafka_q_concat
    - rd_kafka_cgrp_set_state
    - rd_list_cnt
    - rd_kafka_q_disable
    - rd_kafka_assignment_in_progress
    - rd_kafka_q_purge
    - rd_clock
    - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    - rd_kafka_dbg
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_cgrp_try_terminate(rd_kafka_cgrp_t *rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3668,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3673,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3674,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3676,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3678,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rkcg
    - rktp
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3666
    functionDepth: 3
    functionLinenumber: 3666
    functionLinenumberEnd: 3680
    functionName: rd_kafka_cgrp_partition_add
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_list_add
    - rd_kafka_toppar_keep
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_partition_add(rd_kafka_cgrp_t *rkcg,\n                                        rd_kafka_toppar_t
      *rktp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3689,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3694,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3695,1
    - Dst: rd_kafka_toppar_purge_internal_fetch_queue_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3698,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3700,1
    - Dst: rd_list_remove
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3702,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3704,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - rkcg
    - rktp
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3707
      start: 3687
    functionDepth: 3
    functionLinenumber: 3687
    functionLinenumberEnd: 3707
    functionName: rd_kafka_cgrp_partition_del
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_list_remove
    - rd_kafka_toppar_purge_internal_fetch_queue_maybe
    - rd_kafka_cgrp_try_terminate
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_partition_del(rd_kafka_cgrp_t *rkcg,\n                                        rd_kafka_toppar_t
      *rktp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_ready
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3723,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3726,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3734,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3744,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rkcg
    - rko
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3749
    functionName: rd_kafka_cgrp_defer_offset_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_broker_name
    - rd_clock
    - rd_kafka_q_ready
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_cgrp_defer_offset_commit(rd_kafka_cgrp_t *rkcg,\n                                             rd_kafka_op_t
      *rko,\n                                             const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3763,1
    - Dst: rd_kafka_q_ready
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3764,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3767,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3778,1
    - Dst: rd_kafka_topic_partition_list_set_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3783,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rkcg
    - rko
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3757
    functionDepth: 1
    functionLinenumber: 3757
    functionLinenumberEnd: 3789
    functionName: rd_kafka_cgrp_consumer_defer_offset_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_set_err
    - rd_clock
    - rd_kafka_q_ready
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_cgrp_consumer_defer_offset_commit(rd_kafka_cgrp_t *rkcg,\n
      \                                                     rd_kafka_op_t *rko,\n
      \                                                     const char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3811,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3820,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3829,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3835,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3840,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3842,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3843,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3845,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - rkcg
    - err
    - offsets
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3849
      start: 3797
    functionDepth: 1
    functionLinenumber: 3797
    functionLinenumberEnd: 3849
    functionName: rd_kafka_cgrp_update_committed_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_err2str
    - rd_kafka_topic_partition_get_toppar
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_cgrp_update_committed_offsets(\n    rd_kafka_cgrp_t *rkcg,\n
      \   rd_kafka_resp_err_t err,\n    rd_kafka_topic_partition_list_t *offsets)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3874,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3876,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3880,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3886,1
    - Dst: rd_kafka_op_new_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3893,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3895,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3901,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3904,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3906,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3917,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3924,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3932,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - rkcg
    - rko_orig
    - err
    - errcnt
    - offsets
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    - int
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3861
    functionDepth: 1
    functionLinenumber: 3861
    functionLinenumberEnd: 3935
    functionName: rd_kafka_cgrp_propagate_commit_result
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_str
    - rd_kafka_err2str
    - rd_kafka_replyq_enq
    - rd_kafka_op_set_prio
    - rd_kafka_op_new_reply
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_propagate_commit_result(\n    rd_kafka_cgrp_t *rkcg,\n
      \   rd_kafka_op_t *rko_orig,\n    rd_kafka_resp_err_t err,\n    int errcnt,\n
      \   rd_kafka_topic_partition_list_t *offsets)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OP_TYPE_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3957,1
    - Dst: rd_kafka_handle_OffsetCommit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3959,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3966,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3974,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3976,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3985,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3995,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:3999,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4000,1
    - Dst: RD_KAFKA_CGRP_REBALANCING
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4011,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4015,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4026,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4028,1
    - Dst: rd_kafka_cgrp_consumer_defer_offset_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4034,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4035,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4046,1
    - Dst: rd_kafka_cgrp_defer_offset_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4048,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4049,1
    - Dst: rd_kafka_interceptors_on_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4060,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4063,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4067,1
    - Dst: rd_kafka_cgrp_update_committed_offsets
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4075,1
    - Dst: rd_kafka_cgrp_propagate_commit_result
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4083,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4087,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4092,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 3945
    functionDepth: 2
    functionLinenumber: 3945
    functionLinenumberEnd: 4093
    functionName: rd_kafka_cgrp_op_handle_OffsetCommit
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_propagate_commit_result
    - rd_kafka_cgrp_update_committed_offsets
    - rd_kafka_cgrp_consumer_defer_offset_commit
    - RD_KAFKA_OP_TYPE_ASSERT
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_assignment_serve
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - rd_strcmp
    - rd_kafka_handle_OffsetCommit
    - rd_kafka_cgrp_defer_offset_commit
    - RD_KAFKA_CGRP_REBALANCING
    - rd_kafka_assert
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_interceptors_on_commit
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_op_handle_OffsetCommit(rd_kafka_t *rk,\n                                                 rd_kafka_broker_t
      *rkb,\n                                                 rd_kafka_resp_err_t
      err,\n                                                 rd_kafka_buf_t *rkbuf,\n
      \                                                rd_kafka_buf_t *request,\n
      \                                                void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktpar
    - opaque
    argTypes:
    - rd_kafka_topic_partition_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4100
      start: 4096
    functionDepth: 0
    functionLinenumber: 4096
    functionLinenumberEnd: 4100
    functionName: rd_kafka_topic_partition_has_absolute_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_topic_partition_has_absolute_offset(\n    const rd_kafka_topic_partition_t
      *rktpar,\n    void *opaque)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_assignment_is_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4140,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4147,1
    - Dst: rd_kafka_topic_partition_list_set_offsets
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4156,1
    - Dst: rd_kafka_topic_partition_list_sum
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4162,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4167,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4180,1
    - Dst: rd_kafka_cgrp_defer_offset_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4188,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4196,1
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4203,1
    - Dst: rd_kafka_OffsetCommitRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4209,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4210,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4213,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4216,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4222,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4224,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4231,1
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4236,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4241,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - rkcg
    - rko
    - set_offsets
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4242
      start: 4118
    functionDepth: 2
    functionLinenumber: 4118
    functionLinenumberEnd: 4242
    functionName: rd_kafka_cgrp_offsets_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_sum
    - rd_kafka_cgrp_assignment_is_lost
    - rd_kafka_OffsetCommitRequest
    - RD_KAFKA_REPLYQ
    - rd_kafka_q_enq
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_op_new
    - rd_kafka_topic_partition_list_set_offsets
    - rd_kafka_cgrp_defer_offset_commit
    - rd_kafka_fatal_error_code
    - rd_kafka_consumer_group_metadata_new_with_genid
    - rd_kafka_assert
    - rd_kafka_buf_new
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_offsets_commit(rd_kafka_cgrp_t *rkcg,\n                                         rd_kafka_op_t
      *rko,\n                                         rd_bool_t set_offsets,\n                                         const
      char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_assignment_is_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4261,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4262,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4269,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4270,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4274,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4282,1
    - Dst: rd_kafka_cgrp_offsets_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - rkcg
    - offsets
    - set_offsets
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4254
    functionDepth: 3
    functionLinenumber: 4254
    functionLinenumberEnd: 4285
    functionName: rd_kafka_cgrp_assigned_offsets_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_offsets_commit
    - rd_kafka_cgrp_assignment_is_lost
    - rd_kafka_op_set_replyq
    - rd_kafka_op_new
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_assigned_offsets_commit(\n    rd_kafka_cgrp_t *rkcg,\n
      \   const rd_kafka_topic_partition_list_t *offsets,\n    rd_bool_t set_offsets,\n
      \   const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_assigned_offsets_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4307
      start: 4295
    functionDepth: 4
    functionLinenumber: 4295
    functionLinenumberEnd: 4307
    functionName: rd_kafka_cgrp_offset_commit_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_assigned_offsets_commit
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_offset_commit_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                              void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4322,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4328
      start: 4317
    functionDepth: 7
    functionLinenumber: 4317
    functionLinenumberEnd: 4328
    functionName: rd_kafka_trigger_waiting_subscribe_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_interval_reset
    - rd_kafka_cgrp_rejoin
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_trigger_waiting_subscribe_maybe(rd_kafka_cgrp_t
      *rkcg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4342
      start: 4330
    functionDepth: 1
    functionLinenumber: 4330
    functionLinenumberEnd: 4342
    functionName: rd_kafka_cgrp_start_max_poll_interval_timer
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_start
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_start_max_poll_interval_timer(rd_kafka_cgrp_t *rkcg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4355,1
    - Dst: rd_kafka_assignment_resume
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4361,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4363,1
    - Dst: rd_kafka_cgrp_start_max_poll_interval_timer
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4366,1
    - Dst: rd_kafka_cgrp_assignment_clear_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rkcg
    - partitions
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4374
      start: 4350
    functionDepth: 3
    functionLinenumber: 4350
    functionLinenumberEnd: 4374
    functionName: rd_kafka_cgrp_incremental_assign
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_start_max_poll_interval_timer
    - rd_kafka_cgrp_assignment_clear_lost
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_assignment_add
    - rd_kafka_assignment_resume
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_cgrp_incremental_assign(rd_kafka_cgrp_t
      *rkcg,\n                                 rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4393,1
    - Dst: rd_kafka_assignment_resume
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4399,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4401,1
    - Dst: rd_kafka_cgrp_assignment_clear_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rkcg
    - partitions
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4388
    functionDepth: 3
    functionLinenumber: 4388
    functionLinenumberEnd: 4410
    functionName: rd_kafka_cgrp_incremental_unassign
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_cgrp_assignment_clear_lost
    - rd_kafka_assignment_subtract
    - rd_kafka_assignment_resume
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_cgrp_incremental_unassign(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4422,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4426,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4442,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4448,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4464,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4466,1
    - Dst: rd_kafka_trigger_waiting_subscribe_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4468,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4474
      start: 4417
    functionDepth: 8
    functionLinenumber: 4417
    functionLinenumberEnd: 4474
    functionName: rd_kafka_cgrp_incr_unassign_done
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_interval_reset
    - rd_kafka_trigger_waiting_subscribe_maybe
    - rd_kafka_cgrp_unassign
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_dbg
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_cgrp_rejoin
    - rd_kafka_rebalance_op_incr
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_incr_unassign_done(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4482,1
    - Dst: rd_kafka_cgrp_leave_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4490,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4499,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4481
    functionDepth: 7
    functionLinenumber: 4481
    functionLinenumberEnd: 4502
    functionName: rd_kafka_cgrp_unassign_done
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_interval_reset
    - rd_kafka_cgrp_leave_maybe
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_unassign_done(rd_kafka_cgrp_t *rkcg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_consumer_assignment_done
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4516,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4520,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4526,1
    - Dst: rd_kafka_cgrp_unassign_done
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4530,1
    - Dst: rd_kafka_cgrp_incr_unassign_done
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4534,1
    - Dst: rd_kafka_trigger_waiting_subscribe_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4539,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4546,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4548,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4562,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4568
      start: 4514
    functionDepth: 9
    functionLinenumber: 4514
    functionLinenumberEnd: 4568
    functionName: rd_kafka_cgrp_assignment_done
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_assignment_done
    - rd_interval_reset
    - rd_kafka_trigger_waiting_subscribe_maybe
    - rd_kafka_cgrp_unassign_done
    - rd_kafka_cgrp_try_terminate
    - RD_STR_ToF
    - rd_kafka_cgrp_incr_unassign_done
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_assignment_done(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4577,1
    - Dst: rd_kafka_assignment_resume
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4581,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4582,1
    - Dst: rd_kafka_cgrp_assignment_clear_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4589
      start: 4575
    functionDepth: 3
    functionLinenumber: 4575
    functionLinenumberEnd: 4589
    functionName: rd_kafka_cgrp_unassign
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 3
    functionsReached:
    - rd_kafka_cgrp_assignment_clear_lost
    - rd_kafka_assignment_resume
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_assignment_clear
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_cgrp_unassign(rd_kafka_cgrp_t *rkcg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4602,1
    - Dst: rd_kafka_assignment_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4609,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4610,1
    - Dst: rd_kafka_assignment_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4612,1
    - Dst: rd_kafka_cgrp_assignment_clear_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4616,1
    - Dst: rd_kafka_assignment_resume
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4620,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4621,1
    - Dst: rd_kafka_cgrp_start_max_poll_interval_timer
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - rkcg
    - assignment
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4597
    functionDepth: 3
    functionLinenumber: 4597
    functionLinenumberEnd: 4629
    functionName: rd_kafka_cgrp_assign
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_start_max_poll_interval_timer
    - rd_kafka_assignment_clear
    - rd_kafka_assignment_serve
    - rd_kafka_cgrp_assignment_clear_lost
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_assignment_add
    - rd_kafka_assignment_resume
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_cgrp_assign(rd_kafka_cgrp_t *rkcg,\n
      \                    rd_kafka_topic_partition_list_t *assignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4641,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4644,1
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4652,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4653,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4653,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4639
    functionDepth: 2
    functionLinenumber: 4639
    functionLinenumberEnd: 4657
    functionName: rd_kafka_toppar_list_to_toppar_member_info_map
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - PartitionMemberInfo_new
    - rd_calloc
    - RD_MAP_SET
    - RD_MAP_INIT
    - rd_kafka_topic_partition_copy
    - RD_KAFKA_TPLIST_FOREACH
    linkageType: ''
    returnType: map_toppar_member_info_t
    signature: "map_toppar_member_info_t *rd_kafka_toppar_list_to_toppar_member_info_map(\n
      \   rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4668,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4668,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - map
    argTypes:
    - map_toppar_member_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4675
      start: 4664
    functionDepth: 1
    functionLinenumber: 4664
    functionLinenumberEnd: 4675
    functionName: rd_kafka_toppar_member_info_map_to_list
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_topic_partition_list_new
    - RD_MAP_CNT
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t *

      rd_kafka_toppar_member_info_map_to_list(map_toppar_member_info_t *map)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4670
    functionDepth: 1
    functionLinenumber: 4670
    functionLinenumberEnd: 4672
    functionName: RD_MAP_FOREACH_KEY
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH_KEY(k, map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_list_to_toppar_member_info_map
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4693,1
    - Dst: rd_kafka_toppar_list_to_toppar_member_info_map
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4695,1
    - Dst: rd_kafka_member_partitions_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4698,1
    - Dst: rd_kafka_member_partitions_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4700,1
    - Dst: rd_kafka_toppar_member_info_map_to_list
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4703,1
    - Dst: rd_kafka_toppar_member_info_map_to_list
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4704,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4706,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4721,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4733,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4740,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4741,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4742,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4743,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4744,1
    - Dst: RD_MAP_DESTROY_AND_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 2
    argNames:
    - rkcg
    - assignment
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4746
      start: 4682
    functionDepth: 4
    functionLinenumber: 4682
    functionLinenumberEnd: 4746
    functionName: rd_kafka_cgrp_handle_assignment_cooperative
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_list_to_toppar_member_info_map
    - rd_kafka_toppar_member_info_map_to_list
    - rd_kafka_dbg
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_member_partitions_subtract
    - RD_MAP_DESTROY_AND_FREE
    - rd_kafka_rebalance_op_incr
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_assignment_cooperative(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_topic_partition_list_t *assignment)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4759,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4764,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4765,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4767,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4774,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4780,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4783,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - rkcg
    - partitions
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4789
      start: 4754
    functionDepth: 1
    functionLinenumber: 4754
    functionLinenumberEnd: 4789
    functionName: rd_kafka_cgrp_group_assignment_set
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_topic_partition_list_log
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_group_assignment_set(\n    rd_kafka_cgrp_t *rkcg,\n
      \   const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4809,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4821,1
    - Dst: rd_kafka_cgrp_group_assignment_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4822,1
    - Dst: rd_kafka_cgrp_group_assignment_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4829,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4835,1
    - Dst: rd_kafka_topic_partition_list_find_idx
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4844,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4849,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4851,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4855,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4857,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4863,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4866,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4870,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4875,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4878,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4881,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4884,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - rkcg
    - add
    - partitions
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4803
    functionDepth: 2
    functionLinenumber: 4803
    functionLinenumberEnd: 4887
    functionName: rd_kafka_cgrp_group_assignment_modify
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_topic_partition_list_del_by_idx
    - rd_kafka_topic_partition_list_find_idx
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_topic_partition_list_log
    - rd_kafka_cgrp_group_assignment_set
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_group_assignment_modify(\n    rd_kafka_cgrp_t *rkcg,\n
      \   rd_bool_t add,\n    const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find_idx
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4844,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4849,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4851,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4855,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4860
      start: 4841
    functionDepth: 1
    functionLinenumber: 4841
    functionLinenumberEnd: 4860
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_assert
    - rd_kafka_topic_partition_list_find_idx
    - rd_kafka_topic_partition_list_del_by_idx
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, partitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4905,1
    - Dst: rd_kafka_cgrp_handle_assignment_cooperative
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4907,1
    - Dst: rd_kafka_rebalance_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkcg
    - assignment
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4901
    functionDepth: 5
    functionLinenumber: 4901
    functionLinenumberEnd: 4914
    functionName: rd_kafka_cgrp_handle_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_cgrp_handle_assignment_cooperative
    - rd_kafka_rebalance_op
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_assignment(rd_kafka_cgrp_t *rkcg,\n                                rd_kafka_topic_partition_list_t
      *assignment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4924,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4926,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4932,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - rkcg
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4938
      start: 4922
    functionDepth: 1
    functionLinenumber: 4922
    functionLinenumberEnd: 4938
    functionName: rd_kafka_cgrp_group_leader_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_free
    - RD_KAFKAP_STR_PR
    - rd_kafka_group_member_clear
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_group_leader_reset(rd_kafka_cgrp_t *rkcg,\n                                             const
      char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4946,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4948,1
    - Dst: RD_KAFKA_CGRP_REBALANCING
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4959,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4960,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4965,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4968,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4979
      start: 4944
    functionDepth: 7
    functionLinenumber: 4944
    functionLinenumberEnd: 4979
    functionName: rd_kafka_cgrp_group_is_rebalancing
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_cgrp_rejoin
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_CGRP_REBALANCING
    - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_group_is_rebalancing(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_CGRP_REBALANCING
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4993,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:4994,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5000,1
    - Dst: rd_kafka_rebalance_protocol2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5001,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5002,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rkcg
    - assignment_lost
    - initiating
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5019
      start: 4989
    functionDepth: 1
    functionLinenumber: 4989
    functionLinenumberEnd: 5019
    functionName: rd_kafka_cgrp_revoke_all_rejoin_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_kafka_cgrp_rebalance_protocol
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_CGRP_REBALANCING
    - rd_kafka_rebalance_protocol2str
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_revoke_all_rejoin_maybe(rd_kafka_cgrp_t *rkcg,\n
      \                                                 rd_bool_t assignment_lost,\n
      \                                                 rd_bool_t initiating,\n                                                  const
      char *reason)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5033,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5036,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5039,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5043,1
    - Dst: rd_kafka_rebalance_protocol2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5045,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5051,1
    - Dst: rd_kafka_cgrp_assignment_set_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5061,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5069,1
    - Dst: rd_kafka_rebalance_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5070,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5075,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5077,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5091,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5100,1
    - Dst: rd_kafka_cgrp_assignment_set_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5107,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5113,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5117,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5122,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5132,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5136,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - rkcg
    - assignment_lost
    - initiating
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5141
      start: 5027
    functionDepth: 7
    functionLinenumber: 5027
    functionLinenumberEnd: 5141
    functionName: rd_kafka_cgrp_revoke_all_rejoin
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_interval_reset
    - rd_kafka_log
    - rd_kafka_rebalance_op_incr
    - rd_snprintf
    - rd_kafka_cgrp_assignment_set_lost
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_rebalance_op
    - rd_kafka_cgrp_rejoin
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_kafka_rebalance_protocol2str
    - unlikely
    - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_revoke_all_rejoin(rd_kafka_cgrp_t *rkcg,\n                                            rd_bool_t
      assignment_lost,\n                                            rd_bool_t initiating,\n
      \                                           const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_max_poll_exceeded
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5157,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5159,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5162,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5170,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5179,1
    - Dst: rd_kafka_cgrp_consumer_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5183,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5186,1
    - Dst: RD_KAFKA_CGRP_IS_STATIC_MEMBER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5200,1
    - Dst: rd_kafka_cgrp_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5201,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5205,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5212
      start: 5150
    functionDepth: 4
    functionLinenumber: 5150
    functionLinenumberEnd: 5212
    functionName: rd_kafka_cgrp_max_poll_interval_check_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_cgrp_consumer_leave
    - rd_kafka_consumer_err
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - rd_kafka_cgrp_leave
    - rd_kafka_timer_stop
    - RD_KAFKA_CGRP_IS_STATIC_MEMBER
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - likely
    - rd_kafka_max_poll_exceeded
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_max_poll_interval_check_tmr_cb(rd_kafka_timers_t
      *rkts,\n                                             void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5236,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5247,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5254,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5256,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5259,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5262,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - rkcg
    - errored
    - error_prefix
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5267
      start: 5226
    functionDepth: 1
    functionLinenumber: 5226
    functionLinenumberEnd: 5267
    functionName: rd_kafka_propagate_consumer_topic_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_consumer_err
    - rd_kafka_err2str
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_propagate_consumer_topic_errors(\n    rd_kafka_cgrp_t
      *rkcg,\n    rd_kafka_topic_partition_list_t *errored,\n    const char *error_prefix)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5280,1
    - Dst: rd_kafka_topic_match
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5293,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5300,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - rkcg
    - subscription
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5310
      start: 5274
    functionDepth: 1
    functionLinenumber: 5274
    functionLinenumberEnd: 5310
    functionName: rd_kafka_cgrp_get_unsubscribing_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_match
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_cgrp_get_unsubscribing_topics(\n
      \   rd_kafka_cgrp_t *rkcg,\n    rd_kafka_topic_partition_list_t *subscription)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5332,1
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5338,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5339,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5340,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - rkcg
    - unsubscribing
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5354
      start: 5317
    functionDepth: 1
    functionLinenumber: 5317
    functionLinenumberEnd: 5354
    functionName: rd_kafka_cgrp_calculate_subscribe_revoking_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - RD_KAFKA_TPLIST_FOREACH
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_cgrp_calculate_subscribe_revoking_partitions(\n
      \   rd_kafka_cgrp_t *rkcg,\n    const rd_kafka_topic_partition_list_t *unsubscribing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5338,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5339,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5346
      start: 5335
    functionDepth: 1
    functionLinenumber: 5335
    functionLinenumberEnd: 5346
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - RD_KAFKA_TPLIST_FOREACH
    - strcmp
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, unsubscribing)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5367,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5369,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5371,1
    - Dst: rd_kafka_topic_partition_list_regex_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5377,1
    - Dst: rd_kafka_topic_partition_list_combine_regexes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5385,1
    - Dst: rd_kafka_topic_partition_list_remove_regexes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5388,1
    - Dst: rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5393,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5400,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - rkcg
    - rktparlist
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5361
    functionDepth: 2
    functionLinenumber: 5361
    functionLinenumberEnd: 5407
    functionName: rd_kafka_cgrp_subscription_set
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
    - rd_kafka_topic_partition_list_regex_cnt
    - rd_kafka_topic_partition_list_destroy
    - rd_atomic32_add
    - RD_IF_FREE
    - rd_kafka_topic_partition_list_combine_regexes
    - rd_kafka_topic_partition_list_remove_regexes
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_cgrp_subscription_set(rd_kafka_cgrp_t *rkcg,\n                               rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get_unsubscribing_topics
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5430,1
    - Dst: rd_kafka_cgrp_calculate_subscribe_revoking_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5433,1
    - Dst: rd_kafka_cgrp_subscription_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5437,1
    - Dst: rd_kafka_cgrp_metadata_refresh
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5439,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5442,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5446,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5448,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5453,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5459,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5461,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5467,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5471,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5478,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5482,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5486,1
    - Dst: rd_kafka_metadata_topic_match
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5489,1
    - Dst: rd_kafka_metadata_topic_filter
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5492,1
    - Dst: rd_kafka_propagate_consumer_topic_errors
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5497,1
    - Dst: rd_kafka_cgrp_update_subscribed_topics
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5500,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5501,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5506,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5510,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5513,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - rkcg
    - rktparlist
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5521
      start: 5416
    functionDepth: 7
    functionLinenumber: 5416
    functionLinenumberEnd: 5521
    functionName: rd_kafka_cgrp_modify_subscription
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_rebalance_op_incr
    - rd_kafka_cgrp_metadata_refresh
    - rd_kafka_metadata_topic_filter
    - rd_list_new
    - rd_kafka_cgrp_update_subscribed_topics
    - rd_kafka_topic_partition_list_new
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_propagate_consumer_topic_errors
    - RD_KAFKAP_STR_PR
    - rd_kafka_metadata_topic_match
    - rd_kafka_cgrp_calculate_subscribe_revoking_partitions
    - rd_kafka_cgrp_subscription_set
    - rd_kafka_cgrp_get_unsubscribing_topics
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_cgrp_modify_subscription(rd_kafka_cgrp_t
      *rkcg,\n                                  rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5530,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5534,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5537,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5538,1
    - Dst: RD_KAFKA_CGRP_HAS_JOINED
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5538,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5542,1
    - Dst: rd_kafka_cgrp_subscription_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5545,1
    - Dst: rd_kafka_cgrp_consumer_will_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5554,1
    - Dst: RD_KAFKA_CGRP_HAS_JOINED
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5555,1
    - Dst: rd_kafka_cgrp_will_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5555,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rkcg
    - leave_group
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5563
      start: 5526
    functionDepth: 8
    functionLinenumber: 5526
    functionLinenumberEnd: 5563
    functionName: rd_kafka_cgrp_consumer_unsubscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_will_rejoin
    - RD_KAFKA_CGRP_HAS_JOINED
    - rd_kafka_cgrp_will_leave
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_cgrp_subscription_set
    - rd_kafka_timer_stop
    - RD_STR_ToF
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_cgrp_consumer_unsubscribe(rd_kafka_cgrp_t
      *rkcg,\n                                   rd_bool_t leave_group)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_consumer_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5571,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5573,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5577,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5580,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5581,1
    - Dst: RD_KAFKA_CGRP_HAS_JOINED
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5581,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5585,1
    - Dst: rd_kafka_cgrp_subscription_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5588,1
    - Dst: rd_kafka_cgrp_update_subscribed_topics
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5590,1
    - Dst: rd_kafka_cgrp_group_leader_reset
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5595,1
    - Dst: RD_KAFKA_CGRP_HAS_JOINED
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5597,1
    - Dst: rd_kafka_cgrp_assignment_is_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5601,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rkcg
    - leave_group
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5607
      start: 5568
    functionDepth: 9
    functionLinenumber: 5568
    functionLinenumberEnd: 5607
    functionName: rd_kafka_cgrp_unsubscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_assignment_is_lost
    - rd_kafka_cgrp_group_leader_reset
    - rd_kafka_cgrp_consumer_unsubscribe
    - RD_KAFKA_CGRP_HAS_JOINED
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_revoke_all_rejoin
    - rd_kafka_cgrp_subscription_set
    - rd_kafka_timer_stop
    - rd_kafka_cgrp_update_subscribed_topics
    - RD_STR_ToF
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_cgrp_unsubscribe(rd_kafka_cgrp_t *rkcg,\n
      \                                                    rd_bool_t leave_group)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5616,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5619,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5629,1
    - Dst: rd_kafka_cgrp_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5631,1
    - Dst: rd_kafka_topic_partition_list_destroy_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5638,1
    - Dst: RD_KAFKA_CGRP_REBALANCING
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5643,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5644,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5649,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5660,1
    - Dst: rd_kafka_cgrp_modify_subscription
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5663,1
    - Dst: rd_kafka_cgrp_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5667,1
    - Dst: rd_kafka_cgrp_subscription_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5676,1
    - Dst: rd_kafka_cgrp_join
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5678,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - rkcg
    - rktparlist
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5681
      start: 5612
    functionDepth: 10
    functionLinenumber: 5612
    functionLinenumberEnd: 5681
    functionName: rd_kafka_cgrp_subscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_modify_subscription
    - rd_kafka_cgrp_rebalance_protocol
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_unsubscribe
    - rd_kafka_fatal_error_code
    - RD_KAFKA_CGRP_REBALANCING
    - rd_kafka_cgrp_subscription_set
    - rd_kafka_cgrp_join
    - rd_kafka_topic_partition_list_destroy_free
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_cgrp_subscribe(rd_kafka_cgrp_t *rkcg,\n
      \                       rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5695,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5695,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5697,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5700,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5702,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5704,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5711,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5718,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5719,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5732,1
    - Dst: rd_kafka_cgrp_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5736,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5739,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5745,1
    - Dst: RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5753,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5754,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5755,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5758,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - rkcg
    - rko
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5693
    functionDepth: 10
    functionLinenumber: 5693
    functionLinenumberEnd: 5762
    functionName: rd_kafka_cgrp_terminate0
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_consumer_err
    - rd_list_cnt
    - rd_kafka_assignment_serve
    - rd_kafka_q_destroy
    - rd_kafka_cgrp_unassign
    - thrd_is_current
    - rd_kafka_destroy_flags_no_consumer_close
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_unsubscribe
    - rd_kafka_assert
    - rd_kafka_cgrp_try_terminate
    - rd_clock
    - unlikely
    - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_terminate0(rd_kafka_cgrp_t *rkcg, rd_kafka_op_t
      *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5771,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5771,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkcg
    - replyq
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5773
      start: 5770
    functionDepth: 1
    functionLinenumber: 5770
    functionLinenumberEnd: 5773
    functionName: rd_kafka_cgrp_terminate
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assert
    - rd_kafka_cgrp_op
    - thrd_is_current
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_terminate(rd_kafka_cgrp_t *rkcg, rd_kafka_replyq_t
      replyq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5791,1
    - Dst: rd_kafka_q_deq0
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5797,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - rkq
    - rko
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5803
      start: 5785
    functionDepth: 3
    functionLinenumber: 5785
    functionLinenumberEnd: 5803
    functionName: rd_kafka_op_offset_commit_timeout_check
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - likely
    - rd_list_add
    - rd_kafka_q_deq0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_op_offset_commit_timeout_check(rd_kafka_q_t *rkq,\n                                                   rd_kafka_op_t
      *rko,\n                                                   void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5816,1
    - Dst: rd_kafka_q_apply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5818,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5822,1
    - Dst: rd_kafka_cgrp_op_handle_OffsetCommit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5823,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5827,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5830,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5832,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rkcg
    - now
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5809
    functionDepth: 3
    functionLinenumber: 5809
    functionLinenumberEnd: 5834
    functionName: rd_kafka_cgrp_timeout_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    - rd_list_destroy
    - RD_LIST_FOREACH
    - RD_KAFKAP_STR_PR
    - rd_kafka_cgrp_op_handle_OffsetCommit
    - rd_list_init
    - rd_kafka_q_apply
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_timeout_scan(rd_kafka_cgrp_t *rkcg, rd_ts_t now)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5846,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5851,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5856,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5861,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5867,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5876,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5880,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5886,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5894,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5897,1
    - Dst: rd_kafka_cgrp_assign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5909,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5912,1
    - Dst: rd_kafka_cgrp_incremental_assign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5915,1
    - Dst: rd_kafka_cgrp_incremental_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5919,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5923,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5929,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5935,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5939,1
    - Dst: rd_kafka_op_error_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5942,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - rkcg
    - rko
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5943
      start: 5842
    functionDepth: 4
    functionLinenumber: 5842
    functionLinenumberEnd: 5943
    functionName: rd_kafka_cgrp_handle_assign_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_error_new
    - RD_NOTREACHED
    - rd_kafka_cgrp_unassign
    - rd_kafka_assignment_serve
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_cgrp_incremental_assign
    - rd_kafka_cgrp_assign
    - rd_kafka_error_string
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_fatal_error_code
    - rd_kafka_cgrp_incremental_unassign
    - rd_kafka_op_error_reply
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_handle_assign_op(rd_kafka_cgrp_t *rkcg,\n                                           rd_kafka_op_t
      *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5954,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5958,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5963,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5970,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5974,1
    - Dst: rd_kafka_cgrp_set_member_id
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5982,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - rkcg
    - now
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5989
      start: 5949
    functionDepth: 2
    functionLinenumber: 5949
    functionLinenumberEnd: 5989
    functionName: rd_kafka_cgrp_session_timeout_check
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_snprintf
    - rd_kafka_cgrp_set_member_id
    - rd_kafka_err2str
    - rd_kafka_cgrp_revoke_all_rejoin_maybe
    - likely
    - unlikely
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_cgrp_session_timeout_check(rd_kafka_cgrp_t *rkcg,\n
      \                                                    rd_ts_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:5996,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6001,1
    - Dst: rd_kafka_cgrp_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6006,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6009,1
    - Dst: rd_kafka_cgrp_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6016
      start: 5995
    functionDepth: 11
    functionLinenumber: 5995
    functionLinenumberEnd: 6016
    functionName: rd_kafka_cgrp_apply_next_subscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_subscribe
    - rd_assert
    - rd_kafka_cgrp_unsubscribe
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_apply_next_subscribe(rd_kafka_cgrp_t *rkcg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6022,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6024,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6024,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6029,1
    - Dst: rd_kafka_cgrp_awaiting_response
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6029,1
    - Dst: rd_kafka_cgrp_apply_next_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6033,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6039,1
    - Dst: rd_kafka_cgrp_join
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6041,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6058,1
    - Dst: rd_kafka_cgrp_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6062,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6065
      start: 6021
    functionDepth: 12
    functionLinenumber: 6021
    functionLinenumberEnd: 6065
    functionName: rd_kafka_cgrp_join_state_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_apply_next_subscribe
    - rd_kafka_cgrp_heartbeat
    - rd_interval
    - rd_kafka_fatal_error_code
    - rd_kafka_cgrp_join
    - rd_clock
    - unlikely
    - rd_interval_immediate
    - rd_kafka_cgrp_awaiting_response
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_join_state_serve(rd_kafka_cgrp_t *rkcg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6102,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6106,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6112,1
    - Dst: rd_kafka_cgrp_consumer_subscription_preconditions_met
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6120,1
    - Dst: rd_kafka_is_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6130,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6134,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6140,1
    - Dst: rd_kafka_ConsumerGroupHeartbeatRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6147,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - rkcg
    - full_request
    - send_ack
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6154
      start: 6068
    functionDepth: 1
    functionLinenumber: 6068
    functionLinenumberEnd: 6154
    functionName: rd_kafka_cgrp_consumer_group_heartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_str
    - rd_kafka_cgrp_consumer_subscription_preconditions_met
    - rd_kafka_ConsumerGroupHeartbeatRequest
    - rd_kafka_is_dbg
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_consumer_group_heartbeat(rd_kafka_cgrp_t *rkcg,\n
      \                                           rd_bool_t full_request,\n                                            rd_bool_t
      send_ack)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6158,1
    - Dst: rd_kafka_max_poll_exceeded
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6173,1
    - Dst: rd_kafka_cgrp_will_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6180
      start: 6156
    functionDepth: 1
    functionLinenumber: 6156
    functionLinenumberEnd: 6180
    functionName: rd_kafka_cgrp_consumer_heartbeat_preconditions_met
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_kafka_cgrp_will_leave
    - rd_kafka_max_poll_exceeded
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_cgrp_consumer_heartbeat_preconditions_met(rd_kafka_cgrp_t
      *rkcg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6187,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6187,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6190,1
    - Dst: RD_KAFKA_CGRP_REBALANCING
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6192,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6199,1
    - Dst: rd_kafka_cgrp_revoke_all_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6204,1
    - Dst: rd_kafka_cgrp_consumer_apply_next_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6212,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6227,1
    - Dst: rd_kafka_cgrp_consumer_heartbeat_preconditions_met
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6230,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6232,1
    - Dst: rd_kafka_cgrp_consumer_group_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6235,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6241,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6243,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6246,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6253,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6182
    functionDepth: 8
    functionLinenumber: 6182
    functionLinenumberEnd: 6259
    functionName: rd_kafka_cgrp_consumer_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_group_heartbeat
    - rd_assert
    - likely
    - rd_kafka_cgrp_consumer_heartbeat_preconditions_met
    - rd_kafka_cgrp_consumer_apply_next_subscribe
    - rd_kafka_fatal_error_code
    - RD_KAFKA_CGRP_REBALANCING
    - rd_kafka_timer_stop
    - rd_kafka_timer_start_oneshot
    - rd_interval
    - rd_clock
    - rd_kafka_cgrp_revoke_all_rejoin
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_serve(rd_kafka_cgrp_t *rkcg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6271,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6274,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6281,1
    - Dst: rd_kafka_cgrp_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6283,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6290,1
    - Dst: rd_kafka_cgrp_will_leave
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6297,1
    - Dst: rd_kafka_cgrp_consumer_apply_next_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6298,1
    - Dst: rd_kafka_cgrp_consumer_unsubscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - rkcg
    - rktparlist
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6305
      start: 6267
    functionDepth: 10
    functionLinenumber: 6267
    functionLinenumberEnd: 6305
    functionName: rd_kafka_cgrp_consumer_subscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_consumer_unsubscribe
    - rd_kafka_cgrp_consumer_apply_next_subscribe
    - rd_kafka_cgrp_will_leave
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_cgrp_unsubscribe
    - rd_kafka_fatal_error_code
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_cgrp_consumer_subscribe(rd_kafka_cgrp_t
      *rkcg,\n                                 rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6316,1
    - Dst: rd_kafka_cgrp_unassign
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6320,1
    - Dst: rd_kafka_cgrp_leave_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6323,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6338,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6344,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6359,1
    - Dst: rd_kafka_cgrp_set_join_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6364,1
    - Dst: rd_kafka_cgrp_start_max_poll_interval_timer
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6370
      start: 6311
    functionDepth: 7
    functionLinenumber: 6311
    functionLinenumberEnd: 6370
    functionName: rd_kafka_cgrp_consumer_incr_unassign_done
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_start_max_poll_interval_timer
    - rd_kafka_cgrp_unassign
    - rd_kafka_cgrp_set_join_state
    - rd_kafka_dbg
    - rd_kafka_cgrp_leave_maybe
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_cgrp_rejoin
    - rd_kafka_rebalance_op_incr
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_incr_unassign_done(rd_kafka_cgrp_t *rkcg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6386,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6392,1
    - Dst: rd_kafka_cgrp_unassign_done
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6396,1
    - Dst: rd_kafka_cgrp_consumer_incr_unassign_done
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6400,1
    - Dst: rd_kafka_cgrp_leave_maybe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6414,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6419,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6425,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6431,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6449
      start: 6385
    functionDepth: 8
    functionLinenumber: 6385
    functionLinenumberEnd: 6449
    functionName: rd_kafka_cgrp_consumer_assignment_done
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_try_terminate
    - rd_kafka_cgrp_leave_maybe
    - rd_kafka_cgrp_unassign_done
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_cgrp_consumer_incr_unassign_done
    - RD_STR_ToF
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_consumer_assignment_done(rd_kafka_cgrp_t *rkcg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6464,1
    - Dst: rd_interval_reset_to_now
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6474,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6475,1
    - Dst: rd_interval_backoff
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6478,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6480,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - rkcg
    - reason
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6489
      start: 6451
    functionDepth: 2
    functionLinenumber: 6451
    functionLinenumberEnd: 6489
    functionName: rd_kafka_cgrp_consumer_expedite_next_heartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 7
    functionsReached:
    - rd_jitter
    - rd_interval_reset_to_now
    - rd_interval_backoff
    - rd_kafka_timer_start_oneshot
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_consumer_expedite_next_heartbeat(rd_kafka_cgrp_t
      *rkcg,\n                                                    const char *reason)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6501,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6503,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6509,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6513,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6516,1
    - Dst: rd_kafka_cgrp_try_terminate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6516,1
    - Dst: rd_kafka_cgrp_terminated
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6517,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6522,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6522,1
    - Dst: rd_kafka_cgrp_session_timeout_check
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6528,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6536,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6541,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6543,1
    - Dst: rd_kafka_cgrp_coord_update
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6554,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6559,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6561,1
    - Dst: rd_kafka_broker_supports
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6570,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6573,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6575,1
    - Dst: rd_kafka_cgrp_set_state
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6581,1
    - Dst: rd_kafka_cgrp_consumer_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6586,1
    - Dst: rd_kafka_cgrp_join_state_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6588,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6593,1
    - Dst: rd_kafka_q_concat
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6600,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6603,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6607,1
    - Dst: rd_kafka_cgrp_consumer_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6612,1
    - Dst: rd_kafka_cgrp_join_state_serve
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6614,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6620,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6621,1
    - Dst: rd_kafka_cgrp_timeout_scan
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6623,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6624
      start: 6495
    functionDepth: 13
    functionLinenumber: 6495
    functionLinenumberEnd: 6624
    functionName: rd_kafka_cgrp_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_terminated
    - rd_kafka_cgrp_set_state
    - rd_kafka_broker_supports
    - unlikely
    - rd_kafka_cgrp_consumer_serve
    - rd_kafka_cgrp_coord_update
    - rd_kafka_terminating
    - rd_kafka_cgrp_join_state_serve
    - rd_interval
    - rd_interval_immediate
    - rd_kafka_cgrp_timeout_scan
    - rd_kafka_broker_unlock
    - rd_clock
    - rd_kafka_q_concat
    - rd_kafka_assignment_serve
    - rd_kafka_broker_lock
    - rd_kafka_cgrp_session_timeout_check
    - rd_kafka_cgrp_coord_query
    - rd_kafka_cgrp_try_terminate
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_serve(rd_kafka_cgrp_t *rkcg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6640,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6645,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rkcg
    - rktp
    - replyq
    - type
    - err
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_toppar_t*
    - rd_kafka_replyq_t
    - rd_kafka_op_type_t
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6648
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6648
    functionName: rd_kafka_cgrp_op
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 3
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_toppar_keep
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_op(rd_kafka_cgrp_t *rkcg,\n                      rd_kafka_toppar_t
      *rktp,\n                      rd_kafka_replyq_t replyq,\n                      rd_kafka_op_type_t
      type,\n                      rd_kafka_resp_err_t err)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6664,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6664,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6666,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6674,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6678,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6679,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6682,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6685,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6689,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6690,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6699,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6700,1
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6708,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6714,1
    - Dst: rd_kafka_op_handle_OffsetFetch
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6721,1
    - Dst: rd_kafka_OffsetFetchRequest
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6728,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6733,1
    - Dst: rd_kafka_cgrp_partition_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6739,1
    - Dst: rd_kafka_toppar_op_fetch_stop
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6743,1
    - Dst: rd_kafka_cgrp_partition_del
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6747,1
    - Dst: rd_kafka_cgrp_offsets_commit
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6752,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6764,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6766,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6772,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6772,1
    - Dst: rd_kafka_cgrp_consumer_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6777,1
    - Dst: rd_kafka_cgrp_subscribe
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6780,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6787,1
    - Dst: rd_kafka_cgrp_handle_assign_op
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6792,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6799,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6805,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6807,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6814,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6817,1
    - Dst: rd_kafka_rebalance_protocol2str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6823,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6824,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6825,1
    - Dst: rd_kafka_cgrp_terminate0
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6830,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6835,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6840,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6843
      start: 6655
    functionDepth: 11
    functionLinenumber: 6655
    functionLinenumberEnd: 6843
    functionName: rd_kafka_cgrp_op_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_OffsetFetchRequest
    - rd_kafka_cgrp_offsets_commit
    - rd_kafka_op_destroy
    - rd_atomic64_set
    - rd_kafka_cgrp_terminate0
    - rd_kafka_cgrp_consumer_subscribe
    - RD_KAFKAP_STR_DUP
    - rd_kafka_op2str
    - unlikely
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_err2str
    - rd_kafka_cgrp_subscribe
    - rd_atomic32_get
    - rd_kafka_assert
    - RD_KAFKA_REPLYQ
    - rd_kafka_op_reply
    - rd_kafka_cgrp_partition_add
    - RD_KAFKAP_STR_PR
    - rd_kafka_consumer_group_metadata_new_with_genid
    - rd_clock
    - rd_kafka_toppar_op_fetch_stop
    - rd_kafka_rebalance_protocol2str
    - rd_kafka_cgrp_rebalance_protocol
    - rd_kafka_dbg
    - rd_kafka_cgrp_handle_assign_op
    - rd_kafka_cgrp_coord_query
    - rd_kafka_cgrp_partition_del
    - rd_kafka_op_handle_OffsetFetch
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_cgrp_op_serve(rd_kafka_t *rk,\n                                                rd_kafka_q_t
      *rkq,\n                                                rd_kafka_op_t *rko,\n
      \                                               rd_kafka_q_cb_type_t cb_type,\n
      \                                               void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6847,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6850,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6852,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6858,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - rkcg
    - member_id
    argTypes:
    - rd_kafka_cgrp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6864
      start: 6845
    functionDepth: 1
    functionLinenumber: 6845
    functionLinenumberEnd: 6864
    functionName: rd_kafka_cgrp_set_member_id
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 10
    functionsReached:
    - rd_kafkap_str_new
    - rd_kafkap_str_destroy
    - RD_KAFKAP_STR_PR
    - rd_kafkap_str_cmp_str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cgrp_set_member_id(rd_kafka_cgrp_t *rkcg, const char
      *member_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6879,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6880,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6885,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rkcg
    argTypes:
    - rd_kafka_cgrp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6892
      start: 6871
    functionDepth: 1
    functionLinenumber: 6871
    functionLinenumberEnd: 6892
    functionName: rd_kafka_cgrp_owned_but_not_exist_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - RD_KAFKA_TPLIST_FOREACH
    - rd_list_find
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t *

      rd_kafka_cgrp_owned_but_not_exist_partitions(rd_kafka_cgrp_t *rkcg)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6910,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6910,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6921,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6926,1
    - Dst: rd_kafka_metadata_topic_match
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6930,1
    - Dst: rd_kafka_metadata_topic_filter
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6933,1
    - Dst: rd_kafka_propagate_consumer_topic_errors
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6941,1
    - Dst: rd_kafka_cgrp_update_subscribed_topics
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6947,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6959,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6965,1
    - Dst: rd_kafka_cgrp_rebalance_protocol
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6968,1
    - Dst: rd_kafka_cgrp_owned_but_not_exist_partitions
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6973,1
    - Dst: rd_kafka_cgrp_assignment_set_lost
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6976,1
    - Dst: rd_kafka_rebalance_op_incr
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6980,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:6989,1
    - Dst: rd_kafka_cgrp_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7000,1
    - Dst: rd_kafka_cgrp_revoke_rejoin
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7008,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7014,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - rkcg
    - do_join
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7016
      start: 6904
    functionDepth: 7
    functionLinenumber: 6904
    functionLinenumberEnd: 7016
    functionName: rd_kafka_cgrp_metadata_update_check
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 2
    functionsReached:
    - rd_kafka_cgrp_revoke_rejoin
    - rd_kafka_rebalance_op_incr
    - rd_kafka_metadata_topic_filter
    - rd_kafka_cgrp_assignment_set_lost
    - rd_kafka_cgrp_rebalance_protocol
    - rd_list_new
    - rd_kafka_cgrp_owned_but_not_exist_partitions
    - rd_kafka_topic_partition_list_new
    - thrd_is_current
    - rd_kafka_propagate_consumer_topic_errors
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_kafka_metadata_topic_match
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_cgrp_update_subscribed_topics
    - rd_kafka_assert
    - rd_kafka_cgrp_rejoin
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_cgrp_metadata_update_check(rd_kafka_cgrp_t *rkcg,\n
      \                                        rd_bool_t do_join)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - group_id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7027
      start: 7019
    functionDepth: 1
    functionLinenumber: 7019
    functionLinenumberEnd: 7027
    functionName: rd_kafka_consumer_group_metadata_new
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 16
    functionsReached:
    - rd_kafka_consumer_group_metadata_new_with_genid
    linkageType: ''
    returnType: rd_kafka_consumer_group_metadata_t
    signature: 'rd_kafka_consumer_group_metadata_t *

      rd_kafka_consumer_group_metadata_new(const char *group_id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7036,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7037,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7039,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - group_id
    - generation_id
    - member_id
    - group_instance_id
    argTypes:
    - char*
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7044
      start: 7029
    functionDepth: 1
    functionLinenumber: 7029
    functionLinenumberEnd: 7044
    functionName: rd_kafka_consumer_group_metadata_new_with_genid
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_consumer_group_metadata_t
    signature: "rd_kafka_consumer_group_metadata_t *\nrd_kafka_consumer_group_metadata_new_with_genid(const
      char *group_id,\n                                                int32_t generation_id,\n
      \                                               const char *member_id,\n                                                const
      char *group_instance_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7052,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7055,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7064
      start: 7046
    functionDepth: 1
    functionLinenumber: 7046
    functionLinenumberEnd: 7064
    functionName: rd_kafka_consumer_group_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 4
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    linkageType: ''
    returnType: rd_kafka_consumer_group_metadata_t
    signature: 'rd_kafka_consumer_group_metadata_t *

      rd_kafka_consumer_group_metadata(rd_kafka_t *rk)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group_metadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7069
      start: 7066
    functionDepth: 0
    functionLinenumber: 7066
    functionLinenumberEnd: 7069
    functionName: rd_kafka_consumer_group_metadata_group_id
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_consumer_group_metadata_group_id(\n    const rd_kafka_consumer_group_metadata_t
      *group_metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group_metadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7074
      start: 7071
    functionDepth: 0
    functionLinenumber: 7071
    functionLinenumberEnd: 7074
    functionName: rd_kafka_consumer_group_metadata_member_id
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_consumer_group_metadata_member_id(\n    const rd_kafka_consumer_group_metadata_t
      *group_metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group_metadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7079
      start: 7076
    functionDepth: 0
    functionLinenumber: 7076
    functionLinenumberEnd: 7079
    functionName: rd_kafka_consumer_group_metadata_group_instance_id
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_consumer_group_metadata_group_instance_id(\n    const
      rd_kafka_consumer_group_metadata_t *group_metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - group_metadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7084
      start: 7081
    functionDepth: 0
    functionLinenumber: 7081
    functionLinenumberEnd: 7084
    functionName: rd_kafka_consumer_group_metadata_generation_id
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_consumer_group_metadata_generation_id(\n    const
      rd_kafka_consumer_group_metadata_t *group_metadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7089,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7090,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7092,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cgmetadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7094
      start: 7087
    functionDepth: 1
    functionLinenumber: 7087
    functionLinenumberEnd: 7094
    functionName: rd_kafka_consumer_group_metadata_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 22
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_consumer_group_metadata_destroy(\n    rd_kafka_consumer_group_metadata_t
      *cgmetadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7100,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7101,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7103,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cgmetadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7109
      start: 7096
    functionDepth: 1
    functionLinenumber: 7096
    functionLinenumberEnd: 7109
    functionName: rd_kafka_consumer_group_metadata_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_consumer_group_metadata_t
    signature: "rd_kafka_consumer_group_metadata_t *rd_kafka_consumer_group_metadata_dup(\n
      \   const rd_kafka_consumer_group_metadata_t *cgmetadata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7127,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7129,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7134,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7139,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7141,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7144,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7147,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7150,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7153,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7158,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - cgmd
    - bufferp
    - sizep
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7168
      start: 7119
    functionDepth: 1
    functionLinenumber: 7119
    functionLinenumberEnd: 7168
    functionName: rd_kafka_consumer_group_metadata_write
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_malloc
    - rd_assert
    - memcpy
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_consumer_group_metadata_write(\n    const
      rd_kafka_consumer_group_metadata_t *cgmd,\n    void **bufferp,\n    size_t *sizep)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7182
      start: 7176
    functionDepth: 0
    functionLinenumber: 7176
    functionLinenumberEnd: 7182
    functionName: str_is_printable
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - isprint
    linkageType: ''
    returnType: char
    signature: char *str_is_printable(const char *s, const char *end)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7201,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7204,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7205,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7208,1
    - Dst: str_is_printable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7211,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7213,1
    - Dst: str_is_printable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7217,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7219,1
    - Dst: str_is_printable
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7226,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7228,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7234,1
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - cgmdp
    - buffer
    - size
    argTypes:
    - rd_kafka_consumer_group_metadata_t**
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7241
      start: 7185
    functionDepth: 2
    functionLinenumber: 7185
    functionLinenumberEnd: 7241
    functionName: rd_kafka_consumer_group_metadata_read
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - memcmp
    - rd_kafka_consumer_group_metadata_new_with_genid
    - memcpy
    - str_is_printable
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_consumer_group_metadata_read(\n    rd_kafka_consumer_group_metadata_t
      **cgmdp,\n    const void *buffer,\n    size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata_new_with_genid
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7254,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7256,1
    - Dst: rd_kafka_consumer_group_metadata_write
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7258,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7259,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7260,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7262,1
    - Dst: rd_kafka_consumer_group_metadata_read
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7265,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7266,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7267,1
    - Dst: rd_kafka_consumer_group_metadata_write
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7270,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7271,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7272,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7274,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7274,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7279,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7280,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - group_id
    - generation_id
    - member_id
    - group_instance_id
    argTypes:
    - char*
    - int32_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7284
      start: 7244
    functionDepth: 3
    functionLinenumber: 7244
    functionLinenumberEnd: 7284
    functionName: unittest_consumer_group_metadata_iteration
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - memcmp
    - rd_kafka_consumer_group_metadata_destroy
    - RD_UT_ASSERT
    - rd_kafka_error_string
    - rd_kafka_consumer_group_metadata_new_with_genid
    - rd_kafka_consumer_group_metadata_read
    - rd_kafka_consumer_group_metadata_write
    linkageType: ''
    returnType: int
    signature: "int unittest_consumer_group_metadata_iteration(const char *group_id,\n
      \                                          int32_t generation_id,\n                                           const
      char *member_id,\n                                           const char *group_instance_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7309,1
    - Dst: unittest_consumer_group_metadata_iteration
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7313,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7324
      start: 7287
    functionDepth: 4
    functionLinenumber: 7287
    functionLinenumberEnd: 7324
    functionName: unittest_consumer_group_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - RD_UT_PASS
    - strcmp
    - unittest_consumer_group_metadata_iteration
    linkageType: ''
    returnType: int
    signature: int unittest_consumer_group_metadata(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7343,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7348,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7353,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7356,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7360,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7360,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7361,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7362,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7362,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7363,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7364,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7364,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7365,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7367,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7367,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7368,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7369,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7369,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7370,1
    - Dst: rd_kafka_member_partitions_intersect
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7372,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7374,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7374,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7375,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7376,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7376,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7377,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7378,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7378,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7379,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7381,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7382,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7382,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7383,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7384,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7386,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7387,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7388,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7389,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7391,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7392,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7395
      start: 7327
    functionDepth: 3
    functionLinenumber: 7327
    functionLinenumberEnd: 7395
    functionName: unittest_set_intersect
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - PartitionMemberInfo_new
    - RD_MAP_CNT
    - rd_kafka_topic_partition_destroy
    - RD_MAP_SET
    - rd_calloc
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_new
    - rd_kafka_member_partitions_intersect
    - RD_UT_PASS
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: int
    signature: int unittest_set_intersect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7403,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7408,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7413,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7413,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7414,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7415,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7415,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7416,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7418,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7418,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7419,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7420,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7420,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7421,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7422,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7422,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7423,1
    - Dst: rd_kafka_member_partitions_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7425,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7427,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7427,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7428,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7429,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7429,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7430,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7431,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7431,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7432,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7434,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7435,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7435,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7436,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7438,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7439,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7440,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7441,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7444
      start: 7398
    functionDepth: 3
    functionLinenumber: 7398
    functionLinenumberEnd: 7444
    functionName: unittest_set_subtract
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - PartitionMemberInfo_new
    - RD_MAP_CNT
    - rd_kafka_topic_partition_destroy
    - RD_MAP_SET
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_new
    - RD_UT_PASS
    - rd_kafka_member_partitions_subtract
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: int
    signature: int unittest_set_subtract(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7450,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7454,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7454,1
    - Dst: PartitionMemberInfo_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7455,1
    - Dst: rd_kafka_toppar_member_info_map_to_list
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7457,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7459,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7461,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7464,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7464,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7467,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7468,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7471
      start: 7447
    functionDepth: 2
    functionLinenumber: 7447
    functionLinenumberEnd: 7471
    functionName: unittest_map_to_list
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - PartitionMemberInfo_new
    - rd_kafka_toppar_member_info_map_to_list
    - RD_MAP_SET
    - RD_UT_ASSERT
    - strcmp
    - rd_kafka_topic_partition_new
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - RD_MAP_DESTROY
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: int
    signature: int unittest_map_to_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7478,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7480,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7481,1
    - Dst: rd_kafka_toppar_list_to_toppar_member_info_map
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7483,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7485,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7485,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7486,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7487,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7488,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7488,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7490,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7491,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7492,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7492,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7494,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7496,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7497,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7498,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7501
      start: 7474
    functionDepth: 3
    functionLinenumber: 7474
    functionLinenumberEnd: 7501
    functionName: unittest_list_to_map
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_toppar_list_to_toppar_member_info_map
    - RD_MAP_CNT
    - rd_kafka_topic_partition_destroy
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_new
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - RD_MAP_DESTROY
    - RD_MAP_GET
    linkageType: ''
    returnType: int
    signature: int unittest_list_to_map(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7504,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7506,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7507,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7515,1
    - Dst: rd_kafka_topic_info_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7515,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7516,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7517,1
    - Dst: rd_kafka_consumer_protocol_member_metadata_new
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7527,1
    - Dst: rd_kafka_group_MemberMetadata_consumer_read
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7534,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7538,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7539,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7541,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7541,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7544,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7547,1
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7547,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7552,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7555,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7556,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7559,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7560,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7564,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7565,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7566,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7567,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7570
      start: 7503
    functionDepth: 4
    functionLinenumber: 7503
    functionLinenumberEnd: 7570
    functionName: unittest_member_metadata_serdes
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp
    - rd_kafka_group_member_clear
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_cmp
    - rd_list_destroy
    - rd_kafka_consumer_protocol_member_metadata_new
    - RD_UT_ASSERT
    - rd_kafkap_str_destroy
    - rd_kafkap_str_new
    - rd_calloc
    - strcmp
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafkap_bytes_destroy
    - rd_free
    - rd_list_add
    - rd_list_cnt
    - rd_list_new
    - rd_kafka_topic_info_new
    - rd_kafka_group_MemberMetadata_consumer_read
    linkageType: ''
    returnType: int
    signature: int unittest_member_metadata_serdes(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unittest_consumer_group_metadata
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7579,1
    - Dst: unittest_set_intersect
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7580,1
    - Dst: unittest_set_subtract
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7581,1
    - Dst: unittest_map_to_list
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7582,1
    - Dst: unittest_list_to_map
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7583,1
    - Dst: unittest_member_metadata_serdes
      Src: /src/librdkafka/src/rdkafka_cgrp.c:7584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7587
      start: 7576
    functionDepth: 5
    functionLinenumber: 7576
    functionLinenumberEnd: 7587
    functionName: unittest_cgrp
    functionSourceFile: /src/librdkafka/src/rdkafka_cgrp.c
    functionUses: 0
    functionsReached:
    - unittest_map_to_list
    - unittest_set_subtract
    - unittest_member_metadata_serdes
    - unittest_list_to_map
    - unittest_consumer_group_metadata
    - unittest_set_intersect
    linkageType: ''
    returnType: int
    signature: int unittest_cgrp(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_idempotence.h:61,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_idempotence.h:62,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_idempotence.h:64,1
    - Dst: rd_kafka_pid_reset
      Src: /src/librdkafka/src/rdkafka_idempotence.h:68,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_idempotence.h:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - do_lock
    - bumpable
    argTypes:
    - rd_kafka_t*
    - rd_dolock_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 73
    functionName: rd_kafka_idemp_get_pid0
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.h
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_pid_reset
    - likely
    - unlikely
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_idemp_get_pid0(rd_kafka_t *rk,\n                        rd_dolock_t
      do_lock,\n                        rd_bool_t bumpable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: rd_kafka_idemp_get_pid
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_idemp_get_pid(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: rd_kafka_idemp_drain_epoch_bump
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_idemp_drain_epoch_bump(rk, err, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RK
    - ','
    - ERR
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: rd_kafka_idemp_set_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka_idempotence.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_idemp_set_fatal_error(RK, ERR, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhdrhistogram.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: rd_hdr_histogram_destroy
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 2
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_hdr_histogram_destroy(rd_hdr_histogram_t *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/librdkafka/src/rdhdrhistogram.c:105,1
    - Dst: ceil
      Src: /src/librdkafka/src/rdhdrhistogram.c:108,1
    - Dst: log2
      Src: /src/librdkafka/src/rdhdrhistogram.c:108,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdhdrhistogram.c:110,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdhdrhistogram.c:112,1
    - Dst: floor
      Src: /src/librdkafka/src/rdhdrhistogram.c:112,1
    - Dst: log2
      Src: /src/librdkafka/src/rdhdrhistogram.c:112,1
    - Dst: pow
      Src: /src/librdkafka/src/rdhdrhistogram.c:115,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdhdrhistogram.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 3
    argNames:
    - minValue
    - maxValue
    - significantFigures
    argTypes:
    - int64_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 150
    functionName: rd_hdr_histogram_new
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 2
    functionsReached:
    - RD_MAX
    - ceil
    - rd_calloc
    - floor
    - log2
    - pow
    linkageType: ''
    returnType: rd_hdr_histogram_t
    signature: "rd_hdr_histogram_t *rd_hdr_histogram_new(int64_t minValue,\n                                         int64_t
      maxValue,\n                                         int significantFigures)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: rd_hdr_histogram_reset
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_hdr_histogram_reset(rd_hdr_histogram_t *hdr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdr
    - bucketIdx
    - subBucketIdx
    argTypes:
    - rd_hdr_histogram_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: rd_hdr_countsIndex
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_countsIndex(const rd_hdr_histogram_t *hdr,\n                                            int32_t
      bucketIdx,\n                                            int32_t subBucketIdx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_countsIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdr
    - bucketIdx
    - subBucketIdx
    argTypes:
    - rd_hdr_histogram_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: rd_hdr_getCountAtIndex
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_countsIndex
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_getCountAtIndex(const rd_hdr_histogram_t *hdr,\n
      \                                               int32_t bucketIdx,\n                                                int32_t
      subBucketIdx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: bitLen
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE bitLen(int64_t x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitLen
      Src: /src/librdkafka/src/rdhdrhistogram.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: rd_hdr_getBucketIndex
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - bitLen
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_getBucketIndex(const rd_hdr_histogram_t *hdr,\n                                               int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdr
    - v
    - idx
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: rd_hdr_getSubBucketIdx
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_getSubBucketIdx(const rd_hdr_histogram_t *hdr,\n
      \                                               int64_t v,\n                                                int32_t
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hdr
    - bucketIdx
    - subBucketIdx
    argTypes:
    - rd_hdr_histogram_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: rd_hdr_valueFromIndex
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_valueFromIndex(const rd_hdr_histogram_t *hdr,\n                                               int32_t
      bucketIdx,\n                                               int32_t subBucketIdx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_getBucketIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:224,1
    - Dst: rd_hdr_getSubBucketIdx
      Src: /src/librdkafka/src/rdhdrhistogram.c:225,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhdrhistogram.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 230
    functionName: rd_hdr_sizeOfEquivalentValueRange
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - unlikely
    - rd_hdr_getBucketIndex
    - rd_hdr_getSubBucketIdx
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_hdr_sizeOfEquivalentValueRange(const rd_hdr_histogram_t
      *hdr, int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_getBucketIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:234,1
    - Dst: rd_hdr_getSubBucketIdx
      Src: /src/librdkafka/src/rdhdrhistogram.c:235,1
    - Dst: rd_hdr_valueFromIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: rd_hdr_lowestEquivalentValue
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_getBucketIndex
    - rd_hdr_getSubBucketIdx
    - rd_hdr_valueFromIndex
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_hdr_lowestEquivalentValue(const rd_hdr_histogram_t *hdr,
      int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_lowestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:242,1
    - Dst: rd_hdr_sizeOfEquivalentValueRange
      Src: /src/librdkafka/src/rdhdrhistogram.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: rd_hdr_nextNonEquivalentValue
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_sizeOfEquivalentValueRange
    - rd_hdr_lowestEquivalentValue
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_hdr_nextNonEquivalentValue(const rd_hdr_histogram_t *hdr,
      int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_nextNonEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 4
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: rd_hdr_highestEquivalentValue
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_nextNonEquivalentValue
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_hdr_highestEquivalentValue(const rd_hdr_histogram_t *hdr,
      int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_lowestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:254,1
    - Dst: rd_hdr_sizeOfEquivalentValueRange
      Src: /src/librdkafka/src/rdhdrhistogram.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: rd_hdr_medianEquivalentValue
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_sizeOfEquivalentValueRange
    - rd_hdr_lowestEquivalentValue
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_hdr_medianEquivalentValue(const rd_hdr_histogram_t *hdr,
      int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_getBucketIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:261,1
    - Dst: rd_hdr_getSubBucketIdx
      Src: /src/librdkafka/src/rdhdrhistogram.c:262,1
    - Dst: rd_hdr_countsIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: rd_hdr_countsIndexFor
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_getBucketIndex
    - rd_hdr_countsIndex
    - rd_hdr_getSubBucketIdx
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_hdr_countsIndexFor(const rd_hdr_histogram_t *hdr,\n                                               int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - hdr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: RD_HDR_ITER_INIT
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_HDR_ITER_INIT(hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhdrhistogram.c:284,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhdrhistogram.c:288,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhdrhistogram.c:293,1
    - Dst: rd_hdr_getCountAtIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:297,1
    - Dst: rd_hdr_valueFromIndex
      Src: /src/librdkafka/src/rdhdrhistogram.c:300,1
    - Dst: rd_hdr_highestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - it
    argTypes:
    - rd_hdr_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 281
    functionDepth: 5
    functionLinenumber: 281
    functionLinenumberEnd: 305
    functionName: rd_hdr_iter_next
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_highestEquivalentValue
    - rd_hdr_getCountAtIndex
    - unlikely
    - rd_hdr_valueFromIndex
    linkageType: ''
    returnType: int
    signature: int rd_hdr_iter_next(rd_hdr_iter_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_HDR_ITER_INIT
      Src: /src/librdkafka/src/rdhdrhistogram.c:311,1
    - Dst: rd_hdr_histogram_mean
      Src: /src/librdkafka/src/rdhdrhistogram.c:316,1
    - Dst: rd_hdr_iter_next
      Src: /src/librdkafka/src/rdhdrhistogram.c:319,1
    - Dst: rd_hdr_medianEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:326,1
    - Dst: sqrt
      Src: /src/librdkafka/src/rdhdrhistogram.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 332
    functionName: rd_hdr_histogram_stddev
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 1
    functionsReached:
    - rd_hdr_medianEquivalentValue
    - sqrt
    - rd_hdr_histogram_mean
    - rd_hdr_iter_next
    - RD_HDR_ITER_INIT
    linkageType: ''
    returnType: double
    signature: double rd_hdr_histogram_stddev(rd_hdr_histogram_t *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_HDR_ITER_INIT
      Src: /src/librdkafka/src/rdhdrhistogram.c:340,1
    - Dst: rd_hdr_iter_next
      Src: /src/librdkafka/src/rdhdrhistogram.c:342,1
    - Dst: rd_hdr_highestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 6
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: rd_hdr_histogram_max
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_highestEquivalentValue
    - rd_hdr_iter_next
    - RD_HDR_ITER_INIT
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_hdr_histogram_max(const rd_hdr_histogram_t *hdr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_HDR_ITER_INIT
      Src: /src/librdkafka/src/rdhdrhistogram.c:354,1
    - Dst: rd_hdr_iter_next
      Src: /src/librdkafka/src/rdhdrhistogram.c:356,1
    - Dst: rd_hdr_lowestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 6
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: rd_hdr_histogram_min
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_lowestEquivalentValue
    - rd_hdr_iter_next
    - RD_HDR_ITER_INIT
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_hdr_histogram_min(const rd_hdr_histogram_t *hdr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_HDR_ITER_INIT
      Src: /src/librdkafka/src/rdhdrhistogram.c:370,1
    - Dst: rd_hdr_iter_next
      Src: /src/librdkafka/src/rdhdrhistogram.c:375,1
    - Dst: rd_hdr_medianEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - hdr
    argTypes:
    - rd_hdr_histogram_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 6
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: rd_hdr_histogram_mean
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 2
    functionsReached:
    - rd_hdr_medianEquivalentValue
    - rd_hdr_iter_next
    - RD_HDR_ITER_INIT
    linkageType: ''
    returnType: double
    signature: double rd_hdr_histogram_mean(const rd_hdr_histogram_t *hdr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_countsIndexFor
      Src: /src/librdkafka/src/rdhdrhistogram.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - hdr
    - v
    argTypes:
    - rd_hdr_histogram_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: rd_hdr_histogram_record
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 1
    functionsReached:
    - rd_hdr_countsIndexFor
    linkageType: ''
    returnType: int
    signature: int rd_hdr_histogram_record(rd_hdr_histogram_t *hdr, int64_t v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_HDR_ITER_INIT
      Src: /src/librdkafka/src/rdhdrhistogram.c:416,1
    - Dst: rd_hdr_iter_next
      Src: /src/librdkafka/src/rdhdrhistogram.c:424,1
    - Dst: rd_hdr_highestEquivalentValue
      Src: /src/librdkafka/src/rdhdrhistogram.c:427,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hdr
    - q
    argTypes:
    - rd_hdr_histogram_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 6
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: rd_hdr_histogram_quantile
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 2
    functionsReached:
    - rd_hdr_highestEquivalentValue
    - rd_hdr_iter_next
    - RD_HDR_ITER_INIT
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_hdr_histogram_quantile(const rd_hdr_histogram_t *hdr, double
      q)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:457,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdhdrhistogram.c:458,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:460,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdhdrhistogram.c:463,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:464,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:467,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 447
    functionDepth: 7
    functionLinenumber: 447
    functionLinenumberEnd: 469
    functionName: ut_high_sigfig
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_quantile
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_high_sigfig(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:472,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:483,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:484,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdhdrhistogram.c:487,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdhdrhistogram.c:488,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:489,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:494,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 471
    functionDepth: 7
    functionLinenumber: 471
    functionLinenumberEnd: 496
    functionName: ut_quantile
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_quantile
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_quantile(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:499,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:505,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:506,1
    - Dst: rd_hdr_histogram_mean
      Src: /src/librdkafka/src/rdhdrhistogram.c:509,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:510,1
    - Dst: rd_dbl_eq0
      Src: /src/librdkafka/src/rdhdrhistogram.c:510,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:513,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 498
    functionDepth: 7
    functionLinenumber: 498
    functionLinenumberEnd: 515
    functionName: ut_mean
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_mean
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - rd_dbl_eq0
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_mean(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:519,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:526,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:527,1
    - Dst: rd_hdr_histogram_stddev
      Src: /src/librdkafka/src/rdhdrhistogram.c:530,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:531,1
    - Dst: rd_dbl_eq0
      Src: /src/librdkafka/src/rdhdrhistogram.c:531,1
    - Dst: fabs
      Src: /src/librdkafka/src/rdhdrhistogram.c:533,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:535,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 518
    functionDepth: 7
    functionLinenumber: 518
    functionLinenumberEnd: 537
    functionName: ut_stddev
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - fabs
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - rd_dbl_eq0
    - RD_UT_PASS
    - rd_hdr_histogram_stddev
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_stddev(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:540,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:545,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:546,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:549,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:554,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 556
    functionName: ut_totalcount
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_totalcount(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:560,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:565,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:566,1
    - Dst: rd_hdr_histogram_max
      Src: /src/librdkafka/src/rdhdrhistogram.c:569,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:570,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:572,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 7
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: ut_max
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_max
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_max(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:577,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:582,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:583,1
    - Dst: rd_hdr_histogram_min
      Src: /src/librdkafka/src/rdhdrhistogram.c:586,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:587,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:589,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 591
    functionName: ut_min
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_min
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_min(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:594,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:599,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:600,1
    - Dst: rd_hdr_histogram_reset
      Src: /src/librdkafka/src/rdhdrhistogram.c:603,1
    - Dst: rd_hdr_histogram_max
      Src: /src/librdkafka/src/rdhdrhistogram.c:605,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:606,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:608,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 610
    functionName: ut_reset
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_new
    - rd_hdr_histogram_max
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_hdr_histogram_reset
    linkageType: ''
    returnType: int
    signature: int ut_reset(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:614,1
    - Dst: rd_hdr_histogram_mean
      Src: /src/librdkafka/src/rdhdrhistogram.c:617,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:618,1
    - Dst: isnan
      Src: /src/librdkafka/src/rdhdrhistogram.c:618,1
    - Dst: rd_hdr_histogram_stddev
      Src: /src/librdkafka/src/rdhdrhistogram.c:619,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:620,1
    - Dst: isnan
      Src: /src/librdkafka/src/rdhdrhistogram.c:620,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:622,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 613
    functionDepth: 7
    functionLinenumber: 613
    functionLinenumberEnd: 624
    functionName: ut_nan
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_mean
    - rd_hdr_histogram_destroy
    - RD_UT_ASSERT
    - isnan
    - RD_UT_PASS
    - rd_hdr_histogram_stddev
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_nan(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:631,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:632,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:635,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:638,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 627
    functionDepth: 2
    functionLinenumber: 627
    functionLinenumberEnd: 639
    functionName: ut_sigfigs
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_new
    - RD_UT_ASSERT
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int ut_sigfigs(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:644,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:646,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:649,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:653,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 655
    functionName: ut_minmax_trackable
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_new
    - RD_UT_ASSERT
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int ut_minmax_trackable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:659,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:660,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:661,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:663,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 658
    functionDepth: 4
    functionLinenumber: 658
    functionLinenumberEnd: 665
    functionName: ut_unitmagnitude_overflow
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_unitmagnitude_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_hdr_histogram_new
      Src: /src/librdkafka/src/rdhdrhistogram.c:681,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdhdrhistogram.c:683,1
    - Dst: rd_hdr_histogram_record
      Src: /src/librdkafka/src/rdhdrhistogram.c:685,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:686,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdhdrhistogram.c:689,1
    - Dst: rd_hdr_histogram_quantile
      Src: /src/librdkafka/src/rdhdrhistogram.c:690,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhdrhistogram.c:691,1
    - Dst: rd_hdr_histogram_destroy
      Src: /src/librdkafka/src/rdhdrhistogram.c:696,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhdrhistogram.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 667
    functionDepth: 7
    functionLinenumber: 667
    functionLinenumberEnd: 698
    functionName: ut_subbucketmask_overflow
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - rd_hdr_histogram_quantile
    - rd_hdr_histogram_destroy
    - rd_hdr_histogram_record
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_hdr_histogram_new
    linkageType: ''
    returnType: int
    signature: int ut_subbucketmask_overflow(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_high_sigfig
      Src: /src/librdkafka/src/rdhdrhistogram.c:704,1
    - Dst: ut_quantile
      Src: /src/librdkafka/src/rdhdrhistogram.c:705,1
    - Dst: ut_mean
      Src: /src/librdkafka/src/rdhdrhistogram.c:706,1
    - Dst: ut_stddev
      Src: /src/librdkafka/src/rdhdrhistogram.c:707,1
    - Dst: ut_totalcount
      Src: /src/librdkafka/src/rdhdrhistogram.c:708,1
    - Dst: ut_max
      Src: /src/librdkafka/src/rdhdrhistogram.c:709,1
    - Dst: ut_min
      Src: /src/librdkafka/src/rdhdrhistogram.c:710,1
    - Dst: ut_reset
      Src: /src/librdkafka/src/rdhdrhistogram.c:711,1
    - Dst: ut_nan
      Src: /src/librdkafka/src/rdhdrhistogram.c:712,1
    - Dst: ut_sigfigs
      Src: /src/librdkafka/src/rdhdrhistogram.c:713,1
    - Dst: ut_minmax_trackable
      Src: /src/librdkafka/src/rdhdrhistogram.c:714,1
    - Dst: ut_unitmagnitude_overflow
      Src: /src/librdkafka/src/rdhdrhistogram.c:715,1
    - Dst: ut_subbucketmask_overflow
      Src: /src/librdkafka/src/rdhdrhistogram.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 8
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: unittest_rdhdrhistogram
    functionSourceFile: /src/librdkafka/src/rdhdrhistogram.c
    functionUses: 0
    functionsReached:
    - ut_quantile
    - ut_reset
    - ut_max
    - ut_minmax_trackable
    - ut_sigfigs
    - ut_stddev
    - ut_high_sigfig
    - ut_totalcount
    - ut_mean
    - ut_subbucketmask_overflow
    - ut_unitmagnitude_overflow
    - ut_min
    - ut_nan
    linkageType: ''
    returnType: int
    signature: int unittest_rdhdrhistogram(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/librdkafka/src/rdregex.c:54,1
    - Dst: re_regfree
      Src: /src/librdkafka/src/rdregex.c:56,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdregex.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - re
    argTypes:
    - rd_regex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: rd_regex_destroy
    functionSourceFile: /src/librdkafka/src/rdregex.c
    functionUses: 1
    functionsReached:
    - regfree
    - rd_free
    - re_regfree
    linkageType: ''
    returnType: void
    signature: void rd_regex_destroy(rd_regex_t *re)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdregex.c:68,1
    - Dst: regcomp
      Src: /src/librdkafka/src/rdregex.c:72,1
    - Dst: regerror
      Src: /src/librdkafka/src/rdregex.c:75,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdregex.c:76,1
    - Dst: re_regcomp
      Src: /src/librdkafka/src/rdregex.c:82,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdregex.c:85,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdregex.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pattern
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 12
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: rd_regex_comp
    functionSourceFile: /src/librdkafka/src/rdregex.c
    functionUses: 1
    functionsReached:
    - rd_free
    - regerror
    - re_regcomp
    - rd_calloc
    - regcomp
    - rd_strlcpy
    linkageType: ''
    returnType: rd_regex_t
    signature: 'rd_regex_t *

      rd_regex_comp(const char *pattern, char *errstr, size_t errstr_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regexec
      Src: /src/librdkafka/src/rdregex.c:101,1
    - Dst: re_regexec
      Src: /src/librdkafka/src/rdregex.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - re
    - str
    argTypes:
    - rd_regex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 5
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: rd_regex_exec
    functionSourceFile: /src/librdkafka/src/rdregex.c
    functionUses: 1
    functionsReached:
    - re_regexec
    - regexec
    linkageType: ''
    returnType: int
    signature: int rd_regex_exec(rd_regex_t *re, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/librdkafka/src/rdregex.c:124,1
    - Dst: regerror
      Src: /src/librdkafka/src/rdregex.c:127,1
    - Dst: regexec
      Src: /src/librdkafka/src/rdregex.c:131,1
    - Dst: regfree
      Src: /src/librdkafka/src/rdregex.c:133,1
    - Dst: re_regcomp
      Src: /src/librdkafka/src/rdregex.c:143,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdregex.c:146,1
    - Dst: re_regexec
      Src: /src/librdkafka/src/rdregex.c:150,1
    - Dst: re_regfree
      Src: /src/librdkafka/src/rdregex.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pattern
    - str
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 12
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: rd_regex_match
    functionSourceFile: /src/librdkafka/src/rdregex.c
    functionUses: 0
    functionsReached:
    - regexec
    - regerror
    - re_regcomp
    - re_regexec
    - regfree
    - regcomp
    - re_regfree
    - rd_strlcpy
    linkageType: ''
    returnType: int
    signature: "int rd_regex_match(const char *pattern,\n                   const
      char *str,\n                   char *errstr,\n                   size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:72,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - member_id
    argTypes:
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: rd_kafka_member_assigned_partitions_pair_new
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - rd_list_new
    linkageType: ''
    returnType: rd_kafka_member_assigned_partitions_pair_t
    signature: 'rd_kafka_member_assigned_partitions_pair_t *

      rd_kafka_member_assigned_partitions_pair_new(rd_kafkap_str_t *member_id)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:84,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _pair
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 86
    functionName: rd_kafka_member_assigned_partitions_pair_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_member_assigned_partitions_pair_destroy(void *_pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: rd_kafka_member_assigned_partitions_pair_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_member_assigned_partitions_pair_cmp(const void *_a,\n
      \                                                       const void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - member_id
    - rd_kafka_member_assigned_partitions_pair_list
    argTypes:
    - rd_kafkap_str_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: rd_kafka_find_member_assigned_partitions_pair_by_member_id
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_find
    linkageType: ''
    returnType: rd_kafka_member_assigned_partitions_pair_t
    signature: "rd_kafka_member_assigned_partitions_pair_t *\nrd_kafka_find_member_assigned_partitions_pair_by_member_id(\n
      \   rd_kafkap_str_t *member_id,\n    rd_list_t *rd_kafka_member_assigned_partitions_pair_list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:168,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:172,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:180,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:182,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:184,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:188,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:190,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:191,1
    - Dst: rd_kafka_member_assigned_partitions_pair_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:192,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:196,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:199,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:200,1
    - Dst: rd_kafka_use_rack_aware_assignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - topic
    - mdi
    argTypes:
    - rd_kafka_assignor_topic_t*
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 213
    functionName: rd_kafka_topic_assignment_state_new
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - rd_list_cnt
    - rd_list_add
    - rd_kafka_member_assigned_partitions_pair_new
    - rd_calloc
    - rd_list_new
    - rd_malloc
    - RD_LIST_FOREACH
    - rd_kafka_use_rack_aware_assignment
    linkageType: ''
    returnType: rd_kafka_topic_assignment_state_t
    signature: "rd_kafka_topic_assignment_state_t *\nrd_kafka_topic_assignment_state_new(rd_kafka_assignor_topic_t
      *topic,\n                                    const rd_kafka_metadata_internal_t
      *mdi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:220,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:221,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:222,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:223,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - _rktas
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 225
    functionName: rd_kafka_topic_assignment_state_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_assignment_state_destroy(void *_rktas)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:244,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:245,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:248,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:249,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:252,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:254,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:256,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:261,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:262,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:263,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:263,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:264,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 270
    functionName: rd_kafka_topic_assignment_state_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp
    - rd_assert
    - rd_list_cnt
    - RD_CMP
    - rd_list_elem
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_assignment_state_cmp(const void *_a, const void
      *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rktas
    - partition
    - rack
    argTypes:
    - rd_kafka_topic_assignment_state_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 290
    functionName: rd_kafka_topic_assignment_state_rack_search
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_topic_assignment_state_rack_search(\n    rd_kafka_topic_assignment_state_t
      *rktas,\n    int partition,\n    const char *rack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_find_member_assigned_partitions_pair_by_member_id
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:301,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:303,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:306,1
    - Dst: rd_kafka_topic_partition_list_add_range
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:308,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:312,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - member
    - rktas
    - partition
    argTypes:
    - rd_kafka_group_member_t*
    - rd_kafka_topic_assignment_state_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 320
    functionName: rd_kafka_assign_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_list_add
    - rd_kafka_find_member_assigned_partitions_pair_by_member_id
    - rd_kafka_topic_partition_list_add_range
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assign_partition(rd_kafka_group_member_t *member,\n
      \                                     rd_kafka_topic_assignment_state_t *rktas,\n
      \                                     int32_t partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:330,1
    - Dst: rd_kafka_topic_assignment_state_rack_search
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - member
    - rktas
    - partition
    argTypes:
    - rd_kafka_group_member_t*
    - rd_kafka_topic_assignment_state_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: rd_kafka_racks_match
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_assignment_state_rack_search
    - RD_KAFKAP_STR_LEN
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_racks_match(rd_kafka_group_member_t *member,\n
      \                                     rd_kafka_topic_assignment_state_t *rktas,\n
      \                                     int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - member
    - rktas
    - partition
    argTypes:
    - rd_kafka_group_member_t*
    - rd_kafka_topic_assignment_state_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: rd_kafka_always
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_always(rd_kafka_group_member_t *member,\n                                 rd_kafka_topic_assignment_state_t
      *rktas,\n                                 int32_t partition)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:360,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:362,1
    - Dst: rd_kafka_find_member_assigned_partitions_pair_by_member_id
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:372,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:379,1
    - Dst: may_assign
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:393,1
    - Dst: rd_kafka_assign_partition
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - rktas
    argTypes:
    - rd_kafka_topic_assignment_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 405
    functionName: rd_kafka_assign_ranges
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - may_assign
    - rd_alloca
    - RD_LIST_FOREACH
    - rd_kafka_assign_partition
    - rd_kafka_find_member_assigned_partitions_pair_by_member_id
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assign_ranges(\n    rd_kafka_topic_assignment_state_t
      *rktas,\n    rd_bool_t (*may_assign)(rd_kafka_group_member_t *member,\n                            rd_kafka_topic_assignment_state_t
      *rktas,\n                            int32_t partition))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:416,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:445,1
    - Dst: rd_kafka_topic_assignment_state_rack_search
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:447,1
    - Dst: rd_kafka_find_member_assigned_partitions_pair_by_member_id
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:455,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:463,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:470,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:476,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:480,1
    - Dst: rd_kafka_assign_partition
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:483,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - rktas_bucket
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 490
    functionName: rd_kafka_assign_co_partitioned
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_assert
    - rd_list_cnt
    - rd_kafka_topic_assignment_state_rack_search
    - rd_list_elem
    - rd_kafka_assign_partition
    - rd_kafka_find_member_assigned_partitions_pair_by_member_id
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assign_co_partitioned(\n    rd_list_t *\n        rktas_bucket
      /* Contained Type: rd_kafka_topic_assignment_state_t* */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:445,1
    - Dst: rd_kafka_topic_assignment_state_rack_search
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:447,1
    - Dst: rd_kafka_find_member_assigned_partitions_pair_by_member_id
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:455,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:463,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 475
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_kafka_topic_assignment_state_rack_search
    - RD_KAFKAP_STR_LEN
    - rd_kafka_find_member_assigned_partitions_pair_by_member_id
    - rd_list_cnt
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(member, consumers, j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:445,1
    - Dst: rd_kafka_topic_assignment_state_rack_search
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:447,1
    - Dst: rd_kafka_find_member_assigned_partitions_pair_by_member_id
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:455,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 469
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_kafka_topic_assignment_state_rack_search
    - RD_KAFKAP_STR_LEN
    - rd_kafka_find_member_assigned_partitions_pair_by_member_id
    - rd_list_cnt
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktas, rktas_bucket, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assign_partition
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 4
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_kafka_assign_partition
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktas, rktas_bucket, j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:507,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:509,1
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:516,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:524,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:526,1
    - Dst: rd_kafka_topic_assignment_state_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:526,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:532,1
    - Dst: rd_kafka_topic_assignment_state_cmp
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:540,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:542,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:548,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:549,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:551,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:560,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:560,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:562,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:563,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:568,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:574,1
    - Dst: rd_kafka_assign_ranges
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:576,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:578,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:579,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:584,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:586,1
    - Dst: rd_kafka_assign_co_partitioned
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:588,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:595,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:602,1
    - Dst: rd_kafka_assign_ranges
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:604,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:607,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 11
    argNames:
    - rk
    - rkas
    - member_id
    - metadata
    - members
    - member_cnt
    - eligible_topics
    - eligible_topic_cnt
    - errstr
    - errstr_size
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - char*
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - size_t
    - rd_kafka_assignor_topic_t**
    - size_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 493
    functionDepth: 6
    functionLinenumber: 493
    functionLinenumberEnd: 611
    functionName: rd_kafka_range_assignor_assign_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - rd_assert
    - rd_list_add
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - rd_kafka_dbg
    - rd_kafka_topic_assignment_state_cmp
    - rd_kafka_assign_co_partitioned
    - rd_list_elem
    - rd_kafka_metadata_get_internal
    - rd_kafka_assign_ranges
    - rd_kafka_topic_assignment_state_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_range_assignor_assign_cb(rd_kafka_t *rk,\n
      \                                 const rd_kafka_assignor_t *rkas,\n                                  const
      char *member_id,\n                                  const rd_kafka_metadata_t
      *metadata,\n                                  rd_kafka_group_member_t *members,\n
      \                                 size_t member_cnt,\n                                  rd_kafka_assignor_topic_t
      **eligible_topics,\n                                  size_t eligible_topic_cnt,\n
      \                                 char *errstr,\n                                  size_t
      errstr_size,\n                                  void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_assignment_state_cmp
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:540,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:542,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:548,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:549,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 552
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_kafka_topic_assignment_state_cmp
    - rd_list_new
    - rd_list_add
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktas, rktas_list, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:560,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:560,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:562,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:563,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:568,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:574,1
    - Dst: rd_kafka_assign_ranges
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:576,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:578,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:579,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:584,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:586,1
    - Dst: rd_kafka_assign_co_partitioned
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 559
    functionDepth: 5
    functionLinenumber: 559
    functionLinenumberEnd: 590
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_kafka_assign_co_partitioned
    - rd_list_elem
    - rd_kafka_assign_ranges
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktas_current_bucket, rktas_buckets, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:595,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:602,1
    - Dst: rd_kafka_assign_ranges
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 594
    functionDepth: 5
    functionLinenumber: 594
    functionLinenumberEnd: 605
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 9
    functionsReached:
    - rd_list_cnt
    - rd_kafka_assign_ranges
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktas, rktas_list, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:645,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:648,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:649,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:652,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:655,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:656,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:658,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:660,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:662,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:663,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 666
    functionName: ut_testOneConsumerNoTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerNoTopic(rd_kafka_t *rk,\n                          const
      rd_kafka_assignor_t *rkas,\n                          rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:679,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:682,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:683,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:686,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:689,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:690,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:692,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:694,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:696,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:697,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 700
    functionName: ut_testOneConsumerNonexistentTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerNonexistentTopic(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:712,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:713,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:716,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:719,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:720,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:722,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:723,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:727,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:729,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:730,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 733
    functionName: ut_testOneConsumerOneTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerOneTopic(rd_kafka_t *rk,\n                           const
      rd_kafka_assignor_t *rkas,\n                           rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:745,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:746,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:749,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:752,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:753,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:755,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:757,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:759,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:760,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 763
    functionName: ut_testOnlyAssignsPartitionsFromSubscribedTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testOnlyAssignsPartitionsFromSubscribedTopics(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:774,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:775,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:778,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:781,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:782,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:784,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:786,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:788,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:789,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 792
    functionName: ut_testOneConsumerMultipleTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerMultipleTopics(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:803,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:804,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:807,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:809,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:812,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:813,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:815,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:817,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:818,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:820,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:821,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:822,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 825
    functionName: ut_testTwoConsumersOneTopicOnePartition
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersOneTopicOnePartition(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:836,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:837,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:840,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:842,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:845,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:846,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:848,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:850,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:851,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:853,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:854,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:855,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 858
    functionName: ut_testTwoConsumersOneTopicTwoPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersOneTopicTwoPartitions(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:869,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:870,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:873,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:875,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:877,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:880,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:881,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:883,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:885,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:886,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:887,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:889,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:890,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:891,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:892,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 895
    functionName: ut_testMultipleConsumersMixedTopicSubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testMultipleConsumersMixedTopicSubscriptions(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:906,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:907,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:910,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:912,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:915,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:916,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:918,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:920,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:921,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:923,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:924,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:925,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 928
    functionName: ut_testTwoConsumersTwoTopicsSixPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersTwoTopicsSixPartitions(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:959,1
    - Dst: rd_kafka_metadata_new_topic_with_partition_replicas_mock
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:961,1
    - Dst: ut_populate_internal_broker_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:963,1
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:964,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:965,1
    - Dst: ut_populate_internal_topic_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:966,1
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:967,1
    - Dst: snprintf
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:971,1
    - Dst: ut_init_member_with_rack
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:972,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:977,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:979,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:982,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 13
    argNames:
    - rk
    - rkas
    - members
    - member_cnt
    - replication_factor
    - num_broker_racks
    - topic_cnt
    - topics
    - partitions
    - subscriptions_count
    - subscriptions
    - consumer_racks
    - metadata
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_group_member_t*
    - size_t
    - int
    - int
    - size_t
    - char*[]
    - int*
    - int*
    - char**[]
    - int*
    - rd_kafka_metadata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 984
    functionName: setupRackAwareAssignment0
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - ut_populate_internal_broker_metadata
    - rd_assert
    - ut_init_member_with_rack
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - rd_kafka_metadata_new_topic_with_partition_replicas_mock
    - ut_populate_internal_topic_metadata
    - ut_destroy_metadata
    - rd_kafka_metadata_get_internal
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int setupRackAwareAssignment0(rd_kafka_t *rk,\n                                     const
      rd_kafka_assignor_t *rkas,\n                                     rd_kafka_group_member_t
      *members,\n                                     size_t member_cnt,\n                                     int
      replication_factor,\n                                     int num_broker_racks,\n
      \                                    size_t topic_cnt,\n                                     char
      *topics[],\n                                     int *partitions,\n                                     int
      *subscriptions_count,\n                                     char **subscriptions[],\n
      \                                    int *consumer_racks,\n                                     rd_kafka_metadata_t
      **metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - rk
    - rkas
    - members
    - member_cnt
    - replication_factor
    - num_broker_racks
    - topic_cnt
    - topics
    - partitions
    - subscriptions_count
    - subscriptions
    - consumer_racks
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_group_member_t*
    - size_t
    - int
    - int
    - size_t
    - char*[]
    - int*
    - int*
    - char**[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1002
    functionName: setupRackAwareAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int setupRackAwareAssignment(rd_kafka_t *rk,\n                                    const
      rd_kafka_assignor_t *rkas,\n                                    rd_kafka_group_member_t
      *members,\n                                    size_t member_cnt,\n                                    int
      replication_factor,\n                                    int num_broker_racks,\n
      \                                   size_t topic_cnt,\n                                    char
      *topics[],\n                                    int *partitions,\n                                    int
      *subscriptions_count,\n                                    char **subscriptions[],\n
      \                                   int *consumer_racks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - rk
    - ','
    - rkas
    - ','
    - members
    - ','
    - member_cnt
    - ','
    - topic_cnt
    - ','
    - topics
    - ','
    - partitions
    - ','
    - subscriptions_count
    - ','
    - subscriptions
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1014
    functionName: verifyNonRackAwareAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "verifyNonRackAwareAssignment(rk, rkas, members, member_cnt, topic_cnt,
      \\\n                                     topics, partitions, subscriptions_count,
      \ \\\n                                     subscriptions, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1185,1
    - Dst: verifyNonRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1188,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1189,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1189,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1200,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1200,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1201,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1204,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1205,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1212,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1213,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1215,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1216,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1217,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1219,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1219,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1220,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1223,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1224,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1231,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1232,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1234,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1235,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1236,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1239,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1239,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1240,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1243,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1244,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1251,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1252,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1254,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1255,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1256,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1259
    functionName: ut_testRackAwareAssignmentWithNonEqualSubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNonRackAwareAssignment
    - verifyNumPartitionsWithRackMismatch
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithNonEqualSubscription(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1276,1
    - Dst: verifyNonRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1280,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1281,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1281,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1295,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1296,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1298,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1301,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1302,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1309,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1310,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1313,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1314,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1315,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1261
    functionDepth: 1
    functionLinenumber: 1261
    functionLinenumberEnd: 1319
    functionName: ut_testRackAwareAssignmentWithUniformPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNonRackAwareAssignment
    - verifyNumPartitionsWithRackMismatch
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithUniformPartitions(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1336,1
    - Dst: verifyNonRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1340,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1341,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1341,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1352,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1352,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1353,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1356,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1357,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1364,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1365,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1367,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1368,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1369,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1372,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1372,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1373,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1376,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1377,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1384,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1385,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1387,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1388,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1389,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1392,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1392,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1393,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1396,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1397,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1404,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1405,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1407,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1408,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1409,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1412
    functionName: ut_testRackAwareAssignmentWithUniformPartitionsNonEqualSubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNonRackAwareAssignment
    - verifyNumPartitionsWithRackMismatch
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithUniformPartitionsNonEqualSubscription(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1432,1
    - Dst: setupRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1435,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1435,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1436,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1438,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1439,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1448,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1449,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1451,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1451,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1452,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1455,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1456,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1465,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1466,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1468,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1469,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1470,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1472,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1472,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1473,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1476,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1477,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1486,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1487,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1489,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1490,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1491,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1494
    functionName: ut_testRackAwareAssignmentWithCoPartitioning0
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNumPartitionsWithRackMismatch
    - setupRackAwareAssignment
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithCoPartitioning0(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1511,1
    - Dst: setupRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1514,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1514,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1515,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1517,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1518,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1527,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1528,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1530,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1530,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1531,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1534,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1535,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1544,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1545,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1547,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1548,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1549,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1552,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1552,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1553,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1556,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1557,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1566,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1567,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1569,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1570,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1571,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1574,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1574,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1575,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1578,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1579,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1588,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1589,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1591,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1592,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1593,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1596
    functionName: ut_testRackAwareAssignmentWithCoPartitioning1
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNumPartitionsWithRackMismatch
    - setupRackAwareAssignment
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithCoPartitioning1(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1612,1
    - Dst: setupRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1615,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1615,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1616,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1619,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1620,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1629,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1630,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1632,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1632,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1633,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1636,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1637,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1646,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1647,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1648,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1649,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1650,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1598
    functionDepth: 1
    functionLinenumber: 1598
    functionLinenumberEnd: 1653
    functionName: ut_testCoPartitionedAssignmentWithSameSubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - verifyNumPartitionsWithRackMismatch
    - setupRackAwareAssignment
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int ut_testCoPartitionedAssignmentWithSameSubscription(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1664,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1665,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1667,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1669,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1671,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1671,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1674,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1675,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1677,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1678,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1680,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1682,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1709,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1715,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1719,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1720,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1722,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1727,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1728,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1734
    functionName: rd_kafka_range_assignor_unittest
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafkap_str_new
    - rd_kafka_conf_set
    - rd_kafka_assignor_find
    - RD_UT_ASSERT
    - rd_kafkap_str_destroy
    - RD_ARRAY_SIZE
    - RD_UT_FAIL
    - RD_UT_SAY
    - rd_kafka_new
    - rd_clock
    - rd_getenv
    linkageType: ''
    returnType: int
    signature: int rd_kafka_range_assignor_unittest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignor_add
      Src: /src/librdkafka/src/rdkafka_range_assignor.c:1742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1741
    functionDepth: 1
    functionLinenumber: 1741
    functionLinenumberEnd: 1748
    functionName: rd_kafka_range_assignor_init
    functionSourceFile: /src/librdkafka/src/rdkafka_range_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignor_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_range_assignor_init(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlerror
      Src: /src/librdkafka/src/rddl.c:51,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rddl.c:53,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rddl.c:55,1
    - Dst: strchr
      Src: /src/librdkafka/src/rddl.c:57,1
    - Dst: rd_strerror_w32
      Src: /src/librdkafka/src/rddl.c:64,1
    - Dst: GetLastError
      Src: /src/librdkafka/src/rddl.c:64,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rddl.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: rd_dl_error
    functionSourceFile: /src/librdkafka/src/rddl.c
    functionUses: 0
    functionsReached:
    - rd_strerror_w32
    - GetLastError
    - strchr
    - rd_strdup
    - dlerror
    linkageType: ''
    returnType: char
    signature: char *rd_dl_error(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/librdkafka/src/rddl.c:80,1
    - Dst: LoadLibraryA
      Src: /src/librdkafka/src/rddl.c:83,1
    - Dst: rd_dl_error
      Src: /src/librdkafka/src/rddl.c:86,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rddl.c:87,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rddl.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - path
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 92
    functionName: rd_dl_open0
    functionSourceFile: /src/librdkafka/src/rddl.c
    functionUses: 0
    functionsReached:
    - rd_dl_error
    - rd_free
    - dlopen
    - rd_snprintf
    - LoadLibraryA
    linkageType: ''
    returnType: rd_dl_hnd_t
    signature: 'rd_dl_hnd_t *

      rd_dl_open0(const char *path, char *errstr, size_t errstr_size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_dl_open0
      Src: /src/librdkafka/src/rddl.c:109,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rddl.c:118,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rddl.c:120,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rddl.c:127,1
    - Dst: strlen
      Src: /src/librdkafka/src/rddl.c:131,1
    - Dst: strlen
      Src: /src/librdkafka/src/rddl.c:131,1
    - Dst: strlen
      Src: /src/librdkafka/src/rddl.c:135,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rddl.c:136,1
    - Dst: strlen
      Src: /src/librdkafka/src/rddl.c:136,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rddl.c:137,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rddl.c:138,1
    - Dst: strlen
      Src: /src/librdkafka/src/rddl.c:138,1
    - Dst: rd_dl_open0
      Src: /src/librdkafka/src/rddl.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - path
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 142
    functionName: rd_dl_open
    functionSourceFile: /src/librdkafka/src/rddl.c
    functionUses: 0
    functionsReached:
    - strrchr
    - rd_alloca
    - rd_dl_open0
    - strlen
    - memcpy
    linkageType: ''
    returnType: rd_dl_hnd_t
    signature: rd_dl_hnd_t *rd_dl_open(const char *path, char *errstr, size_t errstr_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlclose
      Src: /src/librdkafka/src/rddl.c:151,1
    - Dst: FreeLibrary
      Src: /src/librdkafka/src/rddl.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rd_dl_hnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: rd_dl_close
    functionSourceFile: /src/librdkafka/src/rddl.c
    functionUses: 0
    functionsReached:
    - FreeLibrary
    - dlclose
    linkageType: ''
    returnType: void
    signature: void rd_dl_close(rd_dl_hnd_t *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlsym
      Src: /src/librdkafka/src/rddl.c:167,1
    - Dst: GetProcAddress
      Src: /src/librdkafka/src/rddl.c:169,1
    - Dst: rd_dl_error
      Src: /src/librdkafka/src/rddl.c:172,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rddl.c:173,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rddl.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - symbol
    - errstr
    - errstr_size
    argTypes:
    - rd_dl_hnd_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 179
    functionName: rd_dl_sym
    functionSourceFile: /src/librdkafka/src/rddl.c
    functionUses: 0
    functionsReached:
    - rd_dl_error
    - rd_free
    - rd_snprintf
    - GetProcAddress
    - dlsym
    linkageType: ''
    returnType: void
    signature: "void *rd_dl_sym(rd_dl_hnd_t *handle,\n                const char *symbol,\n
      \               char *errstr,\n                size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_refcnt_add
      Src: /src/librdkafka/src/rdkafka_topic.c:73,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: rd_kafka_topic_keep_app
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_refcnt_add
    - rd_kafka_topic_keep
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_keep_app(rd_kafka_topic_t *rkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:83,1
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:83,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:85,1
    - Dst: rd_refcnt_sub
      Src: /src/librdkafka/src/rdkafka_topic.c:85,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_topic.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: rd_kafka_topic_destroy_app
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_assert
    - rd_kafka_topic_destroy0
    - rd_refcnt_sub
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_destroy_app(rd_kafka_topic_t *app_rkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:98,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_topic.c:98,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:100,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_topic.c:101,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:103,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_topic.c:105,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:107,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:110,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_topic.c:110,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:111,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:113,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:114,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:117,1
    - Dst: rd_kafka_anyconf_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:119,1
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:121,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:122,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:123,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 126
    functionName: rd_kafka_topic_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - rd_kafka_wrlock
    - TAILQ_FOREACH_SAFE
    - rd_kafka_wrunlock
    - rd_list_destroy
    - rd_kafkap_str_destroy
    - rd_avg_destroy
    - rd_refcnt_get
    - rd_kafka_assert
    - rd_refcnt_destroy
    - rd_kafka_anyconf_destroy
    - rwlock_destroy
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_destroy_final(rd_kafka_topic_t *rkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:135,1
    - Dst: rd_kafka_rkt_get_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:135,1
    - Dst: rd_kafka_lwtopic_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:136,1
    - Dst: rd_kafka_topic_destroy_app
      Src: /src/librdkafka/src/rdkafka_topic.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: rd_kafka_topic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 79
    functionsReached:
    - rd_kafka_lwtopic_destroy
    - rd_kafka_topic_destroy_app
    - unlikely
    - rd_kafka_rkt_get_lw
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_destroy(rd_kafka_topic_t *app_rkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:158,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:159,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_topic.c:160,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:161,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - func
    - line
    - rk
    - topic
    - do_lock
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 169
    functionName: rd_kafka_topic_find_fl
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_topic_keep
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *rd_kafka_topic_find_fl(const char *func,\n                                         int
      line,\n                                         rd_kafka_t *rk,\n                                         const
      char *topic,\n                                         int do_lock)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:180,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:181,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_topic.c:182,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:183,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - func
    - line
    - rk
    - topic
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 190
    functionName: rd_kafka_topic_find0_fl
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafkap_str_cmp
    - rd_kafka_topic_keep
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *rd_kafka_topic_find0_fl(const char *func,\n                                          int
      line,\n                                          rd_kafka_t *rk,\n                                          const
      rd_kafkap_str_t *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:199,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_topic.c:200,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - topic_id
    argTypes:
    - rd_kafka_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: rd_kafka_topic_find_by_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    - TAILQ_FOREACH
    - rd_kafka_topic_keep
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *rd_kafka_topic_find_by_topic_id(rd_kafka_t *rk,\n
      \                                                 rd_kafka_Uuid_t topic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_topic.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 219
    functionName: rd_kafka_topic_cmp_rkt
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_cmp_rkt(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:226,1
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:226,1
    - Dst: rd_refcnt_sub
      Src: /src/librdkafka/src/rdkafka_topic.c:227,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:230,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - lrkt
    argTypes:
    - rd_kafka_lwtopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: rd_kafka_lwtopic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_assert
    - rd_free
    - rd_refcnt_destroy
    - rd_refcnt_sub
    linkageType: ''
    returnType: void
    signature: void rd_kafka_lwtopic_destroy(rd_kafka_lwtopic_t *lrkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_topic.c:244,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_topic.c:246,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_topic.c:248,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_topic.c:250,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_topic.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: rd_kafka_lwtopic_new
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    - rd_refcnt_init
    linkageType: ''
    returnType: rd_kafka_lwtopic_t
    signature: rd_kafka_lwtopic_t *rd_kafka_lwtopic_new(rd_kafka_t *rk, const char
      *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_topic.c:271,1
    - Dst: rd_kafka_rkt_get_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:271,1
    - Dst: rd_kafka_topic_new0
      Src: /src/librdkafka/src/rdkafka_topic.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: rd_kafka_topic_proper
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 3
    functionsReached:
    - likely
    - rd_kafka_rkt_get_lw
    - rd_kafka_topic_new0
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: rd_kafka_topic_t *rd_kafka_topic_proper(rd_kafka_topic_t *app_rkt)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_topic.c:299,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:301,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_topic.c:302,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:307,1
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_topic.c:308,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:310,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:312,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src/rdkafka_topic.c:320,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/src/rdkafka_topic.c:323,1
    - Dst: rd_kafka_topic_conf_finalize
      Src: /src/librdkafka/src/rdkafka_topic.c:332,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:335,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_topic.c:337,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:341,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka_topic.c:342,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_topic.c:349,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_topic.c:351,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_topic.c:353,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:356,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:360,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_topic.c:387,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_topic.c:399,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_topic.c:416,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_topic.c:468,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_topic.c:471,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:475,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:476,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_topic.c:478,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_topic.c:479,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_topic.c:480,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_topic.c:481,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_topic.c:482,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:484,1
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdkafka_topic.c:486,1
    - Dst: rd_kafka_toppar_new
      Src: /src/librdkafka/src/rdkafka_topic.c:489,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_topic.c:491,1
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_topic.c:495,1
    - Dst: rd_kafka_topic_metadata_update
      Src: /src/librdkafka/src/rdkafka_topic.c:500,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:507,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_topic.c:511,1
    - Dst: rd_kafka_anyconf_dump_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:514,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 118
    argCount: 5
    argNames:
    - rk
    - topic
    - conf
    - existing
    - do_lock
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_topic_conf_t*
    - int*
    - int
    assertStmts:
    - condition: (!rkt->rkt_conf.partitioner_str)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/librdkafka/src/rdkafka_topic.c
    constantsTouched: []
    func_position:
      end: 518
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 518
    functionName: rd_kafka_topic_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 3
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_interval_init
    - rd_kafka_toppar_new
    - rd_kafka_wrlock
    - rd_kafka_topic_conf_new
    - rd_snprintf
    - rd_kafka_topic_conf_finalize
    - assert
    - rwlock_init
    - rd_kafka_topic_conf_destroy
    - memcpy
    - rd_list_init
    - rd_kafka_set_last_error
    - rd_kafka_topic_metadata_update
    - rd_refcnt_init
    - rd_kafkap_str_new
    - rd_kafka_topic_keep
    - rd_calloc
    - strcmp
    - rd_kafka_topic_find
    - RD_KAFKAP_STR_PR
    - TAILQ_INSERT_TAIL
    - TAILQ_INIT
    - rd_clock
    - rd_kafka_log
    - rd_free
    - rd_avg_init
    - rd_kafka_wrunlock
    - rd_kafka_topic_conf_dup
    - rd_kafka_anyconf_dump_dbg
    - strlen
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *rd_kafka_topic_new0(rd_kafka_t *rk,\n                                      const
      char *topic,\n                                      rd_kafka_topic_conf_t *conf,\n
      \                                     int *existing,\n                                      int
      do_lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_new0
      Src: /src/librdkafka/src/rdkafka_topic.c:533,1
    - Dst: rd_kafka_topic_keep_app
      Src: /src/librdkafka/src/rdkafka_topic.c:538,1
    - Dst: rd_kafka_topic_fast_leader_query
      Src: /src/librdkafka/src/rdkafka_topic.c:542,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_topic.c:545,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - topic
    - conf
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 548
    functionName: rd_kafka_topic_new
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 43
    functionsReached:
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_keep_app
    - rd_kafka_topic_fast_leader_query
    - rd_kafka_topic_new0
    linkageType: ''
    returnType: rd_kafka_topic_t
    signature: "rd_kafka_topic_t *rd_kafka_topic_new(rd_kafka_t *rk,\n                                     const
      char *topic,\n                                     rd_kafka_topic_conf_t *conf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:561,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rkt
    - state
    argTypes:
    - rd_kafka_topic_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 571
    functionName: rd_kafka_topic_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_set_state(rd_kafka_topic_t *rkt, int state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:582,1
    - Dst: rd_kafka_rkt_lw_const
      Src: /src/librdkafka/src/rdkafka_topic.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 586
    functionName: rd_kafka_topic_name
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 24
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_kafka_rkt_lw_const
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_topic_name(const rd_kafka_topic_t *app_rkt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_broker_delegate
      Src: /src/librdkafka/src/rdkafka_topic.c:613,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:623,1
    - Dst: rd_kafka_toppar_broker_delegate
      Src: /src/librdkafka/src/rdkafka_topic.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rktp
    - broker_id
    - rkb
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - int32_t
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 639
    functionName: rd_kafka_toppar_broker_update
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_broker_delegate
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_broker_update(rd_kafka_toppar_t *rktp,\n                                  int32_t
      broker_id,\n                                  rd_kafka_broker_t *rkb,\n                                  const
      char *reason)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_topic.c:672,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:673,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_topic.c:676,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:686,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:693,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:702,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:703,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:707,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:730,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:747,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:749,1
    - Dst: rd_kafka_toppar_broker_update
      Src: /src/librdkafka/src/rdkafka_topic.c:754,1
    - Dst: rd_kafka_toppar_set_offset_validation_position
      Src: /src/librdkafka/src/rdkafka_topic.c:762,1
    - Dst: rd_kafka_toppar_fetch_decide_next_fetch_start_pos
      Src: /src/librdkafka/src/rdkafka_topic.c:764,1
    - Dst: rd_kafka_offset_validate
      Src: /src/librdkafka/src/rdkafka_topic.c:765,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:768,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:770,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - rkt
    - partition
    - leader_id
    - leader
    - leader_epoch
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int32_t
    - rd_kafka_broker_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 773
    functionName: rd_kafka_toppar_leader_update
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_broker_keep
    - rd_kafka_toppar_fetch_decide_next_fetch_start_pos
    - rd_kafka_toppar_lock
    - rd_kafka_offset_validate
    - rd_kafka_broker_destroy
    - rd_kafka_toppar_get
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_set_offset_validation_position
    - rd_kafka_toppar_broker_update
    - unlikely
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_leader_update(rd_kafka_topic_t *rkt,\n                                         int32_t
      partition,\n                                         int32_t leader_id,\n                                         rd_kafka_broker_t
      *leader,\n                                         int32_t leader_epoch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:790,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:791,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:795,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:796,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:800,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_topic.c:807,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:810,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:811,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:813,1
    - Dst: rd_kafka_toppar_broker_update
      Src: /src/librdkafka/src/rdkafka_topic.c:814,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:817,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 823
    functionName: rd_kafka_toppar_delegate_to_leader
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_toppar_lock
    - rd_kafka_broker_destroy
    - rd_kafka_broker_find_by_nodeid
    - rd_kafka_toppar_broker_update
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_toppar_delegate_to_leader(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:835,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:836,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:839,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:845,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 847
    functionName: rd_kafka_toppar_forget_leader
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_toppar_lock
    - rd_kafka_broker_destroy
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_forget_leader(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:857,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:858,1
    - Dst: rd_kafka_toppar_broker_delegate
      Src: /src/librdkafka/src/rdkafka_topic.c:860,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:862,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: rd_kafka_toppar_undelegate
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_broker_delegate
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_undelegate(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_topic.c:874,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:879,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_topic.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rkt
    - rktp
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 882
    functionName: rd_kafka_toppar_idemp_msgid_save
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - rd_clock
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_idemp_msgid_save(rd_kafka_topic_t *rkt,\n                                             const
      rd_kafka_toppar_t *rktp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:894,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:906,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_topic.c:912,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:914,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_topic.c:916,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rkt
    - rktp
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 918
    functionName: rd_kafka_toppar_idemp_msgid_restore
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - TAILQ_REMOVE
    - rd_free
    - rd_clock
    - TAILQ_FOREACH
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_idemp_msgid_restore(rd_kafka_topic_t *rkt,\n
      \                                               rd_kafka_toppar_t *rktp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_topic.c:934,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_topic.c:937,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:940,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:941,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_topic.c:942,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:948,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_topic.c:957,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka_topic.c:966,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:968,1
    - Dst: rd_kafka_toppar_desired_unlink
      Src: /src/librdkafka/src/rdkafka_topic.c:975,1
    - Dst: rd_kafka_toppar_new
      Src: /src/librdkafka/src/rdkafka_topic.c:977,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:979,1
    - Dst: rd_kafka_toppar_idemp_msgid_restore
      Src: /src/librdkafka/src/rdkafka_topic.c:989,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:991,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:995,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:997,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:1002,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1003,1
    - Dst: rd_kafka_toppar_enq_error
      Src: /src/librdkafka/src/rdkafka_topic.c:1008,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1019,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1023,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_topic.c:1040,1
    - Dst: rd_kafka_toppar_idemp_msgid_save
      Src: /src/librdkafka/src/rdkafka_topic.c:1041,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1046,1
    - Dst: rd_kafka_toppar_desired_link
      Src: /src/librdkafka/src/rdkafka_topic.c:1055,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:1057,1
    - Dst: rd_kafka_toppar_enq_error
      Src: /src/librdkafka/src/rdkafka_topic.c:1058,1
    - Dst: rd_kafka_toppar_broker_delegate
      Src: /src/librdkafka/src/rdkafka_topic.c:1066,1
    - Dst: rd_kafka_toppar_broker_leave_for_remove
      Src: /src/librdkafka/src/rdkafka_topic.c:1070,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1073,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1075,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:1079,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - rkt
    - partition_cnt
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 1086
    functionName: rd_kafka_topic_partition_cnt_update
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_new
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_desired_link
    - rd_kafka_toppar_idemp_msgid_save
    - unlikely
    - rd_kafka_toppar_destroy
    - rd_kafka_toppar_desired_get
    - rd_kafka_pid_valid
    - rd_kafka_toppar_enq_error
    - rd_kafka_terminating
    - rd_kafka_toppar_desired_unlink
    - rd_kafka_is_idempotent
    - rd_calloc
    - RD_LIST_FOREACH
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_broker_leave_for_remove
    - rd_kafka_log
    - rd_free
    - rd_kafka_toppar_idemp_msgid_restore
    - rd_kafka_toppar_broker_delegate
    - rd_kafka_toppar_keep
    - likely
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_cnt_update(rd_kafka_topic_t *rkt,\n                                               int32_t
      partition_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:1108,1
    - Dst: rd_kafka_toppar_enq_error
      Src: /src/librdkafka/src/rdkafka_topic.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkt
    - err
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: rd_kafka_topic_propagate_notexists
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_toppar_enq_error
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_propagate_notexists(rd_kafka_topic_t *rkt,\n                                               rd_kafka_resp_err_t
      err)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_topic.c:1122,1
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_topic.c:1123,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_topic.c:1130,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1131,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1132,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1139,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1143,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:1147,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_topic.c:1148,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1151,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:1155,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_topic.c:1156,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1158,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:1162,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_topic.c:1166,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1168,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_topic.c:1170,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_topic.c:1176,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1180,1
    - Dst: rd_kafka_msg_partitioner
      Src: /src/librdkafka/src/rdkafka_topic.c:1180,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_topic.c:1182,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1186,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1192,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_topic.c:1197,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - rkt
    - err
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1117
    functionDepth: 5
    functionLinenumber: 1117
    functionLinenumberEnd: 1203
    functionName: rd_kafka_topic_assign_uas
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - TAILQ_FOREACH_SAFE
    - rd_kafka_msgq_move
    - rd_kafka_msg_partitioner
    - rd_kafka_dr_msgq
    - rd_kafka_err2str
    - rd_kafka_toppar_get
    - rd_kafka_toppar_unlock
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_msgq_enq
    - unlikely
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_assign_uas(rd_kafka_topic_t *rkt,\n                                      rd_kafka_resp_err_t
      err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1223,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:1223,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:1228,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1241,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:1246,1
    - Dst: rd_kafka_topic_set_state
      Src: /src/librdkafka/src/rdkafka_topic.c:1250,1
    - Dst: rd_kafka_topic_partition_cnt_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1255,1
    - Dst: rd_kafka_topic_assign_uas
      Src: /src/librdkafka/src/rdkafka_topic.c:1258,1
    - Dst: rd_kafka_topic_propagate_notexists
      Src: /src/librdkafka/src/rdkafka_topic.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - rkt
    - err
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1218
    functionDepth: 6
    functionLinenumber: 1218
    functionLinenumberEnd: 1264
    functionName: rd_kafka_topic_set_notexists
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_cnt_update
    - rd_kafka_terminating
    - rd_kafka_topic_propagate_notexists
    - rd_kafka_topic_set_state
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_assign_uas
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_set_notexists(rd_kafka_topic_t *rkt,\n                                       rd_kafka_resp_err_t
      err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1278,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:1278,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_topic.c:1289,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1292,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_topic.c:1298,1
    - Dst: rd_kafka_topic_set_state
      Src: /src/librdkafka/src/rdkafka_topic.c:1302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rkt
    - topic_id
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1274
    functionDepth: 2
    functionLinenumber: 1274
    functionLinenumberEnd: 1305
    functionName: rd_kafka_topic_set_exists
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_terminating
    - rd_kafka_topic_set_state
    - RD_KAFKAP_STR_PR
    - unlikely
    - rd_kafka_Uuid_cmp
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_set_exists(rd_kafka_topic_t *rkt,\n                                    rd_kafka_Uuid_t
      topic_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1320,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:1320,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:1325,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1331,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_topic.c:1333,1
    - Dst: rd_kafka_topic_set_state
      Src: /src/librdkafka/src/rdkafka_topic.c:1335,1
    - Dst: rd_kafka_topic_partition_cnt_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1340,1
    - Dst: rd_kafka_topic_assign_uas
      Src: /src/librdkafka/src/rdkafka_topic.c:1343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rkt
    - err
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1317
    functionDepth: 6
    functionLinenumber: 1317
    functionLinenumberEnd: 1346
    functionName: rd_kafka_topic_set_error
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_cnt_update
    - rd_kafka_terminating
    - rd_kafka_err2str
    - rd_kafka_topic_set_state
    - rd_kafka_topic_assign_uas
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_set_error(rd_kafka_topic_t *rkt,\n                                   rd_kafka_resp_err_t
      err)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1377,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_topic.c:1381,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1383,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_topic.c:1383,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_topic.c:1390,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_topic.c:1398,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1403,1
    - Dst: rd_kafka_topic_set_notexists
      Src: /src/librdkafka/src/rdkafka_topic.c:1413,1
    - Dst: rd_kafka_topic_set_exists
      Src: /src/librdkafka/src/rdkafka_topic.c:1416,1
    - Dst: rd_kafka_topic_set_error
      Src: /src/librdkafka/src/rdkafka_topic.c:1420,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_topic.c:1426,1
    - Dst: rd_kafka_topic_partition_cnt_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1429,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1440,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_topic.c:1444,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_topic.c:1445,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_topic.c:1467,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1469,1
    - Dst: rd_kafka_toppar_leader_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1490,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1500,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_topic.c:1502,1
    - Dst: rd_kafka_topic_assign_uas
      Src: /src/librdkafka/src/rdkafka_topic.c:1518,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1522,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1527,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:1529,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 4
    argNames:
    - rkt
    - mdt
    - mdit
    - ts_age
    argTypes:
    - rd_kafka_topic_t*
    - struct rd_kafka_metadata_topic*
    - rd_kafka_metadata_topic_internal_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1362
    functionDepth: 7
    functionLinenumber: 1362
    functionLinenumberEnd: 1532
    functionName: rd_kafka_topic_metadata_update
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_set_exists
    - rd_kafka_toppar_get
    - rd_kafka_topic_wrunlock
    - unlikely
    - rd_kafka_terminating
    - rd_kafka_err2str
    - rd_kafka_Uuid_base64str
    - RD_IF_FREE
    - rd_kafka_broker_find_by_nodeid
    - rd_kafka_toppar_leader_update
    - rd_kafka_topic_assign_uas
    - rd_kafka_topic_set_error
    - rd_kafka_topic_wrlock
    - rd_free
    - rd_kafka_topic_set_notexists
    - rd_kafka_topic_partition_cnt_update
    - rd_kafka_broker_destroy
    - rd_malloc
    - rd_kafka_Uuid_cmp
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_metadata_update(rd_kafka_topic_t *rkt,\n                               const
      struct rd_kafka_metadata_topic *mdt,\n                               const rd_kafka_metadata_topic_internal_t
      *mdit,\n                               rd_ts_t ts_age)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1546,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_topic.c:1548,1
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_topic.c:1549,1
    - Dst: rd_kafka_topic_find_by_topic_id
      Src: /src/librdkafka/src/rdkafka_topic.c:1551,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1556,1
    - Dst: rd_kafka_topic_metadata_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1560,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:1560,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1562,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_topic.c:1564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - rkb
    - mdt
    - mdit
    argTypes:
    - rd_kafka_broker_t*
    - struct rd_kafka_metadata_topic*
    - rd_kafka_metadata_topic_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1539
    functionDepth: 8
    functionLinenumber: 1539
    functionLinenumberEnd: 1567
    functionName: rd_kafka_topic_metadata_update2
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_find_by_topic_id
    - rd_kafka_topic_find
    - rd_clock
    - likely
    - rd_kafka_topic_metadata_update
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_metadata_update2(\n    rd_kafka_broker_t *rkb,\n
      \   const struct rd_kafka_metadata_topic *mdt,\n    const rd_kafka_metadata_topic_internal_t
      *mdit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_topic.c:1580,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_topic.c:1581,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:1585,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:1585,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:1587,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:1588,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:1588,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:1591,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:1591,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1575
    functionDepth: 4
    functionLinenumber: 1575
    functionLinenumberEnd: 1594
    functionName: rd_kafka_topic_get_all_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_list_cnt
    - rd_list_new
    - RD_LIST_FOREACH
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: rd_list_t
    signature: rd_list_t *rd_kafka_topic_get_all_partitions(rd_kafka_topic_t *rkt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1612,1
    - Dst: rd_kafka_topic_get_all_partitions
      Src: /src/librdkafka/src/rdkafka_topic.c:1613,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1614,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1617,1
    - Dst: rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_topic.c:1618,1
    - Dst: rd_kafka_toppar_purge_and_disable_queues
      Src: /src/librdkafka/src/rdkafka_topic.c:1619,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1620,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1622,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1624,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:1626,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1627,1
    - Dst: rd_kafka_topic_partition_cnt_update
      Src: /src/librdkafka/src/rdkafka_topic.c:1631,1
    - Dst: RD_LIST_FOREACH_REVERSE
      Src: /src/librdkafka/src/rdkafka_topic.c:1636,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_topic.c:1638,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1640,1
    - Dst: rd_kafka_toppar_desired_del
      Src: /src/librdkafka/src/rdkafka_topic.c:1641,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1642,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1644,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:1647,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:1650,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1657,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1660,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_topic.c:1662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1604
    functionDepth: 5
    functionLinenumber: 1604
    functionLinenumberEnd: 1663
    functionName: rd_kafka_topic_partitions_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_topic_wrunlock
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_list_destroy
    - RD_LIST_FOREACH_REVERSE
    - rd_kafka_msgq_purge
    - rd_kafka_toppar_purge_and_disable_queues
    - rd_kafka_topic_keep
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_wrlock
    - rd_kafka_toppar_unlock
    - rd_kafka_topic_get_all_partitions
    - rd_free
    - rd_kafka_topic_partition_cnt_update
    - rd_kafka_toppar_desired_del
    - rd_kafka_toppar_keep
    - rd_kafka_assert
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_partitions_remove(rd_kafka_topic_t *rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1617,1
    - Dst: rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_topic.c:1618,1
    - Dst: rd_kafka_toppar_purge_and_disable_queues
      Src: /src/librdkafka/src/rdkafka_topic.c:1619,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1620,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1623
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 12
    functionsReached:
    - rd_kafka_toppar_purge_and_disable_queues
    - rd_kafka_toppar_lock
    - rd_kafka_msgq_purge
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rktp, partitions, i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_get_state
      Src: /src/librdkafka/src/rdkafka_topic.c:1683,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - rktp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1702
    functionName: rd_kafka_toppar_needs_query
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_get_state
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_toppar_needs_query(rd_kafka_t *rk,\n                                               rd_kafka_toppar_t
      *rktp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_topic.c:1720,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1722,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:1723,1
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_topic.c:1726,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1728,1
    - Dst: rd_kafka_metadata_cache_topic_get
      Src: /src/librdkafka/src/rdkafka_topic.c:1732,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1734,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:1738,1
    - Dst: rd_kafka_topic_set_state
      Src: /src/librdkafka/src/rdkafka_topic.c:1740,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1744,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1751,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1752,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1760,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_topic.c:1767,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_topic.c:1768,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1773,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_topic.c:1777,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_topic.c:1785,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_topic.c:1791,1
    - Dst: rd_kafka_toppar_needs_query
      Src: /src/librdkafka/src/rdkafka_topic.c:1797,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1800,1
    - Dst: rd_kafka_msgq_age_scan
      Src: /src/librdkafka/src/rdkafka_topic.c:1815,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1821,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1822,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1825,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_topic.c:1828,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:1829,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_topic.c:1831,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_topic.c:1832,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_topic.c:1838,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:1840,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_topic.c:1841,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:1843,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_topic.c:1845,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_topic.c:1846,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1853,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - rk
    - now
    argTypes:
    - rd_kafka_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1715
    functionDepth: 3
    functionLinenumber: 1715
    functionLinenumberEnd: 1854
    functionName: rd_kafka_topic_scan_all
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_metadata_refresh_topics
    - rd_kafka_dr_msgq
    - rd_kafka_toppar_get
    - rd_kafka_topic_wrunlock
    - TAILQ_FOREACH
    - rd_kafka_toppar_destroy
    - rd_kafka_rdlock
    - rd_kafka_topic_rdunlock
    - rd_list_destroy
    - rd_kafka_msgq_age_scan
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_list_init
    - rd_interval_immediate
    - rd_kafka_toppar_needs_query
    - rd_kafka_rdunlock
    - rd_kafka_topic_set_state
    - rd_list_find
    - rd_kafka_topic_wrlock
    - rd_kafka_msgq_len
    - rd_strdup
    - rd_clock
    - rd_kafka_toppar_unlock
    - rd_list_cnt
    - rd_list_add
    - rd_kafka_metadata_cache_topic_get
    - rd_kafka_dbg
    - rd_kafka_topic_rdlock
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_scan_all(rd_kafka_t *rk, rd_ts_t now)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_topic.c:1868,1
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:1868,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_topic.c:1870,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1871,1
    - Dst: rd_kafka_toppar_broker
      Src: /src/librdkafka/src/rdkafka_topic.c:1874,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1877,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:1878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - app_rkt
    - partition
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1880
    functionName: rd_kafka_topic_partition_available
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 3
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_kafka_toppar_broker
    - rd_assert
    - rd_kafka_broker_destroy
    - rd_kafka_toppar_get
    - unlikely
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_available(const rd_kafka_topic_t *app_rkt,\n
      \                                      int32_t partition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rkt_get_lw
      Src: /src/librdkafka/src/rdkafka_topic.c:1886,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1887,1
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_topic.c:1891,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_topic.c:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1903
    functionName: rd_kafka_topic_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_find
    - rd_kafka_topic_destroy0
    - unlikely
    - rd_kafka_rkt_get_lw
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_topic_opaque(const rd_kafka_topic_t *app_rkt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_topic.c:1910,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_topic.c:1913,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_topic.c:1926,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_topic.c:1931,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1938
    functionName: rd_kafka_topic_info_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - strcmp
    - RD_CMP
    - rd_strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_info_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_topic.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1951
    functionName: rd_kafka_topic_info_topic_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_info_topic_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_topic.c:1961,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_topic.c:1964,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_topic.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - topic
    - partition_cnt
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1958
    functionDepth: 1
    functionLinenumber: 1958
    functionLinenumberEnd: 1971
    functionName: rd_kafka_topic_info_new
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 1
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_kafka_topic_info_t
    signature: "rd_kafka_topic_info_t *rd_kafka_topic_info_new(const char *topic,\n
      \                                              int partition_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_topic.c:1986,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:1988,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:1989,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_topic.c:1989,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:1995,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:1999,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_topic.c:2000,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2002,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2008,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_topic.c:2013,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2015,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_topic.c:2016,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2021,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2034,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_topic.c:2039,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - topic
    - partition_cnt
    - mdpi
    argTypes:
    - char*
    - int
    - rd_kafka_metadata_partition_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2046
    functionName: rd_kafka_topic_info_new_with_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_new
    - rd_tmpabuf_add_alloc
    - rd_tmpabuf_finalize
    - rd_tmpabuf_alloc
    - strlen
    - rd_tmpabuf_write_str
    - unlikely
    linkageType: ''
    returnType: rd_kafka_topic_info_t
    signature: "rd_kafka_topic_info_t *rd_kafka_topic_info_new_with_rack(\n    const
      char *topic,\n    int partition_cnt,\n    const rd_kafka_metadata_partition_internal_t
      *mdpi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:2052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ti
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2053
    functionName: rd_kafka_topic_info_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_info_destroy_free(void *ti)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_regex_match
      Src: /src/librdkafka/src/rdkafka_topic.c:2070,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.c:2071,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_topic.c:2072,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_topic.c:2078,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - pattern
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2064
    functionDepth: 13
    functionLinenumber: 2064
    functionLinenumberEnd: 2079
    functionName: rd_kafka_topic_match
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 1
    functionsReached:
    - rd_regex_match
    - strcmp
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_match(rd_kafka_t *rk,\n                         const
      char *pattern,\n                         const char *topic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_topic.c:2094,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:2095,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_topic.c:2095,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_topic.c:2097,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_topic.c:2101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - rkt
    - do_rk_lock
    - force
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2088
    functionDepth: 3
    functionLinenumber: 2088
    functionLinenumberEnd: 2102
    functionName: rd_kafka_topic_leader_query0
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_list_destroy
    - rd_kafka_metadata_refresh_topics
    - rd_list_init
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_leader_query0(rd_kafka_t *rk,\n                                  rd_kafka_topic_t
      *rkt,\n                                  int do_rk_lock,\n                                  rd_bool_t
      force)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.c:2121,1
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdkafka_topic.c:2122,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_topic.c:2123,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_topic.c:2124,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_topic.c:2124,1
    - Dst: rd_kafka_metadata_cache_topics_to_list
      Src: /src/librdkafka/src/rdkafka_topic.c:2125,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - topics
    - cache_cntp
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2115
    functionDepth: 3
    functionLinenumber: 2115
    functionLinenumberEnd: 2129
    functionName: rd_kafka_local_topics_to_list
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_list_add
    - rd_kafka_metadata_cache_topics_to_list
    - rd_list_grow
    - rd_strdup
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_local_topics_to_list(rd_kafka_t *rk,\n                                   rd_list_t
      *topics,\n                                   int *cache_cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_topic.c:2140,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_topic.c:2147,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_topic.c:2150,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_topic.c:2155,1
    - Dst: rd_kafka_metadata_cache_topic_update
      Src: /src/librdkafka/src/rdkafka_topic.c:2156,1
    - Dst: rd_kafka_topic_metadata_update
      Src: /src/librdkafka/src/rdkafka_topic.c:2158,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_topic.c:2158,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_topic.c:2159,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_topic.c:2160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - rkt
    - partition_cnt
    - leader_id
    argTypes:
    - rd_kafka_topic_t*
    - int
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2136
    functionDepth: 8
    functionLinenumber: 2136
    functionLinenumberEnd: 2161
    functionName: rd_ut_kafka_topic_set_topic_exists
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_calloc
    - rd_alloca
    - memset
    - rd_kafka_metadata_cache_topic_update
    - rd_clock
    - rd_kafka_topic_metadata_update
    linkageType: ''
    returnType: void
    signature: "void rd_ut_kafka_topic_set_topic_exists(rd_kafka_topic_t *rkt,\n                                        int
      partition_cnt,\n                                        int32_t leader_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_t*::rk_conf::closesocket_cb
      Src: /src/librdkafka/src/rdkafka_transport.c:74,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_transport.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - s
    argTypes:
    - rd_kafka_t*
    - rd_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: rd_kafka_transport_close0
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_socket_close
    - rd_kafka_t*::rk_conf::closesocket_cb
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_close0(rd_kafka_t *rk, rd_socket_t s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_close
      Src: /src/librdkafka/src/rdkafka_transport.c:86,1
    - Dst: rd_kafka_sasl_close
      Src: /src/librdkafka/src/rdkafka_transport.c:89,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_transport.c:92,1
    - Dst: WSACloseEvent
      Src: /src/librdkafka/src/rdkafka_transport.c:95,1
    - Dst: rd_kafka_transport_close0
      Src: /src/librdkafka/src/rdkafka_transport.c:99,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_transport.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: rd_kafka_transport_close
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_transport_ssl_close
    - rd_kafka_buf_destroy
    - rd_kafka_sasl_close
    - rd_kafka_transport_close0
    - WSACloseEvent
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_close(rd_kafka_transport_t *rktrans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_get_iov
      Src: /src/librdkafka/src/rdkafka_transport.c:137,1
    - Dst: sendmsg
      Src: /src/librdkafka/src/rdkafka_transport.c:147,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:157,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:157,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_transport.c:162,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_transport.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rktrans
    - slice
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_slice_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 167
    functionName: rd_kafka_transport_socket_sendmsg
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_slice_get_iov
    - rd_assert
    - rd_snprintf
    - sendmsg
    - rd_strerror
    - rd_slice_read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_sendmsg(rd_kafka_transport_t *rktrans,\n
      \                                                rd_slice_t *slice,\n                                                 char
      *errstr,\n                                                 size_t errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_peeker
      Src: /src/librdkafka/src/rdkafka_transport.c:182,1
    - Dst: send
      Src: /src/librdkafka/src/rdkafka_transport.c:186,1
    - Dst: _WIN32
      Src: /src/librdkafka/src/rdkafka_transport.c:187,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:195,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:200,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:202,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:209,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:212,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:213,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_transport.c:219,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_transport.c:220,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - rktrans
    - slice
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_slice_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 233
    functionName: rd_kafka_transport_socket_send0
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - _WIN32
    - rd_assert
    - rd_snprintf
    - rd_socket_strerror
    - rd_slice_peeker
    - send
    - unlikely
    - rd_slice_read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_send0(rd_kafka_transport_t *rktrans,\n
      \                                              rd_slice_t *slice,\n                                               char
      *errstr,\n                                               size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_socket_sendmsg
      Src: /src/librdkafka/src/rdkafka_transport.c:244,1
    - Dst: rd_kafka_transport_socket_send0
      Src: /src/librdkafka/src/rdkafka_transport.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rktrans
    - slice
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_slice_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: rd_kafka_transport_socket_send
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_socket_send0
    - rd_kafka_transport_socket_sendmsg
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_send(rd_kafka_transport_t *rktrans,\n
      \                                             rd_slice_t *slice,\n                                              char
      *errstr,\n                                              size_t errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_write_iov
      Src: /src/librdkafka/src/rdkafka_transport.c:267,1
    - Dst: recvmsg
      Src: /src/librdkafka/src/rdkafka_transport.c:277,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:278,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:284,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:289,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:294,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:295,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_transport.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - rktrans
    - rbuf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 304
    functionName: rd_kafka_transport_socket_recvmsg
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_buf_get_write_iov
    - recvmsg
    - rd_buf_write
    - rd_snprintf
    - rd_strerror
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_recvmsg(rd_kafka_transport_t *rktrans,\n
      \                                                rd_buf_t *rbuf,\n                                                 char
      *errstr,\n                                                 size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_writable
      Src: /src/librdkafka/src/rdkafka_transport.c:319,1
    - Dst: recv
      Src: /src/librdkafka/src/rdkafka_transport.c:322,1
    - Dst: _WIN32
      Src: /src/librdkafka/src/rdkafka_transport.c:323,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:329,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:337,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:339,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:342,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:345,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_transport.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - rktrans
    - rbuf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 362
    functionName: rd_kafka_transport_socket_recv0
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_buf_get_writable
    - _WIN32
    - rd_buf_write
    - rd_snprintf
    - rd_socket_strerror
    - unlikely
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_recv0(rd_kafka_transport_t *rktrans,\n
      \                                              rd_buf_t *rbuf,\n                                               char
      *errstr,\n                                               size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_socket_recvmsg
      Src: /src/librdkafka/src/rdkafka_transport.c:370,1
    - Dst: rd_kafka_transport_socket_recv0
      Src: /src/librdkafka/src/rdkafka_transport.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rktrans
    - buf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 375
    functionName: rd_kafka_transport_socket_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_socket_recv0
    - rd_kafka_transport_socket_recvmsg
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_socket_recv(rd_kafka_transport_t *rktrans,\n
      \                                             rd_buf_t *buf,\n                                              char
      *errstr,\n                                              size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_connect_done
      Src: /src/librdkafka/src/rdkafka_transport.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rktrans
    - errstr
    argTypes:
    - rd_kafka_transport_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: rd_kafka_transport_connect_done
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_connect_done
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_transport_connect_done(rd_kafka_transport_t *rktrans,\n
      \                                    char *errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_send
      Src: /src/librdkafka/src/rdkafka_transport.c:403,1
    - Dst: rd_kafka_transport_socket_send
      Src: /src/librdkafka/src/rdkafka_transport.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rktrans
    - slice
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_slice_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 395
    functionDepth: 3
    functionLinenumber: 395
    functionLinenumberEnd: 411
    functionName: rd_kafka_transport_send
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_socket_send
    - rd_kafka_transport_ssl_send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_send(rd_kafka_transport_t *rktrans,\n                                rd_slice_t
      *slice,\n                                char *errstr,\n                                size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_recv
      Src: /src/librdkafka/src/rdkafka_transport.c:423,1
    - Dst: rd_kafka_transport_socket_recv
      Src: /src/librdkafka/src/rdkafka_transport.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rktrans
    - rbuf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: rd_kafka_transport_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_ssl_recv
    - rd_kafka_transport_socket_recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_recv(rd_kafka_transport_t *rktrans,\n                                rd_buf_t
      *rbuf,\n                                char *errstr,\n                                size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_request_sent
      Src: /src/librdkafka/src/rdkafka_transport.c:443,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_transport.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: rd_kafka_transport_request_sent
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_slice_size
    - rd_kafka_interceptors_on_request_sent
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_transport_request_sent(rd_kafka_broker_t *rkb,\n                                     rd_kafka_buf_t
      *rkbuf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_transport.c:477,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdkafka_transport.c:479,1
    - Dst: rd_kafka_transport_recv
      Src: /src/librdkafka/src/rdkafka_transport.c:484,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_transport.c:495,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_transport.c:501,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_transport.c:504,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:509,1
    - Dst: rd_buf_write_ensure_contig
      Src: /src/librdkafka/src/rdkafka_transport.c:524,1
    - Dst: rd_kafka_transport_framed_recv
      Src: /src/librdkafka/src/rdkafka_transport.c:527,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_transport.c:531,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:542,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_transport.c:543,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - rktrans
    - rkbufp
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_kafka_buf_t**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 545
    functionName: rd_kafka_transport_framed_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_transport_recv
    - rd_kafka_transport_framed_recv
    - rd_buf_write_ensure_contig
    - rd_kafka_err2str
    - rd_slice_init
    - rd_buf_write_ensure
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_new
    - rd_buf_write_pos
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_framed_recv(rd_kafka_transport_t *rktrans,\n
      \                                  rd_kafka_buf_t **rkbufp,\n                                   char
      *errstr,\n                                   size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:559,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:562,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:565,1
    - Dst: getsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:572,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:575,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 583
    functionName: rd_kafka_transport_post_connect_setup
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_socket_strerror
    - rd_rkb_log
    - getsockopt
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_post_connect_setup(rd_kafka_transport_t *rktrans)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:595,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:597,1
    - Dst: rd_kafka_transport_post_connect_setup
      Src: /src/librdkafka/src/rdkafka_transport.c:600,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_transport.c:607,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_transport.c:608,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_transport.c:610,1
    - Dst: rd_kafka_transport_ssl_connect
      Src: /src/librdkafka/src/rdkafka_transport.c:615,1
    - Dst: rd_kafka_transport_connect_done
      Src: /src/librdkafka/src/rdkafka_transport.c:617,1
    - Dst: rd_kafka_transport_connect_done
      Src: /src/librdkafka/src/rdkafka_transport.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: rd_kafka_transport_connected
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_connect_done
    - rd_sockaddr2str
    - rd_kafka_broker_set_state
    - rd_kafka_transport_ssl_connect
    - rd_rkb_dbg
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_transport_post_connect_setup
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_connected(rd_kafka_transport_t *rktrans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:639,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:641,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rktrans
    - errp
    argTypes:
    - rd_kafka_transport_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 648
    functionName: rd_kafka_transport_get_socket_error
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_socket_strerror
    - getsockopt
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_get_socket_error(rd_kafka_transport_t *rktrans,\n
      \                                              int *errp)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_transport.c:673,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:676,1
    - Dst: rd_kafka_transport_get_socket_error
      Src: /src/librdkafka/src/rdkafka_transport.c:680,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_transport.c:682,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:687,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:690,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:693,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:695,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:698,1
    - Dst: rd_kafka_transport_connect_done
      Src: /src/librdkafka/src/rdkafka_transport.c:700,1
    - Dst: rd_kafka_transport_connected
      Src: /src/librdkafka/src/rdkafka_transport.c:703,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_transport.c:709,1
    - Dst: rd_kafka_transport_ssl_handshake
      Src: /src/librdkafka/src/rdkafka_transport.c:713,1
    - Dst: rd_kafka_broker_conn_closed
      Src: /src/librdkafka/src/rdkafka_transport.c:717,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_transport.c:725,1
    - Dst: rd_kafka_sasl_io_event
      Src: /src/librdkafka/src/rdkafka_transport.c:733,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_transport.c:735,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_transport.c:742,1
    - Dst: rd_kafka_recv
      Src: /src/librdkafka/src/rdkafka_transport.c:759,1
    - Dst: rd_kafka_broker_conn_closed
      Src: /src/librdkafka/src/rdkafka_transport.c:768,1
    - Dst: rd_kafka_send
      Src: /src/librdkafka/src/rdkafka_transport.c:776,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_transport.c:785,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - rktrans
    - events
    - socket_errstr
    argTypes:
    - rd_kafka_transport_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 787
    functionName: rd_kafka_transport_io_event
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_ssl_handshake
    - rd_kafka_transport_connect_done
    - rd_kafka_transport_connected
    - rd_assert
    - rd_kafka_broker_conn_closed
    - rd_snprintf
    - rd_sockaddr2str
    - RD_NOTREACHED
    - rd_kafka_sasl_io_event
    - rd_kafka_send
    - rd_kafka_recv
    - rd_kafka_broker_fail
    - rd_strerror
    - rd_kafka_transport_get_socket_error
    - rd_kafka_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_transport_io_event(rd_kafka_transport_t *rktrans,\n
      \                                       int events,\n                                        const
      char *socket_errstr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:798,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_transport.c:808,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - wevents
    argTypes:
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 811
    functionName: rd_kafka_transport_wsa2events
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_transport_wsa2events(long wevents)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - events
    - is_connecting
    argTypes:
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: rd_kafka_transport_events2wsa
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_transport_events2wsa(int events,\n                                                   rd_bool_t
      is_connecting)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WSAEnumNetworkEvents
      Src: /src/librdkafka/src/rdkafka_transport.c:846,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:848,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:849,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:851,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:852,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_transport.c:857,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:864,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 879
    functionName: rd_kafka_transport_get_wsa_events
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_socket_strerror
    - RD_ARRAYSIZE
    - WSAEnumNetworkEvents
    - rd_rkb_log
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rd_kafka_transport_get_wsa_events(rd_kafka_transport_t *rktrans)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_transport.c:918,1
    - Dst: cnd_wait_enter
      Src: /src/librdkafka/src/rdkafka_transport.c:923,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_transport.c:925,1
    - Dst: WSAWaitForMultipleEvents
      Src: /src/librdkafka/src/rdkafka_transport.c:929,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_transport.c:933,1
    - Dst: cnd_wait_exit
      Src: /src/librdkafka/src/rdkafka_transport.c:934,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_transport.c:935,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:938,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:939,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:941,1
    - Dst: ResetEvent
      Src: /src/librdkafka/src/rdkafka_transport.c:948,1
    - Dst: ResetEvent
      Src: /src/librdkafka/src/rdkafka_transport.c:949,1
    - Dst: rd_kafka_transport_get_wsa_events
      Src: /src/librdkafka/src/rdkafka_transport.c:953,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_transport.c:959,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - rktrans
    - rkq
    - timeout_ms
    argTypes:
    - rd_kafka_transport_t*
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 963
    functionName: rd_kafka_transport_io_serve_win32
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - cnd_wait_enter
    - mtx_lock
    - rd_socket_strerror
    - rd_rkb_log
    - cnd_wait_exit
    - WSAWaitForMultipleEvents
    - mtx_unlock
    - likely
    - unlikely
    - ResetEvent
    - rd_kafka_transport_get_wsa_events
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_io_serve_win32(rd_kafka_transport_t *rktrans,\n
      \                                            rd_kafka_q_t *rkq,\n                                             int
      timeout_ms)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:1040,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:1041,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1043,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:1049,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:1051,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1053,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:1060,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:1062,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1065,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:1071,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:1076,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1080,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_transport.c:1084,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:1089,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1093,1
    - Dst: rd_fd_set_nonblocking
      Src: /src/librdkafka/src/rdkafka_transport.c:1097,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:1098,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1100,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_transport.c:1105,1
    - Dst: WSACreateEvent
      Src: /src/librdkafka/src/rdkafka_transport.c:1110,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_transport.c:1111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - rkb
    - s
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_broker_t*
    - rd_socket_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1115
    functionName: rd_kafka_transport_new
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_snprintf
    - rd_socket_strerror
    - setsockopt
    - rd_calloc
    - rd_rkb_dbg
    - WSACreateEvent
    - rd_rkb_log
    - rd_fd_set_nonblocking
    linkageType: ''
    returnType: rd_kafka_transport_t
    signature: "rd_kafka_transport_t *rd_kafka_transport_new(rd_kafka_broker_t *rkb,\n
      \                                            rd_socket_t s,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_t*::rkb_rk::rk_conf::socket_cb
      Src: /src/librdkafka/src/rdkafka_transport.c:1133,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:1137,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1138,1
    - Dst: rd_kafka_transport_new
      Src: /src/librdkafka/src/rdkafka_transport.c:1142,1
    - Dst: rd_kafka_transport_close0
      Src: /src/librdkafka/src/rdkafka_transport.c:1144,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:1148,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:1151,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_transport.c:1157,1
    - Dst: rd_kafka_broker_t*::rkb_rk::rk_conf::connect_cb
      Src: /src/librdkafka/src/rdkafka_transport.c:1158,1
    - Dst: RD_SOCKADDR_INX_LEN
      Src: /src/librdkafka/src/rdkafka_transport.c:1159,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_transport.c:1161,1
    - Dst: connect
      Src: /src/librdkafka/src/rdkafka_transport.c:1163,1
    - Dst: RD_SOCKADDR_INX_LEN
      Src: /src/librdkafka/src/rdkafka_transport.c:1164,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_transport.c:1176,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:1178,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1180,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_transport.c:1181,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_transport.c:1183,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1184,1
    - Dst: rd_kafka_transport_close
      Src: /src/librdkafka/src/rdkafka_transport.c:1186,1
    - Dst: rd_kafka_transport_poll_set
      Src: /src/librdkafka/src/rdkafka_transport.c:1200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - rkb
    - sinx
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_broker_t*
    - rd_sockaddr_inx_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1123
    functionDepth: 4
    functionLinenumber: 1123
    functionLinenumberEnd: 1203
    functionName: rd_kafka_transport_connect
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - connect
    - rd_snprintf
    - rd_kafka_transport_new
    - rd_socket_strerror
    - rd_sockaddr2str
    - rd_kafka_transport_close0
    - rd_kafka_transport_close
    - rd_rkb_dbg
    - rd_kafka_broker_lock
    - rd_kafka_broker_t*::rkb_rk::rk_conf::socket_cb
    - rd_kafka_broker_unlock
    - rd_kafka_broker_t*::rkb_rk::rk_conf::connect_cb
    - RD_SOCKADDR_INX_LEN
    - rd_kafka_transport_poll_set
    linkageType: ''
    returnType: rd_kafka_transport_t
    signature: "rd_kafka_transport_t *rd_kafka_transport_connect(rd_kafka_broker_t
      *rkb,\n                                                 const rd_sockaddr_inx_t
      *sinx,\n                                                 char *errstr,\n                                                 size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WSAEventSelect
      Src: /src/librdkafka/src/rdkafka_transport.c:1213,1
    - Dst: rd_kafka_transport_events2wsa
      Src: /src/librdkafka/src/rdkafka_transport.c:1215,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_transport.c:1218,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_transport.c:1219,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_transport.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktrans
    - events
    argTypes:
    - rd_kafka_transport_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1223
    functionName: rd_kafka_transport_poll_set_wsa
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_socket_strerror
    - rd_kafka_transport_events2wsa
    - WSAEventSelect
    - rd_rkb_log
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_transport_poll_set_wsa(rd_kafka_transport_t *rktrans,\n
      \                                           int events)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_poll_set_wsa
      Src: /src/librdkafka/src/rdkafka_transport.c:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktrans
    - event
    argTypes:
    - rd_kafka_transport_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1236
    functionName: rd_kafka_transport_poll_set
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 1
    functionsReached:
    - rd_kafka_transport_poll_set_wsa
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_poll_set(rd_kafka_transport_t *rktrans, int
      event)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_poll_set_wsa
      Src: /src/librdkafka/src/rdkafka_transport.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktrans
    - event
    argTypes:
    - rd_kafka_transport_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1248
    functionName: rd_kafka_transport_poll_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_poll_set_wsa
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_poll_clear(rd_kafka_transport_t *rktrans, int
      event)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/librdkafka/src/rdkafka_transport.c:1259,1
    - Dst: rd_socket_read
      Src: /src/librdkafka/src/rdkafka_transport.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rktrans
    - tmout
    argTypes:
    - rd_kafka_transport_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1272
    functionName: rd_kafka_transport_poll
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - poll
    - rd_socket_read
    linkageType: ''
    returnType: int
    signature: int rd_kafka_transport_poll(rd_kafka_transport_t *rktrans, int tmout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktrans
    - blocked
    argTypes:
    - rd_kafka_transport_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1286
    functionName: rd_kafka_transport_set_blocked
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_transport_set_blocked(rd_kafka_transport_t *rktrans,\n
      \                                   rd_bool_t blocked)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSACleanup
      Src: /src/librdkafka/src/rdkafka_transport.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1301
    functionName: rd_kafka_transport_term
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - WSACleanup
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_term (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/librdkafka/src/rdkafka_transport.c:1307,1
    - Dst: MAKEWORD
      Src: /src/librdkafka/src/rdkafka_transport.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1309
    functionName: rd_kafka_transport_init
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.c
    functionUses: 0
    functionsReached:
    - WSAStartup
    - MAKEWORD
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ELEM
    - ','
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: RD_MAP_FOREACH_ELEM
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_FOREACH_ELEM(ELEM, RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - rd_map_elem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: rd_map_iter
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_map_iter(const rd_map_elem_t **elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_NEXT
      Src: /src/librdkafka/src/rdmap.h:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - rd_map_elem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: rd_map_iter_next
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached:
    - LIST_NEXT
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_map_iter_next(const rd_map_elem_t **elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEY_TYPE
    - ','
    - VALUE_TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: RD_MAP_TYPE
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_TYPE(KEY_TYPE, VALUE_TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - EXPECTED_CNT
    - ','
    - CMP
    - ','
    - HASH
    - ','
    - DESTROY_KEY
    - ','
    - DESTROY_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: RD_MAP_INITIALIZER
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RD_MAP_INITIALIZER(EXPECTED_CNT, CMP, HASH, DESTROY_KEY,                \\\n
      \                          DESTROY_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - RMAP
    - ','
    - EXPECTED_CNT
    - ','
    - KEY_TYPE
    - ','
    - VALUE_TYPE
    - ','
    - CMP
    - ','
    - HASH
    - ','
    - DESTROY_KEY
    - ','
    - DESTROY_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: RD_MAP_LOCAL_INITIALIZER
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "RD_MAP_LOCAL_INITIALIZER(RMAP, EXPECTED_CNT, KEY_TYPE, VALUE_TYPE,
      \    \\\n                                 CMP, HASH, DESTROY_KEY, DESTROY_VALUE)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - RMAP
    - ','
    - EXPECTED_CNT
    - ','
    - CMP
    - ','
    - HASH
    - ','
    - DESTROY_KEY
    - ','
    - DESTROY_VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: RD_MAP_INIT
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_INIT(RMAP, EXPECTED_CNT, CMP, HASH, DESTROY_KEY, DESTROY_VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RMAP
    - ','
    - KEY
    - ','
    - VALUE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: RD_MAP_SET
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_SET(RMAP, KEY, VALUE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - RMAP
    - ','
    - KEY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: RD_MAP_GET
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_GET(RMAP, KEY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RMAP
    - ','
    - KEY
    - ','
    - DEFAULT_CODE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: RD_MAP_GET_OR_SET
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_GET_OR_SET(RMAP, KEY, DEFAULT_CODE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - RMAP
    - ','
    - KEY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: RD_MAP_DELETE
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_DELETE(RMAP, KEY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - DST
    - ','
    - SRC
    - ','
    - KEY_COPY
    - ','
    - VALUE_COPY
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: RD_MAP_COPY
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_COPY(DST, SRC, KEY_COPY, VALUE_COPY)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 416
    functionName: RD_MAP_CLEAR
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_CLEAR(RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: RD_MAP_DESTROY
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_DESTROY(RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: RD_MAP_DESTROY_AND_FREE
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_DESTROY_AND_FREE(RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - K
    - ','
    - V
    - ','
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 459
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_FOREACH(K, V, RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - K
    - ','
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: RD_MAP_FOREACH_KEY
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_FOREACH_KEY(K, RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 486
    functionName: RD_MAP_CNT
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_CNT(RMAP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RMAP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: RD_MAP_IS_EMPTY
    functionSourceFile: /src/librdkafka/src/rdmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAP_IS_EMPTY(RMAP)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _VERMAP
      Src: /src/librdkafka/src/rdkafka_feature.c:306,1
    - Dst: _VERMAP
      Src: /src/librdkafka/src/rdkafka_feature.c:307,1
    - Dst: _VERMAP
      Src: /src/librdkafka/src/rdkafka_feature.c:308,1
    - Dst: _VERMAP
      Src: /src/librdkafka/src/rdkafka_feature.c:309,1
    - Dst: _VERMAP
      Src: /src/librdkafka/src/rdkafka_feature.c:312,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_feature.c:322,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_feature.c:323,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_feature.c:330,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_feature.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - broker_version
    - apisp
    - api_cntp
    - fallback
    argTypes:
    - char*
    - struct rd_kafka_ApiVersion**
    - size_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 341
    functionName: rd_kafka_get_legacy_ApiVersions
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - strcmp
    - _VERMAP
    - strncmp
    - strlen
    - rd_kafka_assert
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_get_legacy_ApiVersions(const char *broker_version,\n
      \                                   struct rd_kafka_ApiVersion **apisp,\n                                    size_t
      *api_cntp,\n                                    const char *fallback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PFX
    - ','
    - APIS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: _VERMAP
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _VERMAP(PFX, APIS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_get_legacy_ApiVersions
      Src: /src/librdkafka/src/rdkafka_feature.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - broker_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 358
    functionName: rd_kafka_ApiVersion_is_queryable
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - rd_kafka_get_legacy_ApiVersions
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ApiVersion_is_queryable(const char *broker_version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_feature.c:374,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_feature.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - apis
    - api_cnt
    - match
    argTypes:
    - struct rd_kafka_ApiVersion*
    - size_t
    - struct rd_kafka_ApiVersion*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: rd_kafka_ApiVersion_check
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - bsearch
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_ApiVersion_check(const struct rd_kafka_ApiVersion
      *apis,\n                          size_t api_cnt,\n                          const
      struct rd_kafka_ApiVersion *match)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ApiVersion_check
      Src: /src/librdkafka/src/rdkafka_feature.c:412,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_feature.c:415,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_feature.c:418,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_feature.c:420,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_feature.c:427,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_feature.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - rkb
    - broker_apis
    - broker_api_cnt
    argTypes:
    - rd_kafka_broker_t*
    - struct rd_kafka_ApiVersion*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 438
    functionName: rd_kafka_features_check
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ApiVersion_check
    - rd_kafka_features2str
    - rd_kafka_ApiKey2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_features_check(rd_kafka_broker_t *rkb,\n                            struct
      rd_kafka_ApiVersion *broker_apis,\n                            size_t broker_api_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_memdup
      Src: /src/librdkafka/src/rdkafka_feature.c:449,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_feature.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - src
    - src_cnt
    - dstp
    - dst_cntp
    argTypes:
    - struct rd_kafka_ApiVersion*
    - size_t
    - struct rd_kafka_ApiVersion**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: rd_kafka_ApiVersions_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - qsort
    - rd_memdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ApiVersions_copy(const struct rd_kafka_ApiVersion *src,\n
      \                              size_t src_cnt,\n                               struct
      rd_kafka_ApiVersion **dstp,\n                               size_t *dst_cntp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_feature.c:473,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_feature.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - features
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 485
    functionName: rd_kafka_features2str
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 1
    functionsReached:
    - memcpy
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_features2str(int features)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_feature.c:494,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_feature.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - testname
    - features
    - all_enabled
    argTypes:
    - char*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: rd_ut_features_check_assert_features
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - rd_kafka_features2str
    - RD_UT_ASSERT
    linkageType: ''
    returnType: int
    signature: "int rd_ut_features_check_assert_features(const char *testname,\n                                         int
      features,\n                                         rd_bool_t all_enabled)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:835,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:836,1
    - Dst: rd_ut_features_check_assert_features
      Src: /src/librdkafka/src/rdkafka_feature.c:837,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:841,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:842,1
    - Dst: rd_ut_features_check_assert_features
      Src: /src/librdkafka/src/rdkafka_feature.c:843,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:847,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:849,1
    - Dst: rd_ut_features_check_assert_features
      Src: /src/librdkafka/src/rdkafka_feature.c:850,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:856,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:857,1
    - Dst: rd_ut_features_check_assert_features
      Src: /src/librdkafka/src/rdkafka_feature.c:858,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:864,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:865,1
    - Dst: rd_ut_features_check_assert_features
      Src: /src/librdkafka/src/rdkafka_feature.c:866,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:871,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_feature.c:872,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_feature.c:882,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 883
    functionName: rd_ut_features_check
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - rd_ut_features_check_assert_features
    - RD_UT_PASS
    - rd_kafka_features_check
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int rd_ut_features_check(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_ut_features_check
      Src: /src/librdkafka/src/rdkafka_feature.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 3
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: unittest_feature
    functionSourceFile: /src/librdkafka/src/rdkafka_feature.c
    functionUses: 0
    functionsReached:
    - rd_ut_features_check
    linkageType: ''
    returnType: int
    signature: int unittest_feature(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/librdkafka/src/rdstring.h:37,1
    - Dst: likely
      Src: /src/librdkafka/src/rdstring.h:39,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.h:40,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdstring.h:41,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdstring.h:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: rd_strlcpy
    functionSourceFile: /src/librdkafka/src/rdstring.h
    functionUses: 2
    functionsReached:
    - strlcpy
    - RD_MIN
    - strlen
    - memcpy
    - likely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_strlcpy(char *dst, const char *src, size_t dstsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: RD_STR_ToF
    functionSourceFile: /src/librdkafka/src/rdstring.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_STR_ToF(EXPR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: le16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: le16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: htole64
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: le16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: le16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: le16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: be64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: le64toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le64toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: be32toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: be16toh
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: be16toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: htobe64
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: htobe32
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: htobe16
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htobe16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: htole32
    functionSourceFile: /src/librdkafka/src/rdendian.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - actions
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: rd_kafka_txn_curr_api_set_result
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_curr_api_set_result(rk, actions, error)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: rd_kafka_txn_normalize_err
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_txn_normalize_err(rd_kafka_resp_err_t
      err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:86,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:87,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:92,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: 'rd_kafka_error_t *

      rd_kafka_ensure_transactional(const rd_kafka_t *rk)'
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE rd_kafka_error_t *

      rd_kafka_ensure_transactional(const rd_kafka_t *rk)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:115,1
    - Dst: rd_kafka_ensure_transactional
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:115,1
    - Dst: rd_kafka_error_new_fatal
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:125,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:128,1
    - Dst: rd_kafka_error_set_txn_requires_abort
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:130,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:132,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: 'rd_kafka_error_t *

      rd_kafka_txn_require_states0(rd_kafka_t *rk, rd_kafka_txn_state_t states[])'
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_error_set_txn_requires_abort
    - rd_kafka_txn_state2str
    - rd_kafka_error_new_fatal
    - rd_kafka_ensure_transactional
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE rd_kafka_error_t *

      rd_kafka_txn_require_states0(rd_kafka_t *rk, rd_kafka_txn_state_t states[])'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: rd_kafka_txn_require_state
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_require_state(rk, ...)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:220,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:221,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - curr
    - new_state
    - ignore
    argTypes:
    - rd_kafka_txn_state_t
    - rd_kafka_txn_state_t
    - rd_bool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 225
    functionName: rd_kafka_txn_state_transition_is_valid
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_state2str
    - RD_BUG
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_txn_state_transition_is_valid(rd_kafka_txn_state_t
      curr,\n                                       rd_kafka_txn_state_t new_state,\n
      \                                      rd_bool_t *ignore)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_state_transition_is_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:245,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:247,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:250,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:251,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:253,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:261,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:262,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:263,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:268,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - rk
    - new_state
    argTypes:
    - rd_kafka_t*
    - rd_kafka_txn_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 273
    functionName: rd_kafka_txn_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - rd_atomic32_set
    - rd_kafka_txn_state2str
    - rd_kafka_txn_state_transition_is_valid
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_set_state(rd_kafka_t *rk,\n                                   rd_kafka_txn_state_t
      new_state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: rd_kafka_txn_current_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_timeout_init
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_txn_current_timeout(const rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:311,1
    - Dst: vsnprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:312,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:313,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:315,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:317,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:320,1
    - Dst: rd_kafka_set_fatal_error0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:321,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:325,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:326,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:328,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:331,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:336,1
    - Dst: rd_kafka_error_new_fatal
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - rk
    - do_lock
    - err
    - fmt
    argTypes:
    - rd_kafka_t*
    - rd_dolock_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 338
    functionName: rd_kafka_txn_set_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 1
    functionsReached:
    - rd_kafka_log
    - rd_kafka_err2name
    - rd_free
    - rd_kafka_set_fatal_error0
    - vsnprintf
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_wrunlock
    - va_start
    - rd_kafka_error_new_fatal
    - va_end
    - rd_strdup
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_set_fatal_error(rd_kafka_t *rk,\n                                  rd_dolock_t
      do_lock,\n                                  rd_kafka_resp_err_t err,\n                                  const
      char *fmt,\n                                  ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:358,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:359,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:363,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:367,1
    - Dst: vsnprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:368,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:369,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:371,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:377,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:381,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:382,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:383,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:389,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:390,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:392,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:394,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:395,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:398,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:399,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - rk
    - err
    - requires_epoch_bump
    - fmt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 404
    functionName: rd_kafka_txn_set_abortable_error0
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_err2name
    - rd_free
    - vsnprintf
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_wrunlock
    - va_start
    - rd_kafka_txn_state2str
    - rd_kafka_fatal_error
    - rd_kafka_purge
    - va_end
    - rd_strdup
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_set_abortable_error0(rd_kafka_t *rk,\n                                       rd_kafka_resp_err_t
      err,\n                                       rd_bool_t requires_epoch_bump,\n
      \                                      const char *fmt,\n                                       ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - op_cb
    - ','
    - abs_timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: rd_kafka_txn_op_req
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_op_req(rk, op_cb, abs_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - rko
    - ','
    - abs_timeout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: rd_kafka_txn_op_req1
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_op_req1(rk, rko, abs_timeout)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:434,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:441,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:442,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:443,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:446,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:451,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:452,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:456,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:458,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:471,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - func
    - line
    - rk
    - rko
    - abs_timeout
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_kafka_op_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 484
    functionName: rd_kafka_txn_op_req0
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_q_enq
    - mtx_lock
    - RD_BUG
    - rd_kafka_error_string
    - rd_kafka_error_new_retriable
    - rd_timeout_remains
    - cnd_timedwait_ms
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_txn_op_req0(const char *func,\n                                              int
      line,\n                                              rd_kafka_t *rk,\n                                              rd_kafka_op_t
      *rko,\n                                              rd_ts_t abs_timeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ensure_transactional
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:505,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:508,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:509,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:512,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:513,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:515,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:517,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:523,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:524,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:526,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:531,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:534,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:545,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:549,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:553,1
    - Dst: rd_kafka_txn_current_timeout
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:558,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:567,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - rk
    - api_name
    - cap_timeout
    - timeout_ms
    - abs_timeoutp
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_bool_t
    - int
    - rd_ts_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 570
    functionName: rd_kafka_txn_curr_api_begin
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_assert
    - rd_timeout_init
    - rd_kafka_idemp_state2str
    - mtx_lock
    - rd_snprintf
    - strcmp
    - rd_kafka_txn_state2str
    - rd_kafka_txn_current_timeout
    - rd_kafka_error_new_retriable
    - rd_kafka_ensure_transactional
    - mtx_unlock
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_txn_curr_api_begin(rd_kafka_t *rk,\n                                                     const
      char *api_name,\n                                                     rd_bool_t
      cap_timeout,\n                                                     int timeout_ms,\n
      \                                                    rd_ts_t *abs_timeoutp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - resumable
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    functionName: rd_kafka_txn_curr_api_return
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_curr_api_return(rk, resumable, error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:600,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:602,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:605,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:606,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:608,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:609,1
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:615,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:621,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - func
    - line
    - rk
    - resumable
    - error
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_bool_t
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 628
    functionName: rd_kafka_txn_curr_api_return0
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - mtx_lock
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - mtx_unlock
    - rd_kafka_error_is_retriable
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_txn_curr_api_return0(const char *func,\n
      \                             int line,\n                              rd_kafka_t
      *rk,\n                              rd_bool_t resumable,\n                              rd_kafka_error_t
      *error)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:649,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:658,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:659,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:663,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:668,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:671,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:679,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:684,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:686,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:689,1
    - Dst: rd_kafka_error_set_fatal
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:696,1
    - Dst: rd_kafka_error_set_txn_requires_abort
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:698,1
    - Dst: rd_kafka_error_set_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:700,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:705,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - func
    - line
    - rk
    - actions
    - error
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - int
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 709
    functionName: rd_kafka_txn_curr_api_set_result0
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_set_retriable
    - mtx_lock
    - rd_kafka_error_set_fatal
    - rd_kafka_error_set_txn_requires_abort
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - cnd_broadcast
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_curr_api_set_result0(const char *func,\n                                              int
      line,\n                                              rd_kafka_t *rk,\n                                              int
      actions,\n                                              rd_kafka_error_t *error)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_COVERAGE
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:727,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:728,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:737,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:744,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - rk
    - idemp_state
    argTypes:
    - rd_kafka_t*
    - rd_kafka_idemp_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 720
    functionDepth: 3
    functionLinenumber: 720
    functionLinenumberEnd: 753
    functionName: rd_kafka_txn_idemp_state_change
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 1
    functionsReached:
    - RD_UT_COVERAGE
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_txn_set_state
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_idemp_state_change(rd_kafka_t *rk,\n                                     rd_kafka_idemp_state_t
      idemp_state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:765,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:767,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:768,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:773,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:775,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:779,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:781,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:784,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:791,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:793,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:794,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:795,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 800
    functionName: rd_kafka_txn_partition_registered
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_kafka_toppar_lock
    - mtx_lock
    - unlikely
    - RD_KAFKAP_STR_PR
    - TAILQ_INSERT_TAIL
    - mtx_unlock
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_partition_registered(rd_kafka_toppar_t *rktp)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:826,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:827,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:833,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:836,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:837,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:841,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:843,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:845,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:853,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:854,1
    - Dst: rd_kafka_topic_find0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:856,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:858,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:866,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:867,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:870,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:874,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:880,1
    - Dst: rd_kafka_txn_partition_registered
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:887,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:958,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:963,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:964,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:966,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:971,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:973,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:976,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:983,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:984,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:996,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1007,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1035,1
    - Dst: rd_kafka_txn_coord_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1036,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1038,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1039,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1048,1
    - Dst: TAILQ_CONCAT_SORTED
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1049,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1052,1
    - Dst: rd_kafka_txn_normalize_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1054,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1057,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1060,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1066,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1070,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1070,1
    - Dst: rd_kafka_txn_set_abortable_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1073,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1077,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1077,1
    - Dst: rd_kafka_txn_schedule_register_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1082,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 145
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 810
    functionDepth: 4
    functionLinenumber: 810
    functionLinenumberEnd: 1087
    functionName: rd_kafka_txn_handle_AddPartitionsToTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_txn_normalize_err
    - rd_kafka_txn_state2str
    - rd_kafka_toppar_get
    - rd_rkb_log
    - rd_kafka_toppar_destroy
    - rd_kafka_txn_set_fatal_error
    - rd_kafka_rdlock
    - rd_kafka_txn_schedule_register_partitions
    - rd_kafka_topic_rdunlock
    - rd_kafka_err2str
    - rd_kafka_all_brokers_wakeup
    - rd_kafka_txn_coord_set
    - TAILQ_CONCAT_SORTED
    - mtx_unlock
    - rd_kafka_topic_find0
    - rd_kafka_rdunlock
    - mtx_lock
    - rd_kafka_topic_destroy0
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_idemp_drain_epoch_bump
    - rd_kafka_txn_partition_registered
    - rd_kafka_wrunlock
    - rd_rkb_dbg
    - rd_kafka_txn_set_abortable_error
    - rd_kafka_broker_name
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_handle_AddPartitionsToTxn(rd_kafka_t *rk,\n                                                   rd_kafka_broker_t
      *rkb,\n                                                   rd_kafka_resp_err_t
      err,\n                                                   rd_kafka_buf_t *rkbuf,\n
      \                                                  rd_kafka_buf_t *request,\n
      \                                                  void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1103,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1105,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1108,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1109,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1110,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1112,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1113,1
    - Dst: rd_kafka_idemp_get_pid0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1118,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1120,1
    - Dst: rd_kafka_broker_is_up
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1123,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1124,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1130,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1131,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1133,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1137,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1139,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1140,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1147,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1147,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1148,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1149,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1152,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1153,1
    - Dst: rd_kafka_AddPartitionsToTxnRequest
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1159,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1162,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1165,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1166,1
    - Dst: TAILQ_CONCAT
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1173,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1176,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1182
    functionName: rd_kafka_txn_register_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_is_up
    - unlikely
    - rd_kafka_AddPartitionsToTxnRequest
    - rd_kafka_rdlock
    - rd_kafka_pid_valid
    - rd_kafka_error_destroy
    - mtx_unlock
    - RD_KAFKA_REPLYQ
    - rd_kafka_rdunlock
    - rd_kafka_txn_require_state
    - mtx_lock
    - rd_kafka_idemp_state2str
    - rd_dassert
    - TAILQ_EMPTY
    - rd_kafka_idemp_get_pid0
    - rd_rkb_dbg
    - rd_kafka_error_string
    - TAILQ_CONCAT
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_register_partitions(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_register_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 3
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: rd_kafka_txn_register_partitions_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_register_partitions
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_register_partitions_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                   void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - backoff_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1204
    functionName: rd_kafka_txn_schedule_register_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_start_oneshot
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_schedule_register_partitions(rd_kafka_t *rk, int
      backoff_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1217,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1218,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1220,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1221,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tqh
    - flag
    argTypes:
    - rd_kafka_toppar_tqhead_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: rd_kafka_txn_clear_partitions_flag
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_dassert
    - TAILQ_INIT
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_clear_partitions_flag(rd_kafka_toppar_tqhead_t *tqh,\n
      \                                              int flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1217,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1218,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1220,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1222
    functionName: TAILQ_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 8
    functionsReached:
    - rd_dassert
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH_SAFE(rktp, tqh, rktp_txnlink, tmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_clear_partitions_flag
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1234,1
    - Dst: rd_kafka_txn_clear_partitions_flag
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1233
    functionDepth: 2
    functionLinenumber: 1233
    functionLinenumberEnd: 1238
    functionName: rd_kafka_txn_clear_pending_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_clear_partitions_flag
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_clear_pending_partitions(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_clear_partitions_flag
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 2
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    functionName: rd_kafka_txn_clear_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_clear_partitions_flag
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_clear_partitions(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1266,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1268,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1271,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1272,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1279,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1284,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1288,1
    - Dst: rd_kafka_idemp_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1298
    functionName: rd_kafka_txn_op_init_transactions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_idemp_start
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_init_transactions(rd_kafka_t *rk,\n
      \                                                          rd_kafka_q_t *rkq,\n
      \                                                          rd_kafka_op_t *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1317,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1319,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1321,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1323,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1308
    functionDepth: 3
    functionLinenumber: 1308
    functionLinenumberEnd: 1328
    functionName: rd_kafka_txn_op_ack_init_transactions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_ack_init_transactions(rd_kafka_t
      *rk,\n                                      rd_kafka_q_t *rkq,\n                                      rd_kafka_op_t
      *rko)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_curr_api_begin
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1346,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1367,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1369,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1374,1
    - Dst: rd_kafka_txn_normalize_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1376,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1377,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1380,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1381,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1383,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1387,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1393,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1332
    functionDepth: 3
    functionLinenumber: 1332
    functionLinenumberEnd: 1403
    functionName: rd_kafka_init_transactions
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 48
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_txn_normalize_err
    - rd_kafka_err2str
    - rd_kafka_txn_curr_api_return
    - rd_kafka_error_destroy
    - rd_kafka_error_new_retriable
    - rd_kafka_error_code
    - rd_kafka_txn_curr_api_begin
    - rd_kafka_txn_op_req
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_init_transactions(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1422,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1424,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1425,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1425,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1427,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1429,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1430,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1432,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1440,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1443,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1413
    functionDepth: 3
    functionLinenumber: 1413
    functionLinenumberEnd: 1449
    functionName: rd_kafka_txn_op_begin_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_atomic64_set
    - rd_assert
    - TAILQ_EMPTY
    - rd_kafka_txn_set_state
    - rd_kafka_wrlock
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_all_brokers_wakeup
    - RD_IF_FREE
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_begin_transaction(rd_kafka_t *rk,\n
      \                                                          rd_kafka_q_t *rkq,\n
      \                                                          rd_kafka_op_t *rko)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_curr_api_begin
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1455,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1459,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1452
    functionDepth: 3
    functionLinenumber: 1452
    functionLinenumberEnd: 1464
    functionName: rd_kafka_begin_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 44
    functionsReached:
    - rd_kafka_txn_curr_api_return
    - rd_kafka_txn_curr_api_begin
    - rd_kafka_txn_op_req
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_begin_transaction(rd_kafka_t *rk)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1497,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1503,1
    - Dst: rd_kafka_topic_partition_list_get_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1508,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1511,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1514,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1518,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1530,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1534,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1535,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1542,1
    - Dst: rd_kafka_coord_cache_evict
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1565,1
    - Dst: rd_kafka_txn_normalize_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1601,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1604,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1607,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1609,1
    - Dst: rd_kafka_coord_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1610,1
    - Dst: rd_timeout_remains_limit0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1615,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1617,1
    - Dst: rd_kafka_txn_set_abortable_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1626,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1629,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1630,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1632,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1634,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 90
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1480
    functionDepth: 4
    functionLinenumber: 1480
    functionLinenumberEnd: 1635
    functionName: rd_kafka_txn_handle_TxnOffsetCommit
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_txn_normalize_err
    - rd_snprintf
    - rd_kafka_topic_partition_list_get_err
    - rd_kafka_buf_read_topic_partitions
    - rd_kafka_err2str
    - rd_timeout_remains
    - rd_kafka_txn_curr_api_set_result
    - RD_KAFKA_REPLYQ
    - rd_kafka_coord_req
    - rd_timeout_expired
    - rd_kafka_coord_cache_evict
    - rd_timeout_remains_limit0
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_topic_partition_list_str
    - rd_kafka_error_new
    - rd_kafka_txn_set_abortable_error
    - rd_kafka_broker_name
    - rd_kafka_txn_set_fatal_error
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_handle_TxnOffsetCommit(rd_kafka_t *rk,\n                                                rd_kafka_broker_t
      *rkb,\n                                                rd_kafka_resp_err_t err,\n
      \                                               rd_kafka_buf_t *rkbuf,\n                                                rd_kafka_buf_t
      *request,\n                                                void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1659,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1661,1
    - Dst: rd_kafka_idemp_get_pid0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1668,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1669,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1670,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1677,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1686,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1691,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1694,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1697,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1698,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1702,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1704,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1706,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1718,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1724,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1731,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 5
    argNames:
    - rkb
    - rko
    - replyq
    - resp_cb
    - reply_opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_op_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1739
    functionName: rd_kafka_txn_send_TxnOffsetCommitRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_pid_valid
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_idemp_get_pid0
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_txn_send_TxnOffsetCommitRequest(rd_kafka_broker_t
      *rkb,\n                                         rd_kafka_op_t *rko,\n                                         rd_kafka_replyq_t
      replyq,\n                                         rd_kafka_resp_cb_t *resp_cb,\n
      \                                        void *reply_opaque)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1761,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1768,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1769,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1779,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1783,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1784,1
    - Dst: rd_kafka_txn_normalize_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1842,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1844,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1846,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1847,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1847,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1854,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1857,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1860,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1863,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1868,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1868,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1871,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1872,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1883,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1886,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1887,1
    - Dst: rd_kafka_txn_set_abortable_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1890,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1895,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1895,1
    - Dst: rd_kafka_coord_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1902,1
    - Dst: rd_timeout_remains_limit0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1907,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1909,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1914,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1916,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1920,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1920,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1923,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1748
    functionDepth: 4
    functionLinenumber: 1748
    functionLinenumberEnd: 1925
    functionName: rd_kafka_txn_handle_AddOffsetsToTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_op_destroy
    - rd_kafka_txn_normalize_err
    - rd_kafka_actions2str
    - rd_rkb_log
    - rd_kafka_err2name
    - rd_kafka_txn_coord_timer_start
    - rd_kafka_err2str
    - rd_timeout_remains
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_coord_req
    - RD_KAFKA_REPLYQ
    - rd_timeout_expired
    - rd_kafka_buf_retry
    - rd_timeout_remains_limit0
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_error_new
    - rd_rkb_dbg
    - rd_kafka_txn_set_abortable_error
    - rd_kafka_broker_name
    - rd_kafka_txn_set_fatal_error
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_handle_AddOffsetsToTxn(rd_kafka_t *rk,\n                                                rd_kafka_broker_t
      *rkb,\n                                                rd_kafka_resp_err_t err,\n
      \                                               rd_kafka_buf_t *rkbuf,\n                                                rd_kafka_buf_t
      *request,\n                                                void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1948,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1950,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1952,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1956,1
    - Dst: rd_kafka_idemp_get_pid0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1958,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1959,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1960,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1961,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1964,1
    - Dst: rd_kafka_AddOffsetsToTxnRequest
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1972,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1975,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1979,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:1988,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1934
    functionDepth: 2
    functionLinenumber: 1934
    functionLinenumberEnd: 1991
    functionName: rd_kafka_txn_op_send_offsets_to_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid_valid
    - rd_kafka_wrlock
    - rd_kafka_txn_require_state
    - rd_kafka_idemp_state2str
    - rd_kafka_wrunlock
    - rd_kafka_idemp_get_pid0
    - rd_dassert
    - rd_kafka_error_new_retriable
    - rd_kafka_AddOffsetsToTxnRequest
    - rd_kafka_txn_curr_api_set_result
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_send_offsets_to_transaction(rd_kafka_t
      *rk,\n                                            rd_kafka_q_t *rkq,\n                                            rd_kafka_op_t
      *rko)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2008,1
    - Dst: rd_kafka_txn_curr_api_begin
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2012,1
    - Dst: rd_kafka_topic_partition_list_match
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2019,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2025,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2026,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2029,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2031,1
    - Dst: rd_kafka_consumer_group_metadata_dup
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2035,1
    - Dst: rd_kafka_txn_op_req1
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2039,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - rk
    - offsets
    - cgmetadata
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_consumer_group_metadata_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1997
    functionDepth: 3
    functionLinenumber: 1997
    functionLinenumberEnd: 2042
    functionName: rd_kafka_send_offsets_to_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 18
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_consumer_group_metadata_dup
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_txn_curr_api_return
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_match
    - rd_kafka_op_new_cb
    - rd_kafka_txn_curr_api_begin
    - rd_kafka_txn_op_req1
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_send_offsets_to_transaction(\n    rd_kafka_t
      *rk,\n    const rd_kafka_topic_partition_list_t *offsets,\n    const rd_kafka_consumer_group_metadata_t
      *cgmetadata,\n    int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2055,1
    - Dst: rd_kafka_txn_clear_pending_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2059,1
    - Dst: rd_kafka_txn_clear_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2060,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rk
    - is_commit
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2054
    functionDepth: 3
    functionLinenumber: 2054
    functionLinenumberEnd: 2066
    functionName: rd_kafka_txn_complete
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_set_state
    - rd_kafka_txn_clear_partitions
    - rd_kafka_txn_clear_pending_partitions
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_complete(rd_kafka_t *rk, rd_bool_t is_commit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2081,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2082,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2083,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2085,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2094,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2096,1
    - Dst: rd_kafka_idemp_drain_epoch_bump0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2100,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2102,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2107,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2109,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2111,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2078
    functionDepth: 5
    functionLinenumber: 2078
    functionLinenumberEnd: 2114
    functionName: rd_kafka_txn_endtxn_complete
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - mtx_lock
    - rd_kafka_wrunlock
    - rd_kafka_idemp_drain_epoch_bump0
    - strcmp
    - rd_kafka_err2str
    - rd_dassert
    - mtx_unlock
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_endtxn_complete(rd_kafka_t *rk)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2142,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2143,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2152,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2170,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2172,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2176,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2182,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2184,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2192,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2194,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2202,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2213,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2215,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2216,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2217,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2219,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2242,1
    - Dst: rd_kafka_txn_coord_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2243,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2244,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2245,1
    - Dst: rd_kafka_txn_normalize_err
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2273,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2276,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2278,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2281,1
    - Dst: rd_kafka_idemp_drain_epoch_bump0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2291,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2296,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2303,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2306,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2308,1
    - Dst: rd_kafka_txn_set_abortable_error0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2310,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2314,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2317,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2322,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2324,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2326,1
    - Dst: rd_kafka_txn_endtxn_complete
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2328,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2123
    functionDepth: 6
    functionLinenumber: 2123
    functionLinenumberEnd: 2329
    functionName: rd_kafka_txn_handle_EndTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_normalize_err
    - rd_kafka_idemp_drain_epoch_bump0
    - rd_kafka_txn_state2str
    - RD_STR_ToF
    - rd_kafka_err2name
    - rd_kafka_txn_coord_timer_start
    - rd_kafka_txn_endtxn_complete
    - rd_kafka_txn_set_abortable_error0
    - rd_kafka_err2str
    - rd_kafka_txn_coord_set
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_buf_retry
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_txn_set_state
    - rd_kafka_wrunlock
    - rd_kafka_error_new
    - rd_kafka_txn_set_fatal_error
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_handle_EndTxn(rd_kafka_t *rk,\n                                       rd_kafka_broker_t
      *rkb,\n                                       rd_kafka_resp_err_t err,\n                                       rd_kafka_buf_t
      *rkbuf,\n                                       rd_kafka_buf_t *request,\n                                       void
      *opaque)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2352,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2354,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2372,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2377,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2378,1
    - Dst: rd_kafka_error_new_txn_requires_abort
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2379,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2393,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2395,1
    - Dst: rd_kafka_txn_endtxn_complete
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2396,1
    - Dst: rd_kafka_idemp_get_pid0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2400,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2401,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2402,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2403,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2406,1
    - Dst: rd_kafka_EndTxnRequest
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2410,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2413,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2415,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2419,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2421,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2426,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2430,1
    - Dst: rd_kafka_txn_set_abortable_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2431,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2431,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2433,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2435,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2339
    functionDepth: 6
    functionLinenumber: 2339
    functionLinenumberEnd: 2438
    functionName: rd_kafka_txn_op_commit_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_atomic64_get
    - unlikely
    - rd_kafka_pid_valid
    - rd_kafka_txn_endtxn_complete
    - rd_kafka_error_code
    - rd_kafka_txn_curr_api_set_result
    - RD_KAFKA_REPLYQ
    - rd_kafka_txn_require_state
    - rd_kafka_idemp_state2str
    - rd_kafka_EndTxnRequest
    - rd_kafka_error_new_txn_requires_abort
    - rd_dassert
    - rd_kafka_error_new_retriable
    - rd_kafka_txn_set_state
    - rd_kafka_wrunlock
    - rd_kafka_idemp_get_pid0
    - rd_kafka_error_string
    - rd_kafka_txn_set_abortable_error
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_commit_transaction(rd_kafka_t *rk,\n
      \                                  rd_kafka_q_t *rkq,\n                                   rd_kafka_op_t
      *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2456,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2458,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2468,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2471,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2476
      start: 2447
    functionDepth: 3
    functionLinenumber: 2447
    functionLinenumberEnd: 2476
    functionName: rd_kafka_txn_op_begin_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_begin_commit(rd_kafka_t *rk,\n                                                      rd_kafka_q_t
      *rkq,\n                                                      rd_kafka_op_t *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2494,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2496,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2498,1
    - Dst: rd_kafka_txn_complete
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2500,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2503,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2508
      start: 2485
    functionDepth: 4
    functionLinenumber: 2485
    functionLinenumberEnd: 2508
    functionName: rd_kafka_txn_op_commit_transaction_ack
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_txn_complete
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_commit_transaction_ack(rd_kafka_t
      *rk,\n                                       rd_kafka_q_t *rkq,\n                                       rd_kafka_op_t
      *rko)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_curr_api_begin
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2526,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2532,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2534,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2538,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2540,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2544,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2544,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2545,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2547,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2547,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2550,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2555,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2568,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2570,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2575,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2578,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2582,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2585,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2588,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2598
      start: 2512
    functionDepth: 3
    functionLinenumber: 2512
    functionLinenumberEnd: 2598
    functionName: rd_kafka_commit_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 35
    functionsReached:
    - rd_kafka_flush
    - rd_kafka_err2str
    - rd_kafka_txn_curr_api_return
    - rd_kafka_outq_len
    - rd_kafka_error_new_retriable
    - rd_kafka_txn_curr_api_begin
    - rd_timeout_remains
    - rd_kafka_txn_op_req
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_commit_transaction(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2617,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2620,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2631,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2635,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2638,1
    - Dst: rd_kafka_txn_clear_pending_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2639,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2640,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2646
      start: 2608
    functionDepth: 3
    functionLinenumber: 2608
    functionLinenumberEnd: 2646
    functionName: rd_kafka_txn_op_begin_abort
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_set_state
    - rd_kafka_txn_require_state
    - mtx_lock
    - rd_kafka_wrunlock
    - rd_kafka_txn_clear_pending_partitions
    - mtx_unlock
    - rd_kafka_txn_curr_api_set_result
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_begin_abort(rd_kafka_t *rk,\n                                                     rd_kafka_q_t
      *rkq,\n                                                     rd_kafka_op_t *rko)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2666,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2668,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2686,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2691,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2693,1
    - Dst: rd_kafka_txn_endtxn_complete
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2694,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2710,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2714,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2716,1
    - Dst: rd_kafka_idemp_get_pid0
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2721,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2722,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2723,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2724,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2727,1
    - Dst: rd_kafka_EndTxnRequest
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2731,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2734,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2736,1
    - Dst: rd_kafka_txn_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2740,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2742,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2747,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2749,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2655
    functionDepth: 6
    functionLinenumber: 2655
    functionLinenumberEnd: 2752
    functionName: rd_kafka_txn_op_abort_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid_valid
    - rd_kafka_wrlock
    - rd_kafka_txn_endtxn_complete
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_idemp_state2str
    - rd_kafka_EndTxnRequest
    - rd_kafka_idemp_get_pid0
    - rd_kafka_txn_set_state
    - rd_dassert
    - rd_kafka_error_new_retriable
    - rd_kafka_txn_curr_api_set_result
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_abort_transaction(rd_kafka_t *rk,\n
      \                                                          rd_kafka_q_t *rkq,\n
      \                                                          rd_kafka_op_t *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2770,1
    - Dst: rd_kafka_txn_require_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2772,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2774,1
    - Dst: rd_kafka_txn_complete
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2776,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2779,1
    - Dst: rd_kafka_txn_curr_api_set_result
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2761
    functionDepth: 4
    functionLinenumber: 2761
    functionLinenumberEnd: 2784
    functionName: rd_kafka_txn_op_abort_transaction_ack
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_require_state
    - rd_kafka_wrunlock
    - rd_kafka_txn_complete
    - rd_kafka_txn_curr_api_set_result
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_txn_op_abort_transaction_ack(rd_kafka_t
      *rk,\n                                      rd_kafka_q_t *rkq,\n                                      rd_kafka_op_t
      *rko)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_txn_curr_api_begin
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2793,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2805,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2807,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2811,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2814,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2819,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2823,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2823,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2826,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2831,1
    - Dst: rd_kafka_error_new_retriable
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2839,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2841,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2846,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2849,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2852,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2855,1
    - Dst: rd_kafka_txn_op_req
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2858,1
    - Dst: rd_kafka_txn_curr_api_return
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2868
      start: 2788
    functionDepth: 3
    functionLinenumber: 2788
    functionLinenumberEnd: 2868
    functionName: rd_kafka_abort_transaction
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 26
    functionsReached:
    - rd_kafka_flush
    - rd_kafka_err2str
    - rd_kafka_txn_curr_api_return
    - rd_kafka_outq_len
    - rd_kafka_error_new_retriable
    - rd_kafka_purge
    - rd_kafka_txn_curr_api_begin
    - rd_timeout_remains
    - rd_kafka_txn_op_req
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_abort_transaction(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2882,1
    - Dst: rd_kafka_txn_coord_query
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2883,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2879
    functionDepth: 1
    functionLinenumber: 2879
    functionLinenumberEnd: 2885
    functionName: rd_kafka_txn_coord_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_txn_coord_query
    - rd_kafka_wrunlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_coord_timer_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2894,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2894,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2899
      start: 2893
    functionDepth: 1
    functionLinenumber: 2893
    functionLinenumberEnd: 2899
    functionName: rd_kafka_txn_coord_timer_start
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_is_transactional
    - rd_kafka_timer_start_oneshot
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_coord_timer_start(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2928,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2930,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2934,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2936,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2937,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2943,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2944,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2945,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2947,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2950,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2952,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2955,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2956,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2962,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2966,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2971,1
    - Dst: rd_kafka_txn_coord_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2972,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2973,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2975,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2989,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2990,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2993,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2993,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2996,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:2997,1
    - Dst: rd_kafka_metadata_refresh_brokers
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3001,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3008,1
    - Dst: rd_kafka_txn_coord_set
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3009,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3011,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3011,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3012,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2908
    functionDepth: 4
    functionLinenumber: 2908
    functionLinenumberEnd: 3013
    functionName: rd_kafka_txn_handle_FindCoordinator
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_snprintf
    - rd_kafka_rdlock
    - rd_kafka_err2name
    - rd_kafka_err2str
    - rd_kafka_txn_coord_set
    - rd_kafka_metadata_refresh_brokers
    - rd_kafka_idemp_set_state
    - rd_kafka_broker_find_by_nodeid
    - rd_kafka_rdunlock
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_i32
    - rd_kafka_broker_destroy
    - rd_kafka_wrunlock
    - rd_rkb_dbg
    - rd_kafka_broker_name
    - rd_kafka_buf_read_str
    - rd_kafka_txn_set_fatal_error
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_txn_handle_FindCoordinator(rd_kafka_t *rk,\n                                                rd_kafka_broker_t
      *rkb,\n                                                rd_kafka_resp_err_t err,\n
      \                                               rd_kafka_buf_t *rkbuf,\n                                                rd_kafka_buf_t
      *request,\n                                                void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3030,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3030,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3033,1
    - Dst: rd_kafka_idemp_broker_any
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3041,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3043,1
    - Dst: rd_kafka_idemp_check_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3048,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3051,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3056,1
    - Dst: rd_kafka_FindCoordinatorRequest
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3060,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3062,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3066,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3069,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3069,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3071,1
    - Dst: rd_kafka_idemp_check_error
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3073,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3076,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3081,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - rk
    - reason
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3025
    functionDepth: 3
    functionLinenumber: 3025
    functionLinenumberEnd: 3086
    functionName: rd_kafka_txn_coord_query
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_txn_coord_timer_start
    - rd_snprintf
    - rd_kafka_broker_destroy
    - rd_kafka_idemp_broker_any
    - rd_kafka_idemp_check_error
    - rd_kafka_err2str
    - rd_kafka_FindCoordinatorRequest
    - rd_kafka_is_transactional
    - rd_kafka_broker_name
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_txn_coord_query(rd_kafka_t *rk, const char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3103,1
    - Dst: vsnprintf
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3104,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3105,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3110,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3112,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3117,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3120,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3122,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3125,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3129,1
    - Dst: rd_kafka_broker_set_nodename
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3131,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3136,1
    - Dst: rd_kafka_idemp_pid_fsm
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkb
    - fmt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3096
    functionDepth: 4
    functionLinenumber: 3096
    functionLinenumberEnd: 3143
    functionName: rd_kafka_txn_coord_set
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 4
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_txn_coord_timer_start
    - vsnprintf
    - rd_kafka_broker_destroy
    - va_start
    - rd_kafka_broker_set_nodename
    - rd_kafka_idemp_pid_fsm
    - rd_kafka_broker_name
    - va_end
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_txn_coord_set(rd_kafka_t *rk,\n                                 rd_kafka_broker_t
      *rkb,\n                                 const char *fmt,\n                                 ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_get_state
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3154,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3157,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3159,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3160,1
    - Dst: rd_kafka_txn_coord_timer_start
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3167,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3172,1
    - Dst: rd_kafka_idemp_pid_fsm
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3175,1
    - Dst: rd_kafka_txn_schedule_register_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3181,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3152
    functionDepth: 4
    functionLinenumber: 3152
    functionLinenumberEnd: 3187
    functionName: rd_kafka_txn_coord_monitor_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 0
    functionsReached:
    - rd_kafka_txn_schedule_register_partitions
    - rd_assert
    - rd_kafka_txn_coord_timer_start
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_rkb_dbg
    - rd_kafka_broker_state_is_up
    - rd_kafka_idemp_pid_fsm
    - rd_kafka_broker_get_state
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txn_coord_monitor_cb(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3199,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3200,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3202,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3203,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3205,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3206,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3210,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3213,1
    - Dst: rd_kafka_broker_monitor_del
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3215,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3216,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3219,1
    - Dst: rd_kafka_txn_clear_pending_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3220,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3221,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3222,1
    - Dst: rd_kafka_txn_clear_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3197
    functionDepth: 3
    functionLinenumber: 3197
    functionLinenumberEnd: 3225
    functionName: rd_kafka_txns_term
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 1
    functionsReached:
    - rd_kafka_txn_clear_pending_partitions
    - mtx_lock
    - rd_kafka_broker_destroy
    - rd_kafka_broker_monitor_del
    - rd_kafka_txn_clear_partitions
    - cnd_destroy
    - mtx_destroy
    - rd_kafka_timer_stop
    - mtx_unlock
    - RD_IF_FREE
    - rd_kafka_broker_persistent_connection_del
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txns_term(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3235,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3236,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3237,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3238,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3239,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3241,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3242,1
    - Dst: rd_kafka_broker_add_logical
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3246,1
    - Dst: rd_kafka_broker_monitor_add
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3248,1
    - Dst: rd_kafka_broker_persistent_connection_add
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3252,1
    - Dst: rd_atomic64_init
      Src: /src/librdkafka/src/rdkafka_txnmgr.c:3255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3256
    functionName: rd_kafka_txns_init
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.c
    functionUses: 1
    functionsReached:
    - rd_atomic32_init
    - rd_atomic64_init
    - cnd_init
    - rd_kafka_broker_monitor_add
    - rd_kafka_broker_persistent_connection_add
    - mtx_init
    - TAILQ_INIT
    - rd_kafka_broker_add_logical
    linkageType: ''
    returnType: void
    signature: void rd_kafka_txns_init(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_proto.h:182,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_proto.h:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ApiKey
    argTypes:
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 189
    functionName: rd_kafka_ApiKey2str
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 4
    functionsReached:
    - rd_snprintf
    - RD_ARRAYSIZE
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_kafka_ApiKey2str(int16_t ApiKey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: rd_kafka_ApiVersion_key_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_ApiVersion_key_cmp(const void *_a,\n                                                 const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: RD_KAFKAP_STR_IS_NULL
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_IS_NULL(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: RD_KAFKAP_STR_LEN0
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_LEN0(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: RD_KAFKAP_STR_LEN
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_LEN(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: RD_KAFKAP_STR_SIZE0
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_SIZE0(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: RD_KAFKAP_STR_SIZE
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_SIZE(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: RD_KAFKAP_STR_IS_SERIALIZED
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_IS_SERIALIZED(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: RD_KAFKAP_STR_SER
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_SER(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: RD_KAFKAP_STR_PR
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_PR(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - destptr
    - ','
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: RD_KAFKAP_STR_DUPA
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_DUPA(destptr, kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 283
    functionName: RD_KAFKAP_STR_DUP
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_STR_DUP(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_proto.h:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kstr
    argTypes:
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: rd_kafkap_str_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 7
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafkap_str_destroy(rd_kafkap_str_t *kstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_proto.h:313,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_proto.h:315,1
    - Dst: htobe16
      Src: /src/librdkafka/src/rdkafka_proto.h:320,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_proto.h:321,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_proto.h:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 333
    functionName: rd_kafkap_str_new
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 7
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    - htobe16
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *rd_kafkap_str_new(const char *str,\n                                                              int
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_proto.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: rd_kafkap_str_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 3
    functionsReached:
    - rd_kafkap_str_new
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafkap_str_copy(const rd_kafkap_str_t *src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_proto.h:347,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_proto.h:348,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: rd_kafkap_str_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 6
    functionsReached:
    - memcmp
    - RD_CMP
    - RD_MIN
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafkap_str_cmp(const rd_kafkap_str_t *a,\n                                                 const
      rd_kafkap_str_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_proto.h:357,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_proto.h:358,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_proto.h:359,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - str
    argTypes:
    - rd_kafkap_str_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: rd_kafkap_str_cmp_str
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 9
    functionsReached:
    - strlen
    - memcmp
    - RD_CMP
    - RD_MIN
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafkap_str_cmp_str(const rd_kafkap_str_t *a,\n                                                     const
      char *str)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_proto.h:368,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_proto.h:369,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_proto.h:370,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - b
    argTypes:
    - char*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: rd_kafkap_str_cmp_str2
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    - RD_CMP
    - RD_MIN
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafkap_str_cmp_str2(const char *str, const rd_kafkap_str_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: RD_KAFKAP_BYTES_IS_NULL
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_IS_NULL(kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: RD_KAFKAP_BYTES_LEN0
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_LEN0(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: RD_KAFKAP_BYTES_LEN
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_LEN(kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: RD_KAFKAP_BYTES_SIZE0
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_SIZE0(len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: RD_KAFKAP_BYTES_SIZE
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_SIZE(kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    functionName: RD_KAFKAP_BYTES_IS_SERIALIZED
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_IS_SERIALIZED(kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 415
    functionName: RD_KAFKAP_BYTES_SER
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_BYTES_SER(kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_proto.h:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - kbytes
    argTypes:
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: rd_kafkap_bytes_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 2
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafkap_bytes_destroy(rd_kafkap_bytes_t *kbytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_proto.h:444,1
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_proto.h:448,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_proto.h:449,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_proto.h:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 460
    functionName: rd_kafkap_bytes_new
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - rd_malloc
    - memcpy
    - htobe32
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafkap_bytes_new(const unsigned char *bytes, int32_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_proto.h:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 470
    functionName: rd_kafkap_bytes_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 2
    functionsReached:
    - rd_kafkap_bytes_new
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafkap_bytes_copy(const rd_kafkap_bytes_t *src)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_proto.h:475,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_proto.h:476,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafkap_bytes_t*
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: rd_kafkap_bytes_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - memcmp
    - RD_CMP
    - RD_MIN
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafkap_bytes_cmp(const rd_kafkap_bytes_t *a,\n                                                   const
      rd_kafkap_bytes_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_proto.h:487,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_proto.h:488,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_proto.h:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - data
    - len
    argTypes:
    - rd_kafkap_bytes_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: rd_kafkap_bytes_cmp_data
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - memcmp
    - RD_CMP
    - RD_MIN
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafkap_bytes_cmp_data(const rd_kafkap_bytes_t *a,\n                         const
      char *data,\n                         int len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - int32_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: RD_KAFKAP_MESSAGE_V2_MAX_OVERHEAD
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKAP_MESSAGE_V2_MAX_OVERHEAD(int32_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uuid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: RD_KAFKA_UUID_IS_ZERO
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_UUID_IS_ZERO(uuid)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_Uuid_t
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: rd_kafka_Uuid_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_Uuid_cmp(rd_kafka_Uuid_t a,\n                                                 rd_kafka_Uuid_t
      b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_proto.h:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: rd_kafka_Uuid_ptr_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_Uuid_ptr_cmp(void *a, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_copy
      Src: /src/librdkafka/src/rdkafka_proto.h:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: rd_list_Uuid_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_copy
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_list_Uuid_copy(const void *elem, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_destroy
      Src: /src/librdkafka/src/rdkafka_proto.h:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: rd_list_Uuid_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_destroy
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_list_Uuid_destroy(void *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_proto.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - uuid1
    - uuid2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: rd_list_Uuid_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_list_Uuid_cmp(const void *uuid1,\n                                                const
      void *uuid2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PID
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: rd_kafka_pid_valid
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_pid_valid(PID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_pid_t
    - rd_kafka_pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: rd_kafka_pid_eq
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_pid_eq(const rd_kafka_pid_t a,\n                                               const
      rd_kafka_pid_t b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: rd_kafka_pid_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_pid_cmp(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_proto.h:703,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_proto.h:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pid
    argTypes:
    - rd_kafka_pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 712
    functionName: rd_kafka_pid2str
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 6
    functionsReached:
    - rd_kafka_pid_valid
    - rd_snprintf
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_kafka_pid2str(const rd_kafka_pid_t pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pid
    argTypes:
    - rd_kafka_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: rd_kafka_pid_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_pid_reset(rd_kafka_pid_t *pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - old
    argTypes:
    - rd_kafka_pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: rd_kafka_pid_bump
    functionSourceFile: /src/librdkafka/src/rdkafka_proto.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_pid_bump(const rd_kafka_pid_t old)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - optype
    argTypes:
    - rd_kafka_op_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: rd_kafka_op2event
    functionSourceFile: /src/librdkafka/src/rdkafka_event.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_op2event(rd_kafka_op_type_t optype)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.h:60,1
    - Dst: rd_kafka_op2event
      Src: /src/librdkafka/src/rdkafka_event.h:64,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_event.h:72,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_event.h:73,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/src/rdkafka_event.h:83,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_event.h:84,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_event.h:87,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_event.h:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 2
    argNames:
    - rk
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 126
    functionName: rd_kafka_event_setup
    functionSourceFile: /src/librdkafka/src/rdkafka_event.h
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_op2event
    - rd_dassert
    - rd_kafka_fatal_error
    - rd_kafka_msgq_init
    - rd_strdup
    - likely
    - unlikely
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_event_setup(rd_kafka_t *rk,\n                                                    rd_kafka_op_t
      *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: rd_kafka_rkt_lw
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_rkt_lw(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: rd_kafka_rkt_lw_const
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_rkt_lw_const(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rkt_lw_const
      Src: /src/librdkafka/src/rdkafka_topic.h:64,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_topic.h:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - app_rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: rd_kafka_rkt_is_lw
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 5
    functionsReached:
    - memcmp
    - rd_kafka_rkt_lw_const
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_rkt_is_lw(const rd_kafka_topic_t *app_rkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rkt_is_lw
      Src: /src/librdkafka/src/rdkafka_topic.h:71,1
    - Dst: rd_kafka_rkt_lw
      Src: /src/librdkafka/src/rdkafka_topic.h:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: rd_kafka_rkt_get_lw
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 3
    functionsReached:
    - rd_kafka_rkt_is_lw
    - rd_kafka_rkt_lw
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_rkt_get_lw(rd_kafka_topic_t *rkt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_refcnt_add
      Src: /src/librdkafka/src/rdkafka_topic.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lrkt
    argTypes:
    - rd_kafka_lwtopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: rd_kafka_lwtopic_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 0
    functionsReached:
    - rd_refcnt_add
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_lwtopic_keep(rd_kafka_lwtopic_t *lrkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: rd_kafka_topic_rdlock
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_rdlock(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: rd_kafka_topic_wrlock
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_wrlock(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: rd_kafka_topic_rdunlock
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_rdunlock(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: rd_kafka_topic_wrunlock
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_wrunlock(rkt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.h:203,1
    - Dst: rd_kafka_rkt_get_lw
      Src: /src/librdkafka/src/rdkafka_topic.h:203,1
    - Dst: rd_kafka_lwtopic_keep
      Src: /src/librdkafka/src/rdkafka_topic.h:204,1
    - Dst: rd_refcnt_add
      Src: /src/librdkafka/src/rdkafka_topic.h:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: rd_kafka_topic_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 10
    functionsReached:
    - rd_refcnt_add
    - unlikely
    - rd_kafka_lwtopic_keep
    - rd_kafka_rkt_get_lw
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_topic_keep(rd_kafka_topic_t *rkt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.h:221,1
    - Dst: rd_kafka_rkt_get_lw
      Src: /src/librdkafka/src/rdkafka_topic.h:221,1
    - Dst: rd_kafka_lwtopic_destroy
      Src: /src/librdkafka/src/rdkafka_topic.h:222,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_topic.h:223,1
    - Dst: rd_refcnt_sub
      Src: /src/librdkafka/src/rdkafka_topic.h:223,1
    - Dst: rd_kafka_topic_destroy_final
      Src: /src/librdkafka/src/rdkafka_topic.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: rd_kafka_topic_destroy0
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 9
    functionsReached:
    - rd_kafka_lwtopic_destroy
    - rd_kafka_topic_destroy_final
    - rd_kafka_rkt_get_lw
    - rd_refcnt_sub
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_topic_destroy0(rd_kafka_topic_t *rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - topic
    - ','
    - do_lock
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: rd_kafka_topic_find
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_find(rk, topic, do_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - topic
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: rd_kafka_topic_find0
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_find0(rk, topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_topic.h:265,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_topic.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rkt
    argTypes:
    - rd_kafka_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: rd_kafka_topic_get_error
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_rdunlock
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_topic_get_error(rd_kafka_topic_t *rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - force
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: rd_kafka_topic_fast_leader_query
    functionSourceFile: /src/librdkafka/src/rdkafka_topic.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_topic_fast_leader_query(rk, force)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: rd_kafka_mock_pid_cmp_pid
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_mock_pid_cmp_pid(const void *_a, const void *_b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_mock_int.h:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 234
    functionName: rd_kafka_mock_pid_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_int.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_mock_pid_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mconn
    - ','
    - resp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    functionName: rd_kafka_mock_connection_send_response
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_mock_connection_send_response(mconn, resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - mcluster
    - ApiKey
    - ApiVersion
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: rd_kafka_mock_cluster_ApiVersion_check
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_mock_cluster_ApiVersion_check(const rd_kafka_mock_cluster_t
      *mcluster,\n                                       int16_t ApiKey,\n                                       int16_t
      ApiVersion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elem
    - ','
    - listp
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdlist.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_LIST_FOREACH(elem, listp, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elem
    - ','
    - listp
    - ','
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: RD_LIST_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/rdlist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_LIST_FOREACH_REVERSE(elem, listp, idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rl
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: rd_list_cnt
    functionSourceFile: /src/librdkafka/src/rdlist.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_list_cnt(const rd_list_t *rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: rd_list_empty
    functionSourceFile: /src/librdkafka/src/rdlist.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_list_empty(rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdlist.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: rd_list_string_copy
    functionSourceFile: /src/librdkafka/src/rdlist.h
    functionUses: 0
    functionsReached:
    - rd_strdup
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_list_string_copy(const void *elem, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_interceptor.c:66,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_interceptor.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: rd_kafka_interceptor_method_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptor_method_destroy(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_interceptor.c:85,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src/rdkafka_interceptor.c:90,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_interceptor.c:91,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_interceptor.c:94,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_interceptor.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - rk
    - method
    - method_name
    - err
    - rkmessage
    - errstr
    argTypes:
    - rd_kafka_t*
    - rd_kafka_interceptor_method_t*
    - char*
    - rd_kafka_resp_err_t
    - rd_kafka_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 99
    functionName: rd_kafka_interceptor_failed
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_topic_name
    - rd_kafka_err2str
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_interceptor_failed(rd_kafka_t *rk,\n                            const
      rd_kafka_interceptor_method_t *method,\n                            const char
      *method_name,\n                            rd_kafka_resp_err_t err,\n                            const
      rd_kafka_message_t *rkmessage,\n                            const char *errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_interceptor.c:113,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_interceptor.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ic_name
    - func
    - ic_opaque
    argTypes:
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: rd_kafka_interceptor_method_new
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_interceptor_method_t
    signature: "rd_kafka_interceptor_method_t *\nrd_kafka_interceptor_method_new(const
      char *ic_name,\n                                void *func,\n                                void
      *ic_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_interceptor.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: rd_kafka_interceptor_method_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_interceptor_method_cmp(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_interceptor.c:151,1
    - Dst: rd_kafka_interceptor_method_new
      Src: /src/librdkafka/src/rdkafka_interceptor.c:154,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - list
    - ic_name
    - func
    - ic_opaque
    argTypes:
    - rd_list_t*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 158
    functionName: rd_kafka_interceptor_method_add
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_method_new
    - rd_list_find
    - rd_list_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_method_add(rd_list_t *list,\n
      \                                                          const char *ic_name,\n
      \                                                          void *func,\n                                                           void
      *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:166,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:167,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:168,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:169,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:170,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:171,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:172,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:173,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:174,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:175,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:176,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:177,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:178,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:179,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: rd_kafka_interceptors_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptors_destroy(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:191,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:194,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:198,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:200,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:203,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:206,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:209,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:212,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:215,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:218,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:221,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:224,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:227,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:230,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 237
    functionName: rd_kafka_interceptors_init
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptors_init(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:251,1
    - Dst: rd_kafka_interceptors_init
      Src: /src/librdkafka/src/rdkafka_interceptor.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - scope
    - pconf
    argTypes:
    - int
    - void*
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: rd_kafka_conf_interceptor_ctor
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_interceptors_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_interceptor_ctor(int scope, void *pconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:260,1
    - Dst: rd_kafka_interceptors_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - scope
    - pconf
    argTypes:
    - int
    - void*
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 4
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: rd_kafka_conf_interceptor_dtor
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_interceptors_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_interceptor_dtor(int scope, void *pconf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:282,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:288,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_interceptor.c:290,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_interceptor.c:294,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_interceptor.c:296,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_interceptor.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 7
    argNames:
    - scope
    - pdst
    - psrc
    - dstptr
    - srcptr
    - filter_cnt
    - filter
    argTypes:
    - int
    - void*
    - void*
    - void*
    - void*
    - size_t
    - char**
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 307
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 307
    functionName: rd_kafka_conf_interceptor_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - RD_LIST_FOREACH
    - strncmp
    - strlen
    - assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_interceptor_copy(int scope,\n                                    void
      *pdst,\n                                    const void *psrc,\n                                    void
      *dstptr,\n                                    const void *srcptr,\n                                    size_t
      filter_cnt,\n                                    const char **filter)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:324,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_conf_set
      Src: /src/librdkafka/src/rdkafka_interceptor.c:327,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:336,1
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdkafka_interceptor.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - conf
    - name
    - val
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 3
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: rd_kafka_interceptors_on_conf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_strtup_new
    - RD_LIST_FOREACH
    - rd_list_add
    - rd_kafka_interceptor_method_t*::u::on_conf_set
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_interceptors_on_conf_set(rd_kafka_conf_t
      *conf,\n                                                      const char *name,\n
      \                                                     const char *val,\n                                                      char
      *errstr,\n                                                      size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:355,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_conf_dup
      Src: /src/librdkafka/src/rdkafka_interceptor.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - new_conf
    - old_conf
    - filter_cnt
    - filter
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_conf_t*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 360
    functionName: rd_kafka_interceptors_on_conf_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_method_t*::u::on_conf_dup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_conf_dup(rd_kafka_conf_t *new_conf,\n
      \                                      const rd_kafka_conf_t *old_conf,\n                                       size_t
      filter_cnt,\n                                       const char **filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:372,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_conf_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 368
    functionDepth: 3
    functionLinenumber: 368
    functionLinenumberEnd: 376
    functionName: rd_kafka_interceptors_on_conf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_method_t*::u::on_conf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptors_on_conf_destroy(rd_kafka_conf_t *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:388,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_new
      Src: /src/librdkafka/src/rdkafka_interceptor.c:391,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:393,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - conf
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 397
    functionName: rd_kafka_interceptors_on_new
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    - rd_kafka_interceptor_method_t*::u::on_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptors_on_new(rd_kafka_t *rk, const rd_kafka_conf_t
      *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:409,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_destroy
      Src: /src/librdkafka/src/rdkafka_interceptor.c:412,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:413,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 417
    functionName: rd_kafka_interceptors_on_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_method_t*::u::on_destroy
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_interceptors_on_destroy(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:430,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_send
      Src: /src/librdkafka/src/rdkafka_interceptor.c:433,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:434,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - rkmessage
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 3
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: rd_kafka_interceptors_on_send
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    - rd_kafka_interceptor_method_t*::u::on_send
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_send(rd_kafka_t *rk,\n                                   rd_kafka_message_t
      *rkmessage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:452,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_interceptor.c:456,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:458,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - rkmessage
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: rd_kafka_interceptors_on_acknowledgement
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 4
    functionsReached:
    - rd_kafka_interceptor_method_t*::u::on_acknowledgement
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_acknowledgement(rd_kafka_t *rk,\n                                              rd_kafka_message_t
      *rkmessage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_interceptor.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkmq
    - force_err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_msgq_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: rd_kafka_interceptors_on_acknowledgement_queue
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptors_on_acknowledgement
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_acknowledgement_queue(\n    rd_kafka_t
      *rk,\n    rd_kafka_msgq_t *rkmq,\n    rd_kafka_resp_err_t force_err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_acknowledgement
      Src: /src/librdkafka/src/rdkafka_interceptor.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 484
    functionName: RD_KAFKA_MSGQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptors_on_acknowledgement
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_MSGQ_FOREACH(rkm, rkmq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:498,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_consume
      Src: /src/librdkafka/src/rdkafka_interceptor.c:501,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:502,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - rkmessage
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: rd_kafka_interceptors_on_consume
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    - rd_kafka_interceptor_method_t*::u::on_consume
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_consume(rd_kafka_t *rk,\n                                      rd_kafka_message_t
      *rkmessage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:521,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_commit
      Src: /src/librdkafka/src/rdkafka_interceptor.c:525,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:526,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - offsets
    - err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 530
    functionName: rd_kafka_interceptors_on_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_method_t*::u::on_commit
    - rd_kafka_interceptor_failed
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_commit(\n    rd_kafka_t *rk,\n    const
      rd_kafka_topic_partition_list_t *offsets,\n    rd_kafka_resp_err_t err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:548,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_request_sent
      Src: /src/librdkafka/src/rdkafka_interceptor.c:551,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:554,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 537
    functionDepth: 3
    functionLinenumber: 537
    functionLinenumberEnd: 558
    functionName: rd_kafka_interceptors_on_request_sent
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_method_t*::u::on_request_sent
    - rd_kafka_interceptor_failed
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_request_sent(rd_kafka_t *rk,\n                                           int
      sockfd,\n                                           const char *brokername,\n
      \                                          int32_t brokerid,\n                                           int16_t
      ApiKey,\n                                           int16_t ApiVersion,\n                                           int32_t
      CorrId,\n                                           size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:578,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_response_received
      Src: /src/librdkafka/src/rdkafka_interceptor.c:582,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:585,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - rk
    - sockfd
    - brokername
    - brokerid
    - ApiKey
    - ApiVersion
    - CorrId
    - size
    - rtt
    - err
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - int32_t
    - int16_t
    - int16_t
    - int32_t
    - size_t
    - int64_t
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 590
    functionName: rd_kafka_interceptors_on_response_received
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    - rd_kafka_interceptor_method_t*::u::on_response_received
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_response_received(rd_kafka_t *rk,\n
      \                                               int sockfd,\n                                                const
      char *brokername,\n                                                int32_t brokerid,\n
      \                                               int16_t ApiKey,\n                                                int16_t
      ApiVersion,\n                                                int32_t CorrId,\n
      \                                               size_t size,\n                                                int64_t
      rtt,\n                                                rd_kafka_resp_err_t err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:598,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_thread_start
      Src: /src/librdkafka/src/rdkafka_interceptor.c:601,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:603,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - thread_type
    argTypes:
    - rd_kafka_t*
    - rd_kafka_thread_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: rd_kafka_interceptors_on_thread_start
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_interceptor_method_t*::u::on_thread_start
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_thread_start(rd_kafka_t *rk,\n                                           rd_kafka_thread_type_t
      thread_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:615,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_thread_exit
      Src: /src/librdkafka/src/rdkafka_interceptor.c:618,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:620,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - thread_type
    argTypes:
    - rd_kafka_t*
    - rd_kafka_thread_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: rd_kafka_interceptors_on_thread_exit
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - rd_kafka_interceptor_method_t*::u::on_thread_exit
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_thread_exit(rd_kafka_t *rk,\n                                          rd_kafka_thread_type_t
      thread_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_interceptor.c:640,1
    - Dst: rd_kafka_interceptor_method_t*::u::on_broker_state_change
      Src: /src/librdkafka/src/rdkafka_interceptor.c:644,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_interceptor.c:647,1
    - Dst: rd_kafka_interceptor_failed
      Src: /src/librdkafka/src/rdkafka_interceptor.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - rk
    - broker_id
    - secproto
    - name
    - port
    - state
    argTypes:
    - rd_kafka_t*
    - int32_t
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 631
    functionDepth: 3
    functionLinenumber: 631
    functionLinenumberEnd: 652
    functionName: rd_kafka_interceptors_on_broker_state_change
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_interceptor_failed
    - unlikely
    - rd_kafka_interceptor_method_t*::u::on_broker_state_change
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_interceptors_on_broker_state_change(rd_kafka_t *rk,\n
      \                                                 int32_t broker_id,\n                                                  const
      char *secproto,\n                                                  const char
      *name,\n                                                  int port,\n                                                  const
      char *state)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ic_name
    - on_conf_set
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - rd_kafka_interceptor_f_on_conf_set_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 662
    functionDepth: 4
    functionLinenumber: 662
    functionLinenumberEnd: 670
    functionName: rd_kafka_conf_interceptor_add_on_conf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_set(\n    rd_kafka_conf_t
      *conf,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_conf_set_t *on_conf_set,\n
      \   void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ic_name
    - on_conf_dup
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - rd_kafka_interceptor_f_on_conf_dup_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 680
    functionName: rd_kafka_conf_interceptor_add_on_conf_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 2
    functionsReached:
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_dup(\n    rd_kafka_conf_t
      *conf,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_conf_dup_t *on_conf_dup,\n
      \   void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ic_name
    - on_conf_destroy
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - rd_kafka_interceptor_f_on_conf_destroy_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 4
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: rd_kafka_conf_interceptor_add_on_conf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_conf_destroy(\n
      \   rd_kafka_conf_t *conf,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_conf_destroy_t
      *on_conf_destroy,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - ic_name
    - on_new
    - ic_opaque
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - rd_kafka_interceptor_f_on_new_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 701
    functionName: rd_kafka_conf_interceptor_add_on_new
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 13
    functionsReached:
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_conf_interceptor_add_on_new(rd_kafka_conf_t
      *conf,\n                                     const char *ic_name,\n                                     rd_kafka_interceptor_f_on_new_t
      *on_new,\n                                     void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:709,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_destroy
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_destroy_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 708
        line_start: 708
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 713
      start: 704
    functionDepth: 4
    functionLinenumber: 704
    functionLinenumberEnd: 713
    functionName: rd_kafka_interceptor_add_on_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_destroy(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_destroy_t *on_destroy,\n
      \   void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:720,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_send
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_send_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 719
        line_start: 719
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: rd_kafka_interceptor_add_on_send
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 5
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_send(rd_kafka_t *rk,\n
      \                                const char *ic_name,\n                                 rd_kafka_interceptor_f_on_send_t
      *on_send,\n                                 void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:731,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_acknowledgement
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_acknowledgement_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 730
        line_start: 730
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 735
      start: 726
    functionDepth: 4
    functionLinenumber: 726
    functionLinenumberEnd: 735
    functionName: rd_kafka_interceptor_add_on_acknowledgement
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 3
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_acknowledgement(\n
      \   rd_kafka_t *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_acknowledgement_t
      *on_acknowledgement,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:743,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_consume
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_consume_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 742
        line_start: 742
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 747
      start: 738
    functionDepth: 4
    functionLinenumber: 738
    functionLinenumberEnd: 747
    functionName: rd_kafka_interceptor_add_on_consume
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 3
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_consume(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_consume_t *on_consume,\n
      \   void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:755,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_commit
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_commit_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 754
        line_start: 754
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 759
      start: 750
    functionDepth: 4
    functionLinenumber: 750
    functionLinenumberEnd: 759
    functionName: rd_kafka_interceptor_add_on_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 3
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_commit(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_commit_t *on_commit,\n
      \   void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:767,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_request_sent
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_request_sent_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 766
        line_start: 766
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 771
      start: 762
    functionDepth: 4
    functionLinenumber: 762
    functionLinenumberEnd: 771
    functionName: rd_kafka_interceptor_add_on_request_sent
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 2
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_request_sent(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_request_sent_t
      *on_request_sent,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:779,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_response_received
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_response_received_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 783
      start: 774
    functionDepth: 4
    functionLinenumber: 774
    functionLinenumberEnd: 783
    functionName: rd_kafka_interceptor_add_on_response_received
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 3
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_response_received(\n
      \   rd_kafka_t *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_response_received_t
      *on_response_received,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:791,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_thread_start
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_thread_start_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 795
      start: 786
    functionDepth: 4
    functionLinenumber: 786
    functionLinenumberEnd: 795
    functionName: rd_kafka_interceptor_add_on_thread_start
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_thread_start(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_thread_start_t
      *on_thread_start,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:803,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_thread_exit
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_thread_exit_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 802
        line_start: 802
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 807
      start: 798
    functionDepth: 4
    functionLinenumber: 798
    functionLinenumberEnd: 807
    functionName: rd_kafka_interceptor_add_on_thread_exit
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 1
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_thread_exit(\n    rd_kafka_t
      *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_thread_exit_t
      *on_thread_exit,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_interceptor.c:815,1
    - Dst: rd_kafka_interceptor_method_add
      Src: /src/librdkafka/src/rdkafka_interceptor.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - ic_name
    - on_broker_state_change
    - ic_opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_interceptor_f_on_broker_state_change_t*
    - void*
    assertStmts:
    - condition: (!rk->rk_initialized)
      pos:
        line_end: 814
        line_start: 814
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    constantsTouched: []
    func_position:
      end: 819
      start: 810
    functionDepth: 4
    functionLinenumber: 810
    functionLinenumberEnd: 819
    functionName: rd_kafka_interceptor_add_on_broker_state_change
    functionSourceFile: /src/librdkafka/src/rdkafka_interceptor.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_interceptor_method_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_interceptor_add_on_broker_state_change(\n
      \   rd_kafka_t *rk,\n    const char *ic_name,\n    rd_kafka_interceptor_f_on_broker_state_change_t
      *on_broker_state_change,\n    void *ic_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - expected_value_int
    - expected_value_double
    argTypes:
    - int64_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 94
    functionName: clear_unit_test_data
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void clear_unit_test_data(int64_t expected_value_int,\n                                 double
      expected_value_double)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:102,1
    - Dst: pb_read
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:107,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:108,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 115
    functionName: decode_string
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_read
    linkageType: ''
    returnType: bool
    signature: bool decode_string(pb_istream_t *stream, const pb_field_t *field, void
      **arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:126,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:128,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:130,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: decode_key_value
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: bool
    signature: bool decode_key_value(pb_istream_t *stream, const pb_field_t *field,
      void **arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:151,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:154,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:156,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: decode_number_data_point
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool decode_number_data_point(pb_istream_t *stream,\n                                     const
      pb_field_t *field,\n                                     void **arg)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:174,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: data_msg_callback
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    linkageType: ''
    returnType: bool
    signature: bool data_msg_callback(pb_istream_t *stream, const pb_field_t *field,
      void **arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:203,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:205,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: decode_metric
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: bool
    signature: bool decode_metric(pb_istream_t *stream, const pb_field_t *field, void
      **arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:227,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:230,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 236
    functionName: decode_scope_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool decode_scope_metrics(pb_istream_t *stream,\n                                 const
      pb_field_t *field,\n                                 void **arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:248,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:251,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_istream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: decode_resource_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: bool
    signature: "bool decode_resource_metrics(pb_istream_t *stream,\n                                    const
      pb_field_t *field,\n                                    void **arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:282,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:283,1
    - Dst: rd_kafka_snappy_java_uncompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:289,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:292,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:293,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:306,1
    - Dst: rd_kafka_snappy_uncompressed_length
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:306,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:308,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:319,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:320,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:321,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:327,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:332,1
    - Dst: rd_kafka_snappy_uncompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:332,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:334,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:340,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - rkb
    - compressed
    - compressed_size
    - outbuf
    - outbuf_len
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 348
    functionName: rd_kafka_snappy_decompress
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_free
    - memcmp
    - rd_kafka_snappy_java_uncompress
    - rd_rkb_dbg
    - rd_malloc
    - rd_kafka_snappy_uncompressed_length
    - rd_strerror
    - rd_kafka_snappy_uncompress
    - likely
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_snappy_decompress(rd_kafka_broker_t *rkb,\n                                      const
      char *compressed,\n                                      size_t compressed_size,\n
      \                                     void **outbuf,\n                                      size_t
      *outbuf_len)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_gz_decompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:368,1
    - Dst: rd_kafka_lz4_decompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:378,1
    - Dst: rd_kafka_zstd_decompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:384,1
    - Dst: rd_kafka_snappy_decompress
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:391,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - rkb
    - compression_type
    - compressed_payload
    - compressed_payload_size
    - uncompressed_payload
    - uncompressed_payload_size
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_compression_t
    - void*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 357
    functionDepth: 3
    functionLinenumber: 357
    functionLinenumberEnd: 402
    functionName: rd_kafka_telemetry_uncompress_metrics_payload
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_lz4_decompress
    - rd_kafka_zstd_decompress
    - rd_gz_decompress
    - rd_kafka_snappy_decompress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_telemetry_uncompress_metrics_payload(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafka_compression_t compression_type,\n    void *compressed_payload,\n
      \   size_t compressed_payload_size,\n    void **uncompressed_payload,\n    size_t
      *uncompressed_payload_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_istream_from_buffer
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:421,1
    - Dst: pb_decode
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:425,1
    - Dst: RD_INTERFACE_CALL
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:429,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - decode_interface
    - buffer
    - size
    argTypes:
    - rd_kafka_telemetry_decode_interface_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 434
    functionName: rd_kafka_telemetry_decode_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - pb_istream_from_buffer
    - RD_INTERFACE_CALL
    - pb_decode
    - PB_GET_ERROR
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_telemetry_decode_metrics(\n    rd_kafka_telemetry_decode_interface_t
      *decode_interface,\n    void *buffer,\n    size_t size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:441,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:445,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:453,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:467,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:474,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:481,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - opaque
    - decoded
    argTypes:
    - void*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 491
    functionName: unit_test_telemetry_decoded_string
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_decoded_string(void *opaque,\n                                               const
      uint8_t *decoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - decoded
    argTypes:
    - void*
    - opentelemetry_proto_metrics_v1_NumberDataPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: unit_test_telemetry_decoded_NumberDataPoint
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_decoded_NumberDataPoint(\n    void *opaque,\n
      \   const opentelemetry_proto_metrics_v1_NumberDataPoint *decoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - int64_value
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: unit_test_telemetry_decoded_int64
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_decoded_int64(void *opaque,\n                                              int64_t
      int64_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - type
    argTypes:
    - void*
    - rd_kafka_telemetry_metric_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 512
    functionName: unit_test_telemetry_decoded_type
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_decoded_type(void *opaque,\n                                 rd_kafka_telemetry_metric_type_t
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:518,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:519,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:520,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:521,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - opaque
    - error
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: unit_test_telemetry_decode_error
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - va_start
    - rd_vsnprintf
    - va_end
    - RD_UT_SAY
    linkageType: ''
    returnType: void
    signature: void unit_test_telemetry_decode_error(void *opaque, const char *error,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:536,1
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:537,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:538,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:541,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:542,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:543,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:544,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:547,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:550,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:554,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:558,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:560,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:562,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:564,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:566,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:569,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:571,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:573,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:576,1
    - Dst: clear_unit_test_data
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:577,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:589,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:591,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:593,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:595,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:597,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:599,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:601,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:604,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:606,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:608,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:610,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:612,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:614,1
    - Dst: set_metric_value
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:617,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:619,1
    - Dst: rd_kafka_telemetry_encode_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:620,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:623,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:625,1
    - Dst: rd_kafka_telemetry_decode_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:627,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:630,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:631,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:633,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:633,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:636,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:636,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:640,1
    - Dst: rd_dbl_eq0
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:641,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:646,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:650,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:652,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:654,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:656,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:657,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:659,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:660,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:662,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:662,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:665,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:665,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:669,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:671,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:672,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:674,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:675,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:677,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:677,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:680,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:680,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:683,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:683,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:686,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:686,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:691,1
    - Dst: rd_buf_destroy_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:692,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:693,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:694,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:696,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:697,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:698,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:700,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:702,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:704,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:707,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:708,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:711,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:713,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:716,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:717,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:719,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:721,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:724,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:725,1
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:726,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:727,1
    - Dst: rd_kafka_anyconf_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:728,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:729,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 92
    argCount: 9
    argNames:
    - rk_type
    - metric_name
    - expected_name
    - expected_description
    - expected_type
    - is_double
    - is_per_broker
    - expected_value_int
    - expected_value_double
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_telemetry_producer_metric_name_t
    - char*
    - char*
    - rd_kafka_telemetry_metric_type_t
    - rd_bool_t
    - rd_bool_t
    - int64_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 732
    functionName: unit_test_telemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set
    - RD_UT_PASS
    - mtx_init
    - rd_strlcpy
    - clear_unit_test_data
    - rd_buf_destroy_free
    - set_metric_value
    - rwlock_init
    - RD_UT_ASSERT
    - rd_avg_destroy
    - rd_uclock
    - RD_UT_SAY
    - rd_kafka_anyconf_destroy
    - rd_kafka_telemetry_decode_metrics
    - rd_calloc
    - strcmp
    - TAILQ_INSERT_HEAD
    - rd_kafka_telemetry_encode_metrics
    - mtx_destroy
    - TAILQ_INIT
    - rd_kafka_conf_new
    - rd_free
    - rd_avg_init
    - rd_dbl_eq0
    - rd_malloc
    - rwlock_destroy
    linkageType: ''
    returnType: int
    signature: "int unit_test_telemetry(rd_kafka_type_t rk_type,\n                        rd_kafka_telemetry_producer_metric_name_t
      metric_name,\n                        const char *expected_name,\n                        const
      char *expected_description,\n                        rd_kafka_telemetry_metric_type_t
      expected_type,\n                        rd_bool_t is_double,\n                        rd_bool_t
      is_per_broker,\n                        void (*set_metric_value)(rd_kafka_t
      *,\n                                                 rd_kafka_broker_t *),\n
      \                       int64_t expected_value_int,\n                        double
      expected_value_double)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 736
    functionName: unit_test_telemetry_set_connects
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unit_test_telemetry_set_connects(rd_kafka_t *rk, rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 740
    functionName: unit_test_telemetry_set_connects2
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unit_test_telemetry_set_connects2(rd_kafka_t *rk, rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:743,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 2
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: unit_test_telemetry_set_rtt
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: void unit_test_telemetry_set_rtt(rd_kafka_t *rk, rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:749,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:750,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 752
    functionName: unit_test_telemetry_set_throttle_time
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_throttle_time(rd_kafka_t *rk,\n                                           rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:756,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:758,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:760,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: unit_test_telemetry_set_queue_time
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_queue_time(rd_kafka_t *rk,\n                                        rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:768,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 772
    functionName: unit_test_telemetry_set_produce_latency
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_produce_latency(rd_kafka_t *rk,\n                                             rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 778
    functionName: unit_test_telemetry_set_coordinator_assigned_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_coordinator_assigned_partitions(\n    rd_kafka_t
      *rk,\n    rd_kafka_broker_t *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: unit_test_telemetry_set_rebalance_latency
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_rebalance_latency(rd_kafka_t *rk,\n                                               rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:788,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 786
    functionDepth: 2
    functionLinenumber: 786
    functionLinenumberEnd: 792
    functionName: unit_test_telemetry_set_fetch_latency
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_fetch_latency(rd_kafka_t *rk,\n                                           rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:796,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:798,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 2
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: unit_test_telemetry_set_poll_idle_ratio
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_poll_idle_ratio(rd_kafka_t *rk,\n                                             rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:806,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: unit_test_telemetry_set_commit_latency
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void unit_test_telemetry_set_commit_latency(rd_kafka_t *rk,\n                                            rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:817,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:826,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:835,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:844,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:853,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:862,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:870,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:878,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:886,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:896,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:905,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:914,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:923,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:932,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:942,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:952,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:961,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:970,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:978,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 812
    functionDepth: 3
    functionLinenumber: 812
    functionLinenumberEnd: 997
    functionName: unit_test_telemetry_gauge
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - unit_test_telemetry
    linkageType: ''
    returnType: int
    signature: int unit_test_telemetry_gauge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1005,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1016,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1026,1
    - Dst: unit_test_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 999
    functionDepth: 3
    functionLinenumber: 999
    functionLinenumberEnd: 1046
    functionName: unit_test_telemetry_sum
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - unit_test_telemetry
    linkageType: ''
    returnType: int
    signature: int unit_test_telemetry_sum(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_test_telemetry_gauge
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1050,1
    - Dst: unit_test_telemetry_sum
      Src: /src/librdkafka/src/rdkafka_telemetry_decode.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1053
    functionName: unittest_telemetry_decode
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_decode.c
    functionUses: 0
    functionsReached:
    - unit_test_telemetry_gauge
    - unit_test_telemetry_sum
    linkageType: ''
    returnType: int
    signature: int unittest_telemetry_decode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: LIST_EMPTY
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: LIST_FIRST
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: LIST_NEXT
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: TAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: TAILQ_INSERT_BEFORE
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_BEFORE(listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: TAILQ_EMPTY
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: TAILQ_FIRST
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: TAILQ_NEXT
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - headname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: TAILQ_LAST
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_LAST(head, headname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: TAILQ_PREV
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_PREV(elm, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elm
    - ','
    - head
    - ','
    - field
    - ','
    - tmpelm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: TAILQ_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_SAFE(elm, head, field, tmpelm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: TAILQ_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_REVERSE(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: TAILQ_CIRC_PREV
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_CIRC_PREV(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: TAILQ_CIRC_NEXT
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_CIRC_NEXT(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - elmtype
    - ','
    - field
    - ','
    - cmpfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: LIST_INSERT_SORTED
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_INSERT_SORTED(head, elm, elmtype, field, cmpfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - elmtype
    - ','
    - field
    - ','
    - cmpfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: TAILQ_INSERT_SORTED
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_SORTED(head, elm, elmtype, field, cmpfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dsthead
    - ','
    - srchead
    - ','
    - elmtype
    - ','
    - field
    - ','
    - cmpfunc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 247
    functionName: TAILQ_CONCAT_SORTED
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_CONCAT_SORTED(dsthead, srchead, elmtype, field, cmpfunc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dhead
    - ','
    - shead
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 277
    functionName: TAILQ_PREPEND
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_PREPEND(dhead, shead, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - dhead
    - ','
    - listelm
    - ','
    - shead
    - ','
    - headname
    - ','
    - elmtype
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: TAILQ_INSERT_LIST
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_INSERT_LIST(dhead, listelm, shead, headname, elmtype, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - dhead
    - ','
    - insert_before
    - ','
    - shead
    - ','
    - headname
    - ','
    - elmtype
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: TAILQ_INSERT_LIST_BEFORE
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "TAILQ_INSERT_LIST_BEFORE(dhead, insert_before, shead, headname,        \\\n
      \                                elmtype, field)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: SIMPLEQ_HEAD
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: SIMPLEQ_ENTRY
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 332
    functionName: SIMPLEQ_FIRST
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 341
    functionName: SIMPLEQ_REMOVE_HEAD
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_REMOVE_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 350
    functionName: SIMPLEQ_INSERT_TAIL
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: SIMPLEQ_INIT
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INIT(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: SIMPLEQ_INSERT_HEAD
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: SIMPLEQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - head
    - ','
    - listelm
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 383
    functionName: SIMPLEQ_INSERT_AFTER
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_INSERT_AFTER(head, listelm, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: SIMPLEQ_END
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: SIMPLEQ_NEXT
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: SIMPLEQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: SIMPLEQ_EMPTY
    functionSourceFile: /src/librdkafka/src/rdsysqueue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_EMPTY(head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/librdkafka/src/tinycthread_extra.c:42,1
    - Dst: pthread_self
      Src: /src/librdkafka/src/tinycthread_extra.c:42,1
    - Dst: pthread_setname_np
      Src: /src/librdkafka/src/tinycthread_extra.c:45,1
    - Dst: pthread_set_name_np
      Src: /src/librdkafka/src/tinycthread_extra.c:48,1
    - Dst: pthread_self
      Src: /src/librdkafka/src/tinycthread_extra.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: thrd_setname
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 0
    functionsReached:
    - pthread_set_name_np
    - pthread_self
    - pthread_setname_np
    linkageType: ''
    returnType: int
    signature: int thrd_setname(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetThreadId
      Src: /src/librdkafka/src/tinycthread_extra.c:56,1
    - Dst: GetCurrentThreadId
      Src: /src/librdkafka/src/tinycthread_extra.c:56,1
    - Dst: pthread_self
      Src: /src/librdkafka/src/tinycthread_extra.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - thr
    argTypes:
    - thrd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: thrd_is_current
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 8
    functionsReached:
    - GetThreadId
    - pthread_self
    - GetCurrentThreadId
    linkageType: ''
    returnType: int
    signature: int thrd_is_current(thrd_t thr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread_extra.c:66,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread_extra.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: cnd_wait_enter
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 1
    functionsReached:
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void cnd_wait_enter(cnd_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread_extra.c:73,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread_extra.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: cnd_wait_exit
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 1
    functionsReached:
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: void
    signature: void cnd_wait_exit(cnd_t *cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cnd_wait
      Src: /src/librdkafka/src/tinycthread_extra.c:87,1
    - Dst: _cnd_timedwait_win32
      Src: /src/librdkafka/src/tinycthread_extra.c:89,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/tinycthread_extra.c:91,1
    - Dst: gettimeofday
      Src: /src/librdkafka/src/tinycthread_extra.c:96,1
    - Dst: cnd_timedwait
      Src: /src/librdkafka/src/tinycthread_extra.c:108,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/tinycthread_extra.c:111,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/tinycthread_extra.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - cnd
    - mtx
    - timeout_ms
    argTypes:
    - cnd_t*
    - mtx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 118
    functionName: cnd_timedwait_ms
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 9
    functionsReached:
    - rd_timeout_expired
    - gettimeofday
    - _cnd_timedwait_win32
    - rd_timeout_remains
    - cnd_timedwait
    - rd_timeout_init
    - cnd_wait
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait_ms(cnd_t *cnd, mtx_t *mtx, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/tinycthread_extra.c:121,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/tinycthread_extra.c:123,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/tinycthread_extra.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cnd
    - mtx
    - timeout_msp
    argTypes:
    - cnd_t*
    - mtx_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: cnd_timedwait_msp
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - cnd_timedwait_ms
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait_msp(cnd_t *cnd, mtx_t *mtx, int *timeout_msp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cnd_wait
      Src: /src/librdkafka/src/tinycthread_extra.c:135,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/tinycthread_extra.c:140,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/tinycthread_extra.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - cnd
    - mtx
    - abs_timeout
    argTypes:
    - cnd_t*
    - mtx_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 147
    functionName: cnd_timedwait_abs
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 0
    functionsReached:
    - rd_timeout_remains
    - cnd_timedwait_ms
    - cnd_wait
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait_abs(cnd_t *cnd, mtx_t *mtx, rd_ts_t abs_timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_init
      Src: /src/librdkafka/src/tinycthread_extra.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: rwlock_init
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 3
    functionsReached:
    - pthread_rwlock_init
    linkageType: ''
    returnType: int
    signature: int rwlock_init(rwlock_t *rwl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_destroy
      Src: /src/librdkafka/src/tinycthread_extra.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: rwlock_destroy
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 3
    functionsReached:
    - pthread_rwlock_destroy
    linkageType: ''
    returnType: int
    signature: int rwlock_destroy(rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/librdkafka/src/tinycthread_extra.c:174,1
    - Dst: assert
      Src: /src/librdkafka/src/tinycthread_extra.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts:
    - condition: (r == 0)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/librdkafka/src/tinycthread_extra.c
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: rwlock_rdlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_rdlock
    - assert
    linkageType: ''
    returnType: int
    signature: int rwlock_rdlock(rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/librdkafka/src/tinycthread_extra.c:180,1
    - Dst: assert
      Src: /src/librdkafka/src/tinycthread_extra.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts:
    - condition: (r == 0)
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/librdkafka/src/tinycthread_extra.c
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: rwlock_wrlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 1
    functionsReached:
    - pthread_rwlock_wrlock
    - assert
    linkageType: ''
    returnType: int
    signature: int rwlock_wrlock(rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/librdkafka/src/tinycthread_extra.c:186,1
    - Dst: assert
      Src: /src/librdkafka/src/tinycthread_extra.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts:
    - condition: (r == 0)
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/librdkafka/src/tinycthread_extra.c
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: rwlock_rdunlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: int
    signature: int rwlock_rdunlock(rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/librdkafka/src/tinycthread_extra.c:192,1
    - Dst: assert
      Src: /src/librdkafka/src/tinycthread_extra.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rwl
    argTypes:
    - rwlock_t*
    assertStmts:
    - condition: (r == 0)
      pos:
        line_end: 192
        line_start: 192
        source_file: /src/librdkafka/src/tinycthread_extra.c
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: rwlock_wrunlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.c
    functionUses: 0
    functionsReached:
    - assert
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: int
    signature: int rwlock_wrunlock(rwlock_t *rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_pattern.c:34,1
    - Dst: rd_regex_destroy
      Src: /src/librdkafka/src/rdkafka_pattern.c:35,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:36,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - plist
    - rkpat
    argTypes:
    - rd_kafka_pattern_list_t*
    - rd_kafka_pattern_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: rd_kafka_pattern_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - rd_regex_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_pattern_destroy(rd_kafka_pattern_list_t *plist,\n                              rd_kafka_pattern_t
      *rkpat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_pattern.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - rkpat
    argTypes:
    - rd_kafka_pattern_list_t*
    - rd_kafka_pattern_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: rd_kafka_pattern_add
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_pattern_add(rd_kafka_pattern_list_t *plist,\n                          rd_kafka_pattern_t
      *rkpat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_pattern.c:49,1
    - Dst: rd_regex_comp
      Src: /src/librdkafka/src/rdkafka_pattern.c:52,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:53,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_pattern.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pattern
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 45
    functionDepth: 13
    functionLinenumber: 45
    functionLinenumberEnd: 60
    functionName: rd_kafka_pattern_new
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_calloc
    - rd_regex_comp
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_pattern_t
    signature: 'rd_kafka_pattern_t *

      rd_kafka_pattern_new(const char *pattern, char *errstr, int errstr_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_pattern.c:67,1
    - Dst: rd_regex_exec
      Src: /src/librdkafka/src/rdkafka_pattern.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plist
    - str
    argTypes:
    - rd_kafka_pattern_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 6
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: rd_kafka_pattern_match
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_regex_exec
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: int rd_kafka_pattern_match(rd_kafka_pattern_list_t *plist, const char
      *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_pattern_new
      Src: /src/librdkafka/src/rdkafka_pattern.c:84,1
    - Dst: rd_kafka_pattern_add
      Src: /src/librdkafka/src/rdkafka_pattern.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - plist
    - pattern
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_pattern_list_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 14
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: rd_kafka_pattern_list_append
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pattern_new
    - rd_kafka_pattern_add
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_pattern_list_append(rd_kafka_pattern_list_t *plist,\n
      \                                const char *pattern,\n                                 char
      *errstr,\n                                 int errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_pattern.c:101,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_pattern.c:102,1
    - Dst: rd_kafka_pattern_destroy
      Src: /src/librdkafka/src/rdkafka_pattern.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - plist
    - pattern
    argTypes:
    - rd_kafka_pattern_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 4
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: rd_kafka_pattern_list_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pattern_destroy
    - strcmp
    - TAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_pattern_list_remove(rd_kafka_pattern_list_t *plist,\n
      \                                const char *pattern)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_pattern.c:118,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_pattern.c:125,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_pattern.c:129,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_pattern.c:129,1
    - Dst: rd_kafka_pattern_list_append
      Src: /src/librdkafka/src/rdkafka_pattern.c:138,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_pattern.c:140,1
    - Dst: rd_kafka_pattern_list_clear
      Src: /src/librdkafka/src/rdkafka_pattern.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - plist
    - patternlist
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_pattern_list_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 15
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: rd_kafka_pattern_list_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_strdupa
    - rd_snprintf
    - rd_kafka_pattern_list_append
    - rd_kafka_pattern_list_clear
    - memmove
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_pattern_list_parse(rd_kafka_pattern_list_t *plist,\n
      \                                      const char *patternlist,\n                                       char
      *errstr,\n                                       size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_pattern.c:161,1
    - Dst: rd_kafka_pattern_destroy
      Src: /src/librdkafka/src/rdkafka_pattern.c:162,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - plist
    argTypes:
    - rd_kafka_pattern_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: rd_kafka_pattern_list_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 1
    functionsReached:
    - rd_kafka_pattern_destroy
    - rd_free
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void rd_kafka_pattern_list_clear(rd_kafka_pattern_list_t *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_pattern_list_clear
      Src: /src/librdkafka/src/rdkafka_pattern.c:175,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - plist
    argTypes:
    - rd_kafka_pattern_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 5
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: rd_kafka_pattern_list_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_pattern_list_clear
    linkageType: ''
    returnType: void
    signature: void rd_kafka_pattern_list_destroy(rd_kafka_pattern_list_t *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_pattern.c:187,1
    - Dst: rd_kafka_pattern_list_parse
      Src: /src/librdkafka/src/rdkafka_pattern.c:189,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_pattern.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - plist
    - patternlist
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_pattern_list_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 183
    functionDepth: 16
    functionLinenumber: 183
    functionLinenumberEnd: 197
    functionName: rd_kafka_pattern_list_init
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_kafka_pattern_list_parse
    - TAILQ_INIT
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_pattern_list_init(rd_kafka_pattern_list_t *plist,\n                               const
      char *patternlist,\n                               char *errstr,\n                               size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_pattern.c:208,1
    - Dst: rd_kafka_pattern_list_init
      Src: /src/librdkafka/src/rdkafka_pattern.c:210,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_pattern.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - patternlist
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 17
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: rd_kafka_pattern_list_new
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pattern_list_init
    - rd_free
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_pattern_list_t
    signature: "rd_kafka_pattern_list_t *rd_kafka_pattern_list_new(const char *patternlist,\n
      \                                                  char *errstr,\n                                                   int
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_pattern_list_new
      Src: /src/librdkafka/src/rdkafka_pattern.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_pattern_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 18
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: rd_kafka_pattern_list_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_pattern.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pattern_list_new
    linkageType: ''
    returnType: rd_kafka_pattern_list_t
    signature: 'rd_kafka_pattern_list_t *

      rd_kafka_pattern_list_copy(rd_kafka_pattern_list_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sinx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: RD_SOCKADDR_INX_LEN
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_SOCKADDR_INX_LEN(sinx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sinx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: RD_SOCKADDR_INX_PORT
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_SOCKADDR_INX_PORT(sinx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sinx
    - ','
    - port
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 72
    functionName: RD_SOCKADDR_INX_PORT_SET
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_SOCKADDR_INX_PORT_SET(sinx, port)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: 'rd_sockaddr_inx_t *

      rd_sockaddr_list_next(rd_sockaddr_list_t *rsal)'
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE rd_sockaddr_inx_t *

      rd_sockaddr_list_next(rd_sockaddr_list_t *rsal)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sinx
    - ','
    - rsal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: RD_SOCKADDR_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_SOCKADDR_LIST_FOREACH(sinx, rsal)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - af
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: rd_family2str
    functionSourceFile: /src/librdkafka/src/rdaddr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_family2str(int af)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - herr
    argTypes:
    - rd_http_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: rd_http_error_destroy
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_http_error_destroy(rd_http_error_t *herr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdhttp.c:62,1
    - Dst: va_copy
      Src: /src/librdkafka/src/rdhttp.c:66,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdhttp.c:67,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdhttp.c:68,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdhttp.c:72,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdhttp.c:77,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdhttp.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 84
    functionName: rd_http_error_new
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_malloc
    - rd_vsnprintf
    - va_end
    - va_copy
    linkageType: ''
    returnType: rd_http_error_t
    signature: rd_http_error_t *rd_http_error_new(int code, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdhttp.c:94,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:97,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdhttp.c:102,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdhttp.c:105,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdhttp.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - code
    - rbuf
    argTypes:
    - int
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 110
    functionName: rd_http_error_new_from_buf
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_buf_len
    - rd_malloc
    - rd_http_error_new
    - rd_slice_read
    linkageType: ''
    returnType: rd_http_error_t
    signature: "rd_http_error_t *rd_http_error_new_from_buf(int code,\n                                                   const
      rd_buf_t *rbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:113,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hreq
    argTypes:
    - rd_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: rd_http_req_destroy
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_http_req_destroy(rd_http_req_t *hreq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhttp.c:126,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdhttp.c:126,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdhttp.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: rd_http_req_write_cb
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_buf_len
    - rd_buf_write
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_http_req_write_cb(char *ptr, size_t size, size_t nmemb, void
      *userdata)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdhttp.c:154,1
    - Dst: rd_kafka_ssl_win_load_cert_stores
      Src: /src/librdkafka/src/rdhttp.c:165,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdhttp.c:168,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdhttp.c:174,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdhttp.c:180,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/librdkafka/src/rdhttp.c:191,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdhttp.c:193,1
    - Dst: rd_kafka_ssl_error0
      Src: /src/librdkafka/src/rdhttp.c:201,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdhttp.c:202,1
    - Dst: rd_kafka_ssl_probe_and_set_default_ca_location
      Src: /src/librdkafka/src/rdhttp.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - curl
    - sslctx
    - userptr
    argTypes:
    - CURL*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 220
    functionName: rd_http_ssl_ctx_function
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_ssl_probe_and_set_default_ca_location
    - rd_strcmp
    - rd_kafka_ssl_win_load_cert_stores
    - rd_kafka_ssl_error0
    - SSL_CTX_set_default_verify_paths
    - rd_kafka_dbg
    linkageType: ''
    returnType: CURLcode
    signature: CURLcode rd_http_ssl_ctx_function(CURL *curl, void *sslctx, void *userptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdhttp.c:224,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdhttp.c:228,1
    - Dst: rd_file_stat
      Src: /src/librdkafka/src/rdhttp.c:232,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:234,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:236,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:239,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:241,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:247,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:248,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/librdkafka/src/rdhttp.c:251,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdhttp.c:254,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdhttp.c:256,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:259,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:262,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:263,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:265,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - rk
    - hreq_curl
    argTypes:
    - rd_kafka_t*
    - CURL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 269
    functionName: rd_http_ssl_configure
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - CURL_AT_LEAST_VERSION
    - rd_strcmp
    - strlen
    - rd_file_stat
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_http_ssl_configure(rd_kafka_t *rk, CURL *hreq_curl)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: rd_http_is_failure_temporary
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_http_is_failure_temporary(int error_code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdhttp.c:300,1
    - Dst: curl_easy_init
      Src: /src/librdkafka/src/rdhttp.c:302,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:304,1
    - Dst: rd_buf_new
      Src: /src/librdkafka/src/rdhttp.c:306,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:308,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/librdkafka/src/rdhttp.c:309,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:310,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:315,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:318,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:319,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:320,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:322,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:323,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:325,1
    - Dst: rd_http_ssl_configure
      Src: /src/librdkafka/src/rdhttp.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - hreq
    - url
    argTypes:
    - rd_kafka_t*
    - rd_http_req_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 332
    functionName: rd_http_req_init
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_init
    - curl_easy_setopt
    - rd_http_ssl_configure
    - CURL_AT_LEAST_VERSION
    - memset
    - rd_http_error_new
    - rd_buf_new
    linkageType: ''
    returnType: rd_http_error_t
    signature: 'rd_http_error_t *

      rd_http_req_init(rd_kafka_t *rk, rd_http_req_t *hreq, const char *url)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_perform
      Src: /src/librdkafka/src/rdhttp.c:341,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhttp.c:342,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:343,1
    - Dst: curl_easy_getinfo
      Src: /src/librdkafka/src/rdhttp.c:345,1
    - Dst: rd_http_error_new_from_buf
      Src: /src/librdkafka/src/rdhttp.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hreq
    argTypes:
    - rd_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: rd_http_req_perform_sync
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    - rd_http_error_new_from_buf
    - rd_http_error_new
    - curl_easy_perform
    - unlikely
    linkageType: ''
    returnType: rd_http_error_t
    signature: rd_http_error_t *rd_http_req_perform_sync(rd_http_req_t *hreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hreq
    argTypes:
    - rd_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: rd_http_req_get_code
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_http_req_get_code(const rd_http_req_t *hreq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_getinfo
      Src: /src/librdkafka/src/rdhttp.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hreq
    argTypes:
    - rd_http_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 367
    functionName: rd_http_req_get_content_type
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_getinfo
    linkageType: ''
    returnType: char
    signature: char *rd_http_req_get_content_type(rd_http_req_t *hreq)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_http_req_init
      Src: /src/librdkafka/src/rdhttp.c:422,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhttp.c:423,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdhttp.c:429,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:431,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:433,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdhttp.c:436,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:437,1
    - Dst: rd_http_req_perform_sync
      Src: /src/librdkafka/src/rdhttp.c:441,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdhttp.c:442,1
    - Dst: rd_http_is_failure_temporary
      Src: /src/librdkafka/src/rdhttp.c:453,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdhttp.c:458,1
    - Dst: rd_usleep
      Src: /src/librdkafka/src/rdhttp.c:459,1
    - Dst: rd_http_req_get_content_type
      Src: /src/librdkafka/src/rdhttp.c:466,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdhttp.c:468,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:476,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:477,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 10
    argNames:
    - rk
    - url
    - headers_array
    - headers_array_cnt
    - timeout_s
    - retries
    - retry_ms
    - rbufp
    - content_type
    - response_code
    argTypes:
    - rd_kafka_t*
    - char*
    - char**
    - size_t
    - int
    - int
    - int
    - rd_buf_t**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 399
    functionDepth: 4
    functionLinenumber: 399
    functionLinenumberEnd: 479
    functionName: rd_http_get
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - rd_http_error_destroy
    - rd_http_req_get_content_type
    - rd_buf_len
    - rd_http_req_perform_sync
    - curl_slist_append
    - rd_http_req_init
    - rd_kafka_terminating
    - rd_http_req_destroy
    - rd_http_is_failure_temporary
    - rd_http_error_new
    - rd_strdup
    - RD_IF_FREE
    - unlikely
    - rd_usleep
    linkageType: ''
    returnType: rd_http_error_t
    signature: "rd_http_error_t *rd_http_get(rd_kafka_t *rk,\n                             const
      char *url,\n                             char **headers_array,\n                             size_t
      headers_array_cnt,\n                             int timeout_s,\n                             int
      retries,\n                             int retry_ms,\n                             rd_buf_t
      **rbufp,\n                             char **content_type,\n                             int
      *response_code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdhttp.c:496,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdhttp.c:497,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdhttp.c:499,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdhttp.c:500,1
    - Dst: cJSON_ParseWithOpts
      Src: /src/librdkafka/src/rdhttp.c:504,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:507,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - hreq
    - jsonp
    argTypes:
    - rd_http_req_t*
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 513
    functionName: rd_http_parse_json
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_free
    - rd_buf_len
    - rd_malloc
    - rd_http_error_new
    - cJSON_ParseWithOpts
    - rd_slice_read
    linkageType: ''
    returnType: rd_http_error_t
    signature: rd_http_error_t *rd_http_parse_json(rd_http_req_t *hreq, cJSON **jsonp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_http_req_init
      Src: /src/librdkafka/src/rdhttp.c:544,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhttp.c:545,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:548,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:549,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:551,1
    - Dst: curl_easy_setopt
      Src: /src/librdkafka/src/rdhttp.c:553,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdhttp.c:556,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:557,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:558,1
    - Dst: rd_http_req_perform_sync
      Src: /src/librdkafka/src/rdhttp.c:561,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdhttp.c:562,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:568,1
    - Dst: rd_http_is_failure_temporary
      Src: /src/librdkafka/src/rdhttp.c:573,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:574,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdhttp.c:579,1
    - Dst: rd_usleep
      Src: /src/librdkafka/src/rdhttp.c:580,1
    - Dst: rd_http_req_get_content_type
      Src: /src/librdkafka/src/rdhttp.c:583,1
    - Dst: rd_strncasecmp
      Src: /src/librdkafka/src/rdhttp.c:585,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdhttp.c:586,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:588,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:591,1
    - Dst: rd_http_parse_json
      Src: /src/librdkafka/src/rdhttp.c:595,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdhttp.c:597,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 9
    argNames:
    - rk
    - url
    - headers
    - post_fields
    - post_fields_size
    - timeout_s
    - retries
    - retry_ms
    - jsonp
    argTypes:
    - rd_kafka_t*
    - char*
    - struct curl_slist*
    - char*
    - size_t
    - int
    - int
    - int
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 529
    functionDepth: 4
    functionLinenumber: 529
    functionLinenumberEnd: 600
    functionName: rd_http_post_expect_json
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_easy_setopt
    - rd_http_error_destroy
    - rd_http_req_get_content_type
    - rd_strncasecmp
    - rd_buf_len
    - rd_http_req_perform_sync
    - rd_http_req_init
    - rd_kafka_terminating
    - rd_http_req_destroy
    - rd_http_parse_json
    - rd_http_is_failure_temporary
    - rd_http_error_new
    - strlen
    - unlikely
    - rd_usleep
    linkageType: ''
    returnType: rd_http_error_t
    signature: "rd_http_error_t *rd_http_post_expect_json(rd_kafka_t *rk,\n                                          const
      char *url,\n                                          const struct curl_slist
      *headers,\n                                          const char *post_fields,\n
      \                                         size_t post_fields_size,\n                                          int
      timeout_s,\n                                          int retries,\n                                          int
      retry_ms,\n                                          cJSON **jsonp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_url
      Src: /src/librdkafka/src/rdhttp.c:611,1
    - Dst: curl_url_set
      Src: /src/librdkafka/src/rdhttp.c:612,1
    - Dst: curl_url_set
      Src: /src/librdkafka/src/rdhttp.c:616,1
    - Dst: curl_url_set
      Src: /src/librdkafka/src/rdhttp.c:620,1
    - Dst: curl_url_get
      Src: /src/librdkafka/src/rdhttp.c:625,1
    - Dst: curl_url_cleanup
      Src: /src/librdkafka/src/rdhttp.c:629,1
    - Dst: curl_url_cleanup
      Src: /src/librdkafka/src/rdhttp.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - url
    - params
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 634
    functionName: rd_http_get_params_append
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_url
    - curl_url_get
    - curl_url_cleanup
    - curl_url_set
    linkageType: ''
    returnType: char
    signature: char *rd_http_get_params_append(const char *url, const char *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdhttp.c:655,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdhttp.c:660,1
    - Dst: rd_http_get
      Src: /src/librdkafka/src/rdhttp.c:664,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:667,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdhttp.c:669,1
    - Dst: rd_strncasecmp
      Src: /src/librdkafka/src/rdhttp.c:672,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdhttp.c:673,1
    - Dst: rd_http_error_new
      Src: /src/librdkafka/src/rdhttp.c:674,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:677,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:678,1
    - Dst: rd_http_parse_json
      Src: /src/librdkafka/src/rdhttp.c:684,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:685,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdhttp.c:686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 8
    argNames:
    - rk
    - url
    - headers_array
    - headers_array_cnt
    - timeout_s
    - retries
    - retry_ms
    - jsonp
    argTypes:
    - rd_kafka_t*
    - char*
    - char**
    - size_t
    - int
    - int
    - int
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 642
    functionDepth: 5
    functionLinenumber: 642
    functionLinenumberEnd: 689
    functionName: rd_http_get_json
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_strncasecmp
    - rd_free
    - rd_calloc
    - rd_http_parse_json
    - rd_http_error_new
    - strlen
    - memcpy
    - RD_IF_FREE
    - unlikely
    - rd_http_get
    linkageType: ''
    returnType: rd_http_error_t
    signature: "rd_http_error_t *rd_http_get_json(rd_kafka_t *rk,\n                                  const
      char *url,\n                                  char **headers_array,\n                                  size_t
      headers_array_cnt,\n                                  int timeout_s,\n                                  int
      retries,\n                                  int retry_ms,\n                                  cJSON
      **jsonp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/librdkafka/src/rdhttp.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 694
    functionName: rd_http_global_init
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - curl_global_init
    linkageType: ''
    returnType: void
    signature: void rd_http_global_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdhttp.c:698,1
    - Dst: RD_UT_SKIP
      Src: /src/librdkafka/src/rdhttp.c:707,1
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdhttp.c:709,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdhttp.c:711,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdhttp.c:712,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdhttp.c:712,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdhttp.c:713,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdhttp.c:714,1
    - Dst: rd_http_get_json
      Src: /src/librdkafka/src/rdhttp.c:718,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:719,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:727,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdhttp.c:729,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdhttp.c:733,1
    - Dst: rd_http_get_json
      Src: /src/librdkafka/src/rdhttp.c:738,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:739,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:740,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdhttp.c:744,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdhttp.c:750,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdhttp.c:751,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:752,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhttp.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 697
    functionDepth: 6
    functionLinenumber: 697
    functionLinenumberEnd: 755
    functionName: unittest_http_get
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_http_error_destroy
    - rd_free
    - rd_snprintf
    - cJSON_Delete
    - rd_calloc
    - RD_UT_BEGIN
    - rd_alloca
    - RD_UT_ASSERT
    - rd_http_get_json
    - RD_UT_PASS
    - strlen
    - RD_UT_SAY
    - RD_UT_SKIP
    - rd_getenv
    linkageType: ''
    returnType: int
    signature: int unittest_http_get(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(jval, json)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdhttp.c:760,1
    - Dst: rd_http_get_params_append
      Src: /src/librdkafka/src/rdhttp.c:795,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:796,1
    - Dst: rd_http_get_params_append
      Src: /src/librdkafka/src/rdhttp.c:797,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:798,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdhttp.c:801,1
    - Dst: rd_http_get_params_append
      Src: /src/librdkafka/src/rdhttp.c:803,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdhttp.c:804,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdhttp.c:804,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:806,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdhttp.c:809,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdhttp.c:811,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 812
    functionName: unittest_http_get_params_append
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - rd_calloc
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - rd_http_get_params_append
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int unittest_http_get_params_append(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unittest_http_get
      Src: /src/librdkafka/src/rdhttp.c:826,1
    - Dst: unittest_http_get_params_append
      Src: /src/librdkafka/src/rdhttp.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 823
    functionDepth: 7
    functionLinenumber: 823
    functionLinenumberEnd: 830
    functionName: unittest_http
    functionSourceFile: /src/librdkafka/src/rdhttp.c
    functionUses: 0
    functionsReached:
    - unittest_http_get_params_append
    - unittest_http_get
    linkageType: ''
    returnType: int
    signature: int unittest_http(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:153,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:154,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:157,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:159,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - token
    argTypes:
    - struct rd_kafka_sasl_oauthbearer_token*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: rd_kafka_sasl_oauthbearer_token_free
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - memset
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_oauthbearer_token_free(\n    struct rd_kafka_sasl_oauthbearer_token
      *token)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_t*::rk_conf::sasl::oauthbearer::token_refresh_cb
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: rd_kafka_oauthbearer_refresh_op
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_t*::rk_conf::sasl::oauthbearer::token_refresh_cb
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_oauthbearer_refresh_op(rd_kafka_t *rk,\n
      \                                                        rd_kafka_q_t *rkq,\n
      \                                                        rd_kafka_op_t *rko)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:194,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:196,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:205,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rd_kafka_sasl_oauthbearer_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: rd_kafka_oauthbearer_enqueue_token_refresh
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_uclock
    - rd_kafka_op_new_cb
    - rd_kafka_q_enq
    - rd_kafka_op_set_prio
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oauthbearer_enqueue_token_refresh(\n    rd_kafka_sasl_oauthbearer_handle_t
      *handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:220,1
    - Dst: rwlock_wrlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:222,1
    - Dst: rd_kafka_oauthbearer_enqueue_token_refresh
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:226,1
    - Dst: rwlock_wrunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rd_kafka_sasl_oauthbearer_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: rd_kafka_oauthbearer_enqueue_token_refresh_if_necessary
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rwlock_wrlock
    - rwlock_wrunlock
    - rd_uclock
    - rd_kafka_oauthbearer_enqueue_token_refresh
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oauthbearer_enqueue_token_refresh_if_necessary(\n    rd_kafka_sasl_oauthbearer_handle_t
      *handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_rdlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:241,1
    - Dst: rwlock_rdunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - rd_kafka_sasl_oauthbearer_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: rd_kafka_oauthbearer_has_token
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rwlock_rdlock
    - rwlock_rdunlock
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_oauthbearer_has_token(rd_kafka_sasl_oauthbearer_handle_t
      *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:257,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:258,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:272,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - key
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 290
    functionName: check_oauthbearer_extension_key
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rd_snprintf
    linkageType: ''
    returnType: int
    signature: "int check_oauthbearer_extension_key(const char *key,\n                                           char
      *errstr,\n                                           size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - value
    - errstr
    - errstr_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 326
    functionName: check_oauthbearer_extension_value
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: int
    signature: "int check_oauthbearer_extension_value(const char *value,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:383,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:391,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:399,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:401,1
    - Dst: check_oauthbearer_extension_value
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:408,1
    - Dst: check_oauthbearer_extension_key
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:413,1
    - Dst: check_oauthbearer_extension_value
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:415,1
    - Dst: rwlock_wrlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:420,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:422,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:423,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:425,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:426,1
    - Dst: rd_list_clear
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:434,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:436,1
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:437,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:439,1
    - Dst: rwlock_wrunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:442,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:444,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 8
    argNames:
    - rk
    - token_value
    - md_lifetime_ms
    - md_principal_name
    - extensions
    - extension_size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - int64_t
    - char*
    - char**
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 451
    functionName: rd_kafka_oauthbearer_set_token0
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - check_oauthbearer_extension_value
    - rd_snprintf
    - rd_list_clear
    - rwlock_wrlock
    - rd_kafka_all_brokers_wakeup
    - check_oauthbearer_extension_key
    - rd_uclock
    - rd_strtup_new
    - rwlock_wrunlock
    - rd_strdup
    - RD_IF_FREE
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token0(rd_kafka_t *rk,\n
      \                               const char *token_value,\n                                int64_t
      md_lifetime_ms,\n                                const char *md_principal_name,\n
      \                               const char **extensions,\n                                size_t
      extension_size,\n                                char *errstr,\n                                size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_wrlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:484,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:485,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:486,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:487,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:490,1
    - Dst: rwlock_wrunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:491,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - rk
    - errstr
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 500
    functionName: rd_kafka_oauthbearer_set_token_failure0
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_err
    - rwlock_wrlock
    - strcmp
    - rd_uclock
    - rwlock_wrunlock
    - rd_strdup
    - RD_IF_FREE
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token_failure0(rd_kafka_t
      *rk, const char *errstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:516,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:523,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - loc
    - prefix
    - value_end_char
    - value
    - errstr
    - errstr_size
    argTypes:
    - char**
    - char*
    - char
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 538
    functionName: parse_ujws_config_value_for_prefix
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_strdup
    - rd_snprintf
    linkageType: ''
    returnType: int
    signature: "int parse_ujws_config_value_for_prefix(char **loc,\n                                              const
      char *prefix,\n                                              const char value_end_char,\n
      \                                             char **value,\n                                              char
      *errstr,\n                                              size_t errstr_size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:574,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:581,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:582,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:583,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:588,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:595,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:596,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:597,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:602,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:609,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:610,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:611,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:616,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:623,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:623,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:624,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:629,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:636,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:637,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:640,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:645,1
    - Dst: strtoll
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:655,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:657,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:666,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:680,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:682,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:683,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:686,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:691,1
    - Dst: parse_ujws_config_value_for_prefix
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:699,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:703,1
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:705,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:707,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:711,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:714,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:722,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 4
    argNames:
    - cfg
    - parsed
    - errstr
    - errstr_size
    argTypes:
    - char*
    - struct rd_kafka_sasl_oauthbearer_parsed_ujws*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 725
    functionName: parse_ujws_config
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_add
    - rd_snprintf
    - strtoll
    - parse_ujws_config_value_for_prefix
    - rd_strtup_new
    - strncmp
    - strlen
    - rd_strdup
    - RD_IF_FREE
    linkageType: ''
    returnType: int
    signature: "int parse_ujws_config(const char *cfg,\n                  struct rd_kafka_sasl_oauthbearer_parsed_ujws
      *parsed,\n                  char *errstr,\n                  size_t errstr_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:752,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:777,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:778,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:778,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:783,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:785,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:789,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:801,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:803,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:810,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:814,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:816,1
    - Dst: sprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:822,1
    - Dst: sprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:823,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:824,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:825,1
    - Dst: sprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:826,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:829,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:830,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:835,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:838,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:840,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:841,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:842,1
    - Dst: EVP_EncodeBlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:844,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:845,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:846,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:864,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 2
    argNames:
    - parsed
    - now_wallclock
    argTypes:
    - struct rd_kafka_sasl_oauthbearer_parsed_ujws*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 867
    functionName: create_jws_compact_serialization
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - sprintf
    - rd_free
    - rd_list_add
    - rd_list_cnt
    - rd_snprintf
    - EVP_EncodeBlock
    - rd_list_destroy
    - rd_list_elem
    - rd_malloc
    - rd_list_find
    - strlen
    - rd_list_init
    - rd_strdup
    linkageType: ''
    returnType: char
    signature: "char *create_jws_compact_serialization(\n    const struct rd_kafka_sasl_oauthbearer_parsed_ujws
      *parsed,\n    rd_ts_t now_wallclock)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:890,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:896,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:898,1
    - Dst: parse_ujws_config
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:901,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:904,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:906,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:910,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:914,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:915,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:920,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:921,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:927,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:928,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:934,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:935,1
    - Dst: create_jws_compact_serialization
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:943,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:946,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:947,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:951,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:953,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:955,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:960,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:965,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:966,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:967,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:968,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:969,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:972,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - token
    - cfg
    - now_wallclock_ms
    - errstr
    - errstr_size
    argTypes:
    - struct rd_kafka_sasl_oauthbearer_token*
    - char*
    - int64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 879
    functionDepth: 4
    functionLinenumber: 879
    functionLinenumberEnd: 975
    functionName: rd_kafka_oauthbearer_unsecured_token0
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_snprintf
    - create_jws_compact_serialization
    - rd_list_destroy
    - rd_kafka_sasl_oauthbearer_token_free
    - memset
    - rd_malloc
    - parse_ujws_config
    - strchr
    - rd_list_elem
    - rd_list_init
    - rd_strdup
    - RD_IF_FREE
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_oauthbearer_unsecured_token0(\n    struct rd_kafka_sasl_oauthbearer_token
      *token,\n    const char *cfg,\n    int64_t now_wallclock_ms,\n    char *errstr,\n
      \   size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1016,1
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1018,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1019,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1021,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1025,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1010
    functionDepth: 5
    functionLinenumber: 1010
    functionLinenumberEnd: 1029
    functionName: rd_kafka_oauthbearer_unsecured_token
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - rd_kafka_oauthbearer_set_token_failure
    - rd_kafka_oauthbearer_unsecured_token0
    - rd_uclock
    - rd_kafka_oauthbearer_set_token
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oauthbearer_unsecured_token(rd_kafka_t *rk,\n                                          const
      char *oauthbearer_config,\n                                          void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1041,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1042,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1043,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1044,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1034
    functionDepth: 3
    functionLinenumber: 1034
    functionLinenumberEnd: 1047
    functionName: rd_kafka_sasl_oauthbearer_close
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_oauthbearer_close(rd_kafka_transport_t *rktrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1072,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1079,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1080,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1082,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1083,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1087,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1087,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1088,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1090,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1094,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1097,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1101,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1102,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1103,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1105,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1110,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1111,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - rktrans
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1115
    functionName: rd_kafka_sasl_oauthbearer_build_client_first_message
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_snprintf
    - rd_list_elem
    - rd_rkb_dbg
    - rd_malloc
    - strlen
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_oauthbearer_build_client_first_message(\n    rd_kafka_transport_t
      *rktrans,\n    rd_chariov_t *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1137,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1143,1
    - Dst: rd_kafka_sasl_oauthbearer_build_client_first_message
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1145,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1154,1
    - Dst: rd_kafka_sasl_auth_done
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1160,1
    - Dst: rd_strndup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1166,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1176,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1177,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1185,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1189,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1196,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - rktrans
    - in
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1202
    functionName: rd_kafka_sasl_oauthbearer_fsm
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_snprintf
    - rd_strndup
    - rd_kafka_sasl_send
    - rd_kafka_sasl_auth_done
    - rd_rkb_dbg
    - rd_dassert
    - rd_malloc
    - rd_kafka_sasl_oauthbearer_build_client_first_message
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_oauthbearer_fsm(rd_kafka_transport_t *rktrans,\n
      \                                        const rd_chariov_t *in,\n                                         char
      *errstr,\n                                         size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_oauthbearer_fsm
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rktrans
    - buf
    - size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: rd_kafka_sasl_oauthbearer_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_fsm
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_oauthbearer_recv(rd_kafka_transport_t *rktrans,\n
      \                                         const void *buf,\n                                          size_t
      size,\n                                          char *errstr,\n                                          size_t
      errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1233,1
    - Dst: rwlock_rdlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1248,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1250,1
    - Dst: rwlock_rdunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1255,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1259,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1261,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1265,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1266,1
    - Dst: rwlock_rdunlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1269,1
    - Dst: rd_kafka_sasl_oauthbearer_fsm
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - rktrans
    - hostname
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1225
    functionDepth: 4
    functionLinenumber: 1225
    functionLinenumberEnd: 1274
    functionName: rd_kafka_sasl_oauthbearer_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rwlock_rdunlock
    - rd_snprintf
    - rd_kafka_sasl_oauthbearer_fsm
    - rd_calloc
    - rwlock_rdlock
    - rd_list_copy_to
    - rd_strdup
    - rd_list_init_copy
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_oauthbearer_client_new(rd_kafka_transport_t *rktrans,\n
      \                                               const char *hostname,\n                                                char
      *errstr,\n                                                size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_enqueue_token_refresh_if_necessary
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1282
    functionDepth: 3
    functionLinenumber: 1282
    functionLinenumberEnd: 1290
    functionName: rd_kafka_sasl_oauthbearer_token_refresh_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_oauthbearer_enqueue_token_refresh_if_necessary
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_oauthbearer_token_refresh_tmr_cb(rd_kafka_timers_t
      *rkts,\n                                               void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1301,1
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1304,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1308,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1314,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1315,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1318,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1321,1
    - Dst: rd_kafka_t*::rk_conf::sasl::oauthbearer::token_refresh_cb
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1330,1
    - Dst: rd_kafka_sasl_background_callbacks_enable
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1343,1
    - Dst: rd_kafka_oauthbearer_enqueue_token_refresh
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1350
    functionName: rd_kafka_sasl_oauthbearer_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_q_keep
    - rd_kafka_oauthbearer_enqueue_token_refresh
    - rwlock_init
    - rd_calloc
    - rd_kafka_t*::rk_conf::sasl::oauthbearer::token_refresh_cb
    - rd_kafka_timer_start
    - rd_list_init
    - rd_kafka_sasl_background_callbacks_enable
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_oauthbearer_init(rd_kafka_t *rk,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1364,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1366,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1367,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1368,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1369,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1370,1
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1372,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1356
    functionDepth: 3
    functionLinenumber: 1356
    functionLinenumberEnd: 1375
    functionName: rd_kafka_sasl_oauthbearer_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_destroy
    - rd_kafka_timer_stop
    - RD_IF_FREE
    - rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_oauthbearer_term(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_has_token
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1391
    functionName: rd_kafka_sasl_oauthbearer_ready
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_oauthbearer_has_token
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_sasl_oauthbearer_ready(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1409
    functionName: rd_kafka_sasl_oauthbearer_conf_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_oauthbearer_conf_validate(rd_kafka_t *rk,\n                                                   char
      *errstr,\n                                                   size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1455,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1459,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1462,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1464,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1464,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1466,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1466,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1470,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1436
    functionDepth: 5
    functionLinenumber: 1436
    functionLinenumberEnd: 1473
    functionName: do_unittest_config_defaults
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - RD_UT_FAIL
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_defaults(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1498,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1502,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1505,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1507,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1507,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1509,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1509,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1513,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1479
    functionDepth: 5
    functionLinenumber: 1479
    functionLinenumberEnd: 1516
    functionName: do_unittest_config_explicit_scope_and_life
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - RD_UT_FAIL
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_explicit_scope_and_life(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1542,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1546,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1549,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1551,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1551,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1553,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1553,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1557,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1522
    functionDepth: 5
    functionLinenumber: 1522
    functionLinenumberEnd: 1560
    functionName: do_unittest_config_all_explicit_values
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - RD_UT_FAIL
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_all_explicit_values(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1577,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1581,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1583,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1585,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1585,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1566
    functionDepth: 5
    functionLinenumber: 1566
    functionLinenumberEnd: 1590
    functionName: do_unittest_config_no_principal_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_no_principal_should_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1606,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1610,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1612,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1614,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1614,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1596
    functionDepth: 5
    functionLinenumber: 1596
    functionLinenumberEnd: 1619
    functionName: do_unittest_config_empty_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_empty_should_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1636,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1640,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1642,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1644,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1644,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1625
    functionDepth: 5
    functionLinenumber: 1625
    functionLinenumberEnd: 1649
    functionName: do_unittest_config_unrecognized_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_unrecognized_should_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1670,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1674,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1676,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1679,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1680,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1680,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1655
    functionDepth: 5
    functionLinenumber: 1655
    functionLinenumberEnd: 1686
    functionName: do_unittest_config_empty_value_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_empty_value_should_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1708,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1712,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1714,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1717,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1718,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1718,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1692
    functionDepth: 5
    functionLinenumber: 1692
    functionLinenumberEnd: 1724
    functionName: do_unittest_config_value_with_quote_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_value_with_quote_should_fail(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_unsecured_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1739,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1744,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1747,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1751,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1751,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1752,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1753,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1754,1
    - Dst: rd_kafka_sasl_oauthbearer_token_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1760,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1730
    functionDepth: 5
    functionLinenumber: 1730
    functionLinenumberEnd: 1763
    functionName: do_unittest_config_extensions
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_oauthbearer_token_free
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_oauthbearer_unsecured_token0
    - RD_UT_PASS
    - RD_UT_FAIL
    linkageType: ''
    returnType: int
    signature: int do_unittest_config_extensions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_oauthbearer_extension_key
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1775,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1777,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1782
    functionName: do_unittest_illegal_extension_keys_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - RD_UT_PASS
    - RD_UT_ASSERT
    - check_oauthbearer_extension_key
    linkageType: ''
    returnType: int
    signature: int do_unittest_illegal_extension_keys_should_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1799,1
    - Dst: rd_kafka_oauthbearer_set_token0
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1801,1
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1804,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1806,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1807,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1807,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1811,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1812,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1787
    functionDepth: 4
    functionLinenumber: 1787
    functionLinenumberEnd: 1815
    functionName: do_unittest_odd_extension_size_should_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rwlock_init
    - strcmp
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_oauthbearer_set_token0
    - rwlock_destroy
    linkageType: ''
    returnType: int
    signature: int do_unittest_odd_extension_size_should_fail(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_unittest_config_no_principal_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1820,1
    - Dst: do_unittest_config_empty_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1821,1
    - Dst: do_unittest_config_empty_value_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1822,1
    - Dst: do_unittest_config_value_with_quote_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1823,1
    - Dst: do_unittest_config_unrecognized_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1824,1
    - Dst: do_unittest_config_defaults
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1825,1
    - Dst: do_unittest_config_explicit_scope_and_life
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1826,1
    - Dst: do_unittest_config_all_explicit_values
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1827,1
    - Dst: do_unittest_config_extensions
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1828,1
    - Dst: do_unittest_illegal_extension_keys_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1829,1
    - Dst: do_unittest_odd_extension_size_should_fail
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c:1830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1817
    functionDepth: 6
    functionLinenumber: 1817
    functionLinenumberEnd: 1833
    functionName: unittest_sasl_oauthbearer
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    functionUses: 0
    functionsReached:
    - do_unittest_config_no_principal_should_fail
    - do_unittest_config_explicit_scope_and_life
    - do_unittest_config_empty_value_should_fail
    - do_unittest_illegal_extension_keys_should_fail
    - do_unittest_config_value_with_quote_should_fail
    - do_unittest_config_defaults
    - do_unittest_config_all_explicit_values
    - do_unittest_config_empty_should_fail
    - do_unittest_config_unrecognized_should_fail
    - do_unittest_odd_extension_size_should_fail
    - do_unittest_config_extensions
    linkageType: ''
    returnType: int
    signature: int unittest_sasl_oauthbearer(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:80,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:90,1
    - Dst: llabs
      Src: /src/librdkafka/src/rdkafka_offset.c:91,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: rd_kafka_offset2str
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - llabs
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_offset2str(int64_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/librdkafka/src/rdkafka_offset.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: rd_kafka_offset_file_close
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_file_close(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/librdkafka/src/rdkafka_offset.c:116,1
    - Dst: rd_kafka_open_cb_generic
      Src: /src/librdkafka/src/rdkafka_offset.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pathname
    - flags
    - mode
    - opaque
    argTypes:
    - char*
    - int
    - mode_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: rd_kafka_open_cb_linux
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_open_cb_generic
    - open
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_open_cb_linux(const char *pathname,\n                           int
      flags,\n                           mode_t mode,\n                           void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/librdkafka/src/rdkafka_offset.c:134,1
    - Dst: fcntl
      Src: /src/librdkafka/src/rdkafka_offset.c:138,1
    - Dst: _sopen_s
      Src: /src/librdkafka/src/rdkafka_offset.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pathname
    - flags
    - mode
    - opaque
    argTypes:
    - char*
    - int
    - mode_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 147
    functionName: rd_kafka_open_cb_generic
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 1
    functionsReached:
    - _sopen_s
    - fcntl
    - open
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_open_cb_generic(const char *pathname,\n                             int
      flags,\n                             mode_t mode,\n                             void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_t*::rk_conf::open_cb
      Src: /src/librdkafka/src/rdkafka_offset.c:159,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_offset.c:161,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_offset.c:167,1
    - Dst: fdopen
      Src: /src/librdkafka/src/rdkafka_offset.c:173,1
    - Dst: _fdopen
      Src: /src/librdkafka/src/rdkafka_offset.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 179
    functionName: rd_kafka_offset_file_open
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_err
    - fdopen
    - rd_kafka_t*::rk_conf::open_cb
    - rd_strerror
    - _fdopen
    linkageType: ''
    returnType: int
    signature: int rd_kafka_offset_file_open(rd_kafka_toppar_t *rktp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/librdkafka/src/rdkafka_offset.c:188,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_offset.c:189,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_offset.c:195,1
    - Dst: rd_kafka_offset_file_close
      Src: /src/librdkafka/src/rdkafka_offset.c:196,1
    - Dst: fread
      Src: /src/librdkafka/src/rdkafka_offset.c:200,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:202,1
    - Dst: strtoull
      Src: /src/librdkafka/src/rdkafka_offset.c:211,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_offset.c:213,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 231
    functionName: rd_kafka_offset_file_read
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_err
    - fseek
    - fread
    - strtoull
    - rd_kafka_offset_file_close
    - rd_strerror
    - rd_kafka_dbg
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_kafka_offset_file_read(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:241,1
    - Dst: fflush
      Src: /src/librdkafka/src/rdkafka_offset.c:246,1
    - Dst: fsync
      Src: /src/librdkafka/src/rdkafka_offset.c:247,1
    - Dst: fileno
      Src: /src/librdkafka/src/rdkafka_offset.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: rd_kafka_offset_file_sync
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - fileno
    - fflush
    - fsync
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_offset_file_sync(rd_kafka_toppar_t *rktp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_file_open
      Src: /src/librdkafka/src/rdkafka_offset.c:273,1
    - Dst: fseek
      Src: /src/librdkafka/src/rdkafka_offset.c:276,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_offset.c:277,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_offset.c:284,1
    - Dst: rd_kafka_offset_file_close
      Src: /src/librdkafka/src/rdkafka_offset.c:286,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:290,1
    - Dst: fwrite
      Src: /src/librdkafka/src/rdkafka_offset.c:292,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_offset.c:293,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_offset.c:302,1
    - Dst: rd_kafka_offset_file_close
      Src: /src/librdkafka/src/rdkafka_offset.c:304,1
    - Dst: fflush
      Src: /src/librdkafka/src/rdkafka_offset.c:309,1
    - Dst: _chsize_s
      Src: /src/librdkafka/src/rdkafka_offset.c:313,1
    - Dst: _fileno
      Src: /src/librdkafka/src/rdkafka_offset.c:313,1
    - Dst: ftruncate
      Src: /src/librdkafka/src/rdkafka_offset.c:316,1
    - Dst: fileno
      Src: /src/librdkafka/src/rdkafka_offset.c:316,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:319,1
    - Dst: rd_kafka_offset_file_sync
      Src: /src/librdkafka/src/rdkafka_offset.c:331,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 339
    functionName: rd_kafka_offset_file_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - ftruncate
    - rd_kafka_op_err
    - _chsize_s
    - rd_snprintf
    - fseek
    - fileno
    - _fileno
    - fflush
    - rd_kafka_offset_file_close
    - rd_strerror
    - fwrite
    - rd_kafka_offset_file_sync
    - rd_kafka_offset_file_open
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_file_commit(rd_kafka_toppar_t *rktp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_offset.c:363,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_offset.c:366,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_offset.c:367,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_offset.c:372,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_offset.c:376,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_offset.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - rk
    - offsets
    - rktp
    - replyq
    - opaque
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_toppar_t*
    - rd_kafka_replyq_t
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 381
    functionName: rd_kafka_commit0
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_get
    - rd_kafka_q_enq
    - rd_kafka_op_new
    - rd_kafka_toppar_keep
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_commit0(rd_kafka_t *rk,\n                 const
      rd_kafka_topic_partition_list_t *offsets,\n                 rd_kafka_toppar_t
      *rktp,\n                 rd_kafka_replyq_t replyq,\n                 void (*cb)(rd_kafka_t
      *rk,\n                            rd_kafka_resp_err_t err,\n                            rd_kafka_topic_partition_list_t
      *offsets,\n                            void *opaque),\n                 void
      *opaque,\n                 const char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_offset.c:395,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_offset.c:399,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_offset.c:400,1
    - Dst: rd_kafka_commit0
      Src: /src/librdkafka/src/rdkafka_offset.c:403,1
    - Dst: rd_kafka_q_wait_result
      Src: /src/librdkafka/src/rdkafka_offset.c:406,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_offset.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - rk
    - offsets
    - async
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 412
    functionName: rd_kafka_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 24
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_cgrp_get
    - rd_kafka_commit0
    - rd_kafka_q_destroy_owner
    - rd_kafka_q_wait_result
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_commit(rd_kafka_t *rk,\n                const
      rd_kafka_topic_partition_list_t *offsets,\n                int async)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_offset.c:425,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_offset.c:426,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src/rdkafka_offset.c:427,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src/rdkafka_offset.c:430,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - async
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 435
    functionName: rd_kafka_commit_message
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_name
    - rd_kafka_commit
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_commit_message(rd_kafka_t *rk,\n                                            const
      rd_kafka_message_t *rkmessage,\n                                            int
      async)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_offset.c:451,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_offset.c:457,1
    - Dst: rd_kafka_commit0
      Src: /src/librdkafka/src/rdkafka_offset.c:459,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_offset.c:459,1
    - Dst: rd_kafka_q_pop_serve
      Src: /src/librdkafka/src/rdkafka_offset.c:463,1
    - Dst: cb
      Src: /src/librdkafka/src/rdkafka_offset.c:470,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:473,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:477,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_offset.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - rk
    - offsets
    - rkqu
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_queue_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 483
    functionName: rd_kafka_commit_queue
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_new
    - cb
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    - rd_kafka_q_destroy
    - rd_kafka_commit0
    - rd_kafka_q_destroy_owner
    - rd_kafka_q_pop_serve
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_commit_queue(rd_kafka_t *rk,\n                      const
      rd_kafka_topic_partition_list_t *offsets,\n                      rd_kafka_queue_t
      *rkqu,\n                      void (*cb)(rd_kafka_t *rk,\n                                 rd_kafka_resp_err_t
      err,\n                                 rd_kafka_topic_partition_list_t *offsets,\n
      \                                void *opaque),\n                      void
      *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:502,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_offset.c:510,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:511,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:517,1
    - Dst: rd_kafka_toppar_offset_commit_result
      Src: /src/librdkafka/src/rdkafka_offset.c:524,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:526,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:529,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:533,1
    - Dst: rd_kafka_offset_store_term
      Src: /src/librdkafka/src/rdkafka_offset.c:535,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:536,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 539
    functionName: rd_kafka_offset_broker_commit_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_offset_store_term
    - rd_kafka_err2str
    - rd_kafka_topic_partition_get_toppar
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_offset_commit_result
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_offset_broker_commit_cb(rd_kafka_t *rk,\n                                 rd_kafka_resp_err_t
      err,\n                                 rd_kafka_topic_partition_list_t *offsets,\n
      \                                void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_offset.c:550,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_offset.c:551,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_offset.c:556,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_offset.c:557,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka_offset.c:560,1
    - Dst: rd_kafka_topic_partition_set_metadata_from_rktp_stored
      Src: /src/librdkafka/src/rdkafka_offset.c:562,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:564,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:566,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:568,1
    - Dst: rd_kafka_commit0
      Src: /src/librdkafka/src/rdkafka_offset.c:570,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_offset.c:571,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - rktp
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 577
    functionName: rd_kafka_offset_broker_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_kafka_topic_partition_list_new
    - rd_kafka_commit0
    - rd_kafka_topic_partition_list_add
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_set_metadata_from_rktp_stored
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_assert
    - rd_kafka_fetch_pos2str
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_broker_commit(rd_kafka_toppar_t
      *rktp, const char *reason)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:589,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:592,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:593,1
    - Dst: rd_kafka_fetch_pos_cmp
      Src: /src/librdkafka/src/rdkafka_offset.c:596,1
    - Dst: rd_kafka_fetch_pos_cmp
      Src: /src/librdkafka/src/rdkafka_offset.c:601,1
    - Dst: rd_kafka_offset_file_commit
      Src: /src/librdkafka/src/rdkafka_offset.c:607,1
    - Dst: rd_kafka_offset_broker_commit
      Src: /src/librdkafka/src/rdkafka_offset.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rktp
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 587
    functionDepth: 3
    functionLinenumber: 587
    functionLinenumberEnd: 614
    functionName: rd_kafka_offset_commit
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_file_commit
    - rd_kafka_fetch_pos_cmp
    - rd_kafka_offset_broker_commit
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_offset_commit(rd_kafka_toppar_t *rktp,\n
      \                                                 const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_file_sync
      Src: /src/librdkafka/src/rdkafka_offset.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 630
    functionName: rd_kafka_offset_sync
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_file_sync
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_sync(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka_offset.c:644,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:648,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_offset.c:651,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_offset.c:652,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_offset.c:653,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_offset.c:656,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_offset.c:658,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - app_rkt
    - partition
    - offset
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 664
    functionName: rd_kafka_offset_store
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_rdunlock
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - RD_KAFKA_FETCH_POS
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_destroy
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_offset_store(rd_kafka_topic_t *app_rkt,\n
      \                                         int32_t partition,\n                                          int64_t
      offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:681,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_offset.c:684,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_offset.c:692,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_offset.c:694,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - rk
    - offsets
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 707
    functionName: rd_kafka_offsets_store
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_topic_partition_get_toppar
    - RD_KAFKA_FETCH_POS
    - rd_kafka_toppar_destroy
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_offsets_store(rd_kafka_t *rk,\n                       rd_kafka_topic_partition_list_t
      *offsets)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_offset.c:718,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_offset.c:722,1
    - Dst: rd_kafka_message2rko
      Src: /src/librdkafka/src/rdkafka_offset.c:722,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_offset.c:724,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:728,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_offset.c:730,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_offset.c:734,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_offset.c:736,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 740
    functionName: rd_kafka_offset_store_message
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message2rko
    - RD_KAFKA_FETCH_POS
    - rd_kafka_error_new
    - rd_kafka_err2str
    - unlikely
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_offset_store_message(rd_kafka_message_t
      *rkmessage)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_file_sync
      Src: /src/librdkafka/src/rdkafka_offset.c:753,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_offset.c:754,1
    - Dst: rd_kafka_offset_file_close
      Src: /src/librdkafka/src/rdkafka_offset.c:759,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_offset.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 748
    functionDepth: 2
    functionLinenumber: 748
    functionLinenumberEnd: 765
    functionName: rd_kafka_offset_file_term
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_file_close
    - rd_kafka_offset_file_sync
    - rd_free
    - rd_kafka_timer_stop
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_file_term(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:771,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_offset.c:772,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 777
    functionName: rd_kafka_offset_reset_op_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_offset_reset
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_offset_reset_op_cb(rd_kafka_t *rk,\n                                                     rd_kafka_q_t
      *rkq,\n                                                     rd_kafka_op_t *rko)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_offset.c:803,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:804,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_offset.c:805,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_offset.c:808,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_offset.c:810,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_offset.c:813,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_offset.c:816,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_offset.c:817,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_offset.c:829,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:833,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_offset.c:835,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:839,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:841,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_offset.c:853,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:858,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:867,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:873,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:874,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:874,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_offset.c:876,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:881,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:882,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:882,1
    - Dst: rd_kafka_toppar_offset_request
      Src: /src/librdkafka/src/rdkafka_offset.c:889,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - rktp
    - broker_id
    - err_pos
    - err
    - fmt
    argTypes:
    - rd_kafka_toppar_t*
    - int32_t
    - rd_kafka_fetch_pos_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 891
    functionName: rd_kafka_offset_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 1
    functionsReached:
    - rd_kafka_log
    - rd_kafka_consumer_err
    - rd_kafka_q_enq
    - rd_kafka_toppar_next_offset_handle
    - va_start
    - rd_kafka_toppar_offset_request
    - rd_kafka_err2str
    - rd_kafka_op_new
    - thrd_is_current
    - rd_kafka_toppar_set_fetch_state
    - rd_vsnprintf
    - rd_kafka_toppar_keep
    - va_end
    - rd_strdup
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_offset_reset(rd_kafka_toppar_t *rktp,\n                           int32_t
      broker_id,\n                           rd_kafka_fetch_pos_t err_pos,\n                           rd_kafka_resp_err_t
      err,\n                           const char *fmt,\n                           ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:902,1
    - Dst: rd_kafka_offset_validate
      Src: /src/librdkafka/src/rdkafka_offset.c:908,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:910,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:914,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 919
    functionName: rd_kafka_offset_validate_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_validate
    - rd_kafka_toppar_lock
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_offset_validate_tmr_cb(rd_kafka_timers_t *rkts,\n                                            void
      *arg)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:940,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:942,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:945,1
    - Dst: rd_kafka_handle_OffsetForLeaderEpoch
      Src: /src/librdkafka/src/rdkafka_offset.c:949,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:952,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_offset.c:957,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:967,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:970,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_offset.c:971,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:974,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:978,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:980,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_offset.c:990,1
    - Dst: rd_kafka_topic_leader_query0
      Src: /src/librdkafka/src/rdkafka_offset.c:1006,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_offset.c:1014,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_offset.c:1025,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_offset.c:1028,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_offset.c:1029,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1037,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_offset.c:1044,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_offset.c:1045,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:1046,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1054,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:1059,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_offset.c:1063,1
    - Dst: rd_kafka_toppar_op_seek
      Src: /src/librdkafka/src/rdkafka_offset.c:1066,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:1069,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:1070,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1076,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1081,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:1085,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:1090,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:1093,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:1094,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 929
    functionDepth: 4
    functionLinenumber: 929
    functionLinenumberEnd: 1095
    functionName: rd_kafka_toppar_handle_OffsetForLeaderEpoch
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_broker_id
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_topic_partition_get_leader_epoch
    - unlikely
    - rd_kafka_toppar_destroy
    - rd_kafka_toppar_op_seek
    - rd_kafka_err2str
    - rd_kafka_timer_start_oneshot
    - rd_kafka_handle_OffsetForLeaderEpoch
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_leader_query0
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - RD_KAFKA_FETCH_POS
    - rd_kafka_offset_reset
    - rd_rkb_dbg
    - rd_kafka_toppar_set_fetch_state
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_handle_OffsetForLeaderEpoch(rd_kafka_t *rk,\n
      \                                                       rd_kafka_broker_t *rkb,\n
      \                                                       rd_kafka_resp_err_t
      err,\n                                                        rd_kafka_buf_t
      *rkbuf,\n                                                        rd_kafka_buf_t
      *request,\n                                                        void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:1102,1
    - Dst: rd_kafka_offset_validate
      Src: /src/librdkafka/src/rdkafka_offset.c:1103,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1106
    functionName: rd_kafka_offset_validate_op_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_validate
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_offset_validate_op_cb(rd_kafka_t *rk,\n
      \                                                       rd_kafka_q_t *rkq,\n
      \                                                       rd_kafka_op_t *rko)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_offset.c:1127,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:1128,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_offset.c:1129,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_offset.c:1132,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_offset.c:1135,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_offset.c:1137,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_offset.c:1138,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_offset.c:1139,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1146,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1150,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1159,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1164,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1174,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1179,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1181,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:1182,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1188,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1193,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1195,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_offset.c:1199,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_offset.c:1204,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_offset.c:1205,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_offset.c:1207,1
    - Dst: rd_kafka_topic_partition_set_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_offset.c:1209,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_offset.c:1211,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1213,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1218,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1219,1
    - Dst: rd_kafka_OffsetForLeaderEpochRequest
      Src: /src/librdkafka/src/rdkafka_offset.c:1221,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_offset.c:1222,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_offset.c:1224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - rktp
    - fmt
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1118
    functionDepth: 1
    functionLinenumber: 1118
    functionLinenumberEnd: 1225
    functionName: rd_kafka_offset_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_OffsetForLeaderEpochRequest
    - va_start
    - rd_kafka_op_new
    - RD_KAFKA_REPLYQ
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_new
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - va_end
    - rd_strdup
    - rd_kafka_fetch_pos2str
    - rd_kafka_topic_partition_set_current_leader_epoch
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_toppar_set_fetch_state
    - rd_vsnprintf
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_toppar_keep
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_validate(rd_kafka_toppar_t *rktp, const char *fmt,
      ...)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_offset.c:1243,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_offset.c:1247,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_offset.c:1251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - in
    - out
    - out_size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1272
    functionName: mk_esc_filename
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: char
    signature: char *mk_esc_filename(const char *in, char *out, size_t out_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_sync
      Src: /src/librdkafka/src/rdkafka_offset.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1278
    functionName: rd_kafka_offset_sync_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_sync
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_sync_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_path_is_dir
      Src: /src/librdkafka/src/rdkafka_offset.c:1292,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_offset.c:1297,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:1298,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_offset.c:1302,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:1305,1
    - Dst: mk_esc_filename
      Src: /src/librdkafka/src/rdkafka_offset.c:1311,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_offset.c:1313,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_offset.c:1314,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1319,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_offset.c:1323,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_offset.c:1328,1
    - Dst: rd_kafka_offset_file_open
      Src: /src/librdkafka/src/rdkafka_offset.c:1335,1
    - Dst: rd_kafka_offset_file_read
      Src: /src/librdkafka/src/rdkafka_offset.c:1337,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_offset.c:1344,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_offset.c:1349,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:1351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1354
    functionName: rd_kafka_offset_file_init
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_file_read
    - rd_kafka_offset_file_open
    - rd_snprintf
    - mk_esc_filename
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_offset_reset
    - RD_KAFKAP_STR_PR
    - rd_kafka_path_is_dir
    - rd_kafka_timer_start
    - strlen
    - rd_strdup
    - RD_KAFKA_FETCH_POS
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_file_init(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1364
    functionName: rd_kafka_offset_broker_term
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_broker_term(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_simple_consumer
      Src: /src/librdkafka/src/rdkafka_offset.c:1374,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_offset.c:1376,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1380
    functionName: rd_kafka_offset_broker_init
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_is_simple_consumer
    - rd_kafka_offset_reset
    - RD_KAFKA_FETCH_POS
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_broker_init(rd_kafka_toppar_t *rktp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1393,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_offset.c:1399,1
    - Dst: rd_kafka_offset_file_term
      Src: /src/librdkafka/src/rdkafka_offset.c:1404,1
    - Dst: rd_kafka_offset_broker_term
      Src: /src/librdkafka/src/rdkafka_offset.c:1407,1
    - Dst: rd_kafka_toppar_fetch_stopped
      Src: /src/librdkafka/src/rdkafka_offset.c:1419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - rktp
    - err
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1389
    functionDepth: 3
    functionLinenumber: 1389
    functionLinenumberEnd: 1420
    functionName: rd_kafka_offset_store_term
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 1
    functionsReached:
    - rd_kafka_toppar_fetch_stopped
    - rd_kafka_offset_file_term
    - rd_kafka_offset_broker_term
    - rd_kafka_timer_stop
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_offset_store_term(rd_kafka_toppar_t *rktp,\n                                rd_kafka_resp_err_t
      err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1444,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1449,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1450,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_offset.c:1457,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_offset.c:1459,1
    - Dst: rd_kafka_is_simple_consumer
      Src: /src/librdkafka/src/rdkafka_offset.c:1465,1
    - Dst: rd_kafka_fetch_pos_cmp
      Src: /src/librdkafka/src/rdkafka_offset.c:1466,1
    - Dst: rd_kafka_offset_commit
      Src: /src/librdkafka/src/rdkafka_offset.c:1468,1
    - Dst: rd_kafka_offset_store_term
      Src: /src/librdkafka/src/rdkafka_offset.c:1476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1479
    functionName: rd_kafka_offset_store_stop
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_commit
    - rd_kafka_offset_store_term
    - rd_kafka_dbg
    - rd_kafka_fetch_pos_cmp
    - rd_kafka_is_simple_consumer
    - RD_KAFKA_FETCH_POS
    - rd_kafka_fetch_pos2str
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_offset_store_stop(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_commit
      Src: /src/librdkafka/src/rdkafka_offset.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1482
    functionDepth: 4
    functionLinenumber: 1482
    functionLinenumberEnd: 1486
    functionName: rd_kafka_offset_auto_commit_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_commit
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_offset_auto_commit_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                              void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:1490,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1491,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_offset.c:1495,1
    - Dst: rd_kafka_toppar_offset_request
      Src: /src/librdkafka/src/rdkafka_offset.c:1497,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1499
    functionName: rd_kafka_offset_query_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_offset_request
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_query_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_offset.c:1510,1
    - Dst: rd_kafka_is_simple_consumer
      Src: /src/librdkafka/src/rdkafka_offset.c:1519,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_offset.c:1521,1
    - Dst: rd_kafka_offset_file_init
      Src: /src/librdkafka/src/rdkafka_offset.c:1529,1
    - Dst: rd_kafka_offset_broker_init
      Src: /src/librdkafka/src/rdkafka_offset.c:1532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1507
    functionDepth: 3
    functionLinenumber: 1507
    functionLinenumberEnd: 1542
    functionName: rd_kafka_offset_store_init
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_broker_init
    - rd_kafka_offset_file_init
    - rd_kafka_timer_start
    - rd_kafka_is_simple_consumer
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_offset_store_init(rd_kafka_toppar_t *rktp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.c:1555,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_offset.c:1559,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.c:1564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - rktp
    - pos
    - do_lock
    argTypes:
    - rd_kafka_t*
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - rd_dolock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1549
    functionDepth: 1
    functionLinenumber: 1549
    functionLinenumberEnd: 1565
    functionName: rd_kafka_update_app_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_update_app_pos(rd_kafka_t *rk,\n                             rd_kafka_toppar_t
      *rktp,\n                             rd_kafka_fetch_pos_t pos,\n                             rd_dolock_t
      do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: LZ4F_DEPRECATE
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_DEPRECATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: LZ4F_DEPRECATE
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_DEPRECATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: LZ4F_DEPRECATE
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_DEPRECATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: LZ4F_DEPRECATE
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_DEPRECATE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: LZ4F_OBSOLETE_ENUM
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_OBSOLETE_ENUM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ITEM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 552
    functionName: LZ4F_LIST_ERRORS
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_LIST_ERRORS(ITEM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ENUM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: LZ4F_GENERATE_ENUM
    functionSourceFile: /src/librdkafka/src/lz4frame.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_GENERATE_ENUM(ENUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: RD_FORMAT
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_FORMAT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: _LRK_TYPECHECK
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK(RET, TYPE, ARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - ','
    - TYPE2
    - ','
    - ARG2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: _LRK_TYPECHECK2
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK2(RET, TYPE, ARG, TYPE2, ARG2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - ','
    - TYPE2
    - ','
    - ARG2
    - ','
    - TYPE3
    - ','
    - ARG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: _LRK_TYPECHECK3
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK3(RET, TYPE, ARG, TYPE2, ARG2, TYPE3, ARG3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: _LRK_TYPECHECK
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK(RET, TYPE, ARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - ','
    - TYPE2
    - ','
    - ARG2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: _LRK_TYPECHECK2
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK2(RET, TYPE, ARG, TYPE2, ARG2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RET
    - ','
    - TYPE
    - ','
    - ARG
    - ','
    - TYPE2
    - ','
    - ARG2
    - ','
    - TYPE3
    - ','
    - ARG3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: _LRK_TYPECHECK3
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _LRK_TYPECHECK3(RET, TYPE, ARG, TYPE2, ARG2, TYPE3, ARG3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - topic
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1212
    functionName: RD_KAFKA_V_TOPIC
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_TOPIC(topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: RD_KAFKA_V_RKT
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_RKT(rkt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - partition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: RD_KAFKA_V_PARTITION
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_PARTITION(partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - VALUE
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: RD_KAFKA_V_VALUE
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_VALUE(VALUE, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - KEY
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1244
    functionName: RD_KAFKA_V_KEY
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_KEY(KEY, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg_opaque
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1254
    functionName: RD_KAFKA_V_OPAQUE
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_OPAQUE(msg_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1262
    functionName: RD_KAFKA_V_MSGFLAGS
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_MSGFLAGS(msgflags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - timestamp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1271
    functionName: RD_KAFKA_V_TIMESTAMP
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_TIMESTAMP(timestamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - NAME
    - ','
    - VALUE
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1283
    functionName: RD_KAFKA_V_HEADER
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_HEADER(NAME, VALUE, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - HDRS
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1298
    functionName: RD_KAFKA_V_HEADERS
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_V_HEADERS(HDRS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - CNT
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3722
    functionName: RD_KAFKA_OFFSET_TAIL
    functionSourceFile: /src/librdkafka/src/rdkafka.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_OFFSET_TAIL(CNT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: RD_CMP
    functionSourceFile: /src/librdkafka/src/rdtypes.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_CMP(A, B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: rd_kafka_mock_broker_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_broker_t
    signature: "rd_kafka_mock_broker_t *\nrd_kafka_mock_broker_find(const rd_kafka_mock_cluster_t
      *mcluster,\n                          int32_t broker_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_mock.c:74,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:79,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:86,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:88,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:89,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mpart
    - mset
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_mock_msgset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: rd_kafka_mock_msgset_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_free
    - RD_KAFKAP_BYTES_LEN
    - TAILQ_FIRST
    - TAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_msgset_destroy(rd_kafka_mock_partition_t *mpart,\n
      \                                        rd_kafka_mock_msgset_t *mset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:103,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:108,1
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock.c:108,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:110,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:111,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:125,1
    - Dst: htobe64
      Src: /src/librdkafka/src/rdkafka_mock.c:130,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:131,1
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_mock.c:134,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:135,1
    - Dst: rd_kafka_mock_msgset_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:141,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:142,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:144,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:146,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - mpart
    - bytes
    - msgcnt
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafkap_bytes_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 159
    functionName: rd_kafka_mock_msgset_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - htobe32
    - RD_KAFKAP_BYTES_LEN
    - htobe64
    - TAILQ_FIRST
    - rd_kafka_dbg
    - rd_malloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_mock_msgset_destroy
    - memcpy
    - RD_KAFKAP_BYTES_IS_NULL
    linkageType: ''
    returnType: rd_kafka_mock_msgset_t
    signature: "rd_kafka_mock_msgset_t *\nrd_kafka_mock_msgset_new(rd_kafka_mock_partition_t
      *mpart,\n                         const rd_kafkap_bytes_t *bytes,\n                         size_t
      msgcnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - mpart
    - offset
    - on_follower
    argTypes:
    - rd_kafka_mock_partition_t*
    - int64_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 186
    functionName: rd_kafka_mock_msgset_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_msgset_t
    signature: "rd_kafka_mock_msgset_t *\nrd_kafka_mock_msgset_find(const rd_kafka_mock_partition_t
      *mpart,\n                          int64_t offset,\n                          rd_bool_t
      on_follower)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_mock.c:201,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock.c:205,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:206,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:208,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_mock.c:212,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - mpart
    - mpid
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_mock_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 217
    functionName: rd_kafka_mock_partition_pidstate_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_malloc
    - memset
    - rd_list_find
    - strlen
    - memcpy
    linkageType: ''
    returnType: rd_kafka_mock_pid_t
    signature: "rd_kafka_mock_pid_t *\nrd_kafka_mock_partition_pidstate_get(rd_kafka_mock_partition_t
      *mpart,\n                                     const rd_kafka_mock_pid_t *mpid)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:244,1
    - Dst: rd_kafka_buf_peek_i64
      Src: /src/librdkafka/src/rdkafka_mock.c:247,1
    - Dst: rd_kafka_buf_peek_i16
      Src: /src/librdkafka/src/rdkafka_mock.c:249,1
    - Dst: rd_kafka_buf_peek_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:251,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:254,1
    - Dst: rd_kafka_mock_pid_find
      Src: /src/librdkafka/src/rdkafka_mock.c:255,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:256,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_mock.c:258,1
    - Dst: rd_kafka_mock_partition_pidstate_get
      Src: /src/librdkafka/src/rdkafka_mock.c:264,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_mock.c:279,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:280,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock.c:286,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_mock.c:287,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_mock.c:288,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_mock.c:289,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_mock.c:294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - mpart
    - rkbuf
    - RecordCount
    - TransactionalId
    - is_dupd
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_buf_t*
    - size_t
    - rd_kafkap_str_t*
    - rd_bool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 305
    functionName: rd_kafka_mock_validate_records
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_kafka_pid2str
    - rd_kafka_err2name
    - mtx_lock
    - rd_kafka_mock_partition_pidstate_get
    - rd_kafka_buf_peek_i64
    - rd_kafka_dbg
    - unlikely
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_peek_i32
    - mtx_unlock
    - likely
    - rd_kafka_mock_pid_find
    - rd_kafka_buf_peek_i16
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_validate_records(rd_kafka_mock_partition_t
      *mpart,\n                               rd_kafka_buf_t *rkbuf,\n                               size_t
      RecordCount,\n                               const rd_kafkap_str_t *TransactionalId,\n
      \                              rd_bool_t *is_dupd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_mock.c:328,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:329,1
    - Dst: rd_kafka_buf_peek_i8
      Src: /src/librdkafka/src/rdkafka_mock.c:331,1
    - Dst: rd_kafka_buf_peek_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:339,1
    - Dst: rd_kafka_buf_peek_i16
      Src: /src/librdkafka/src/rdkafka_mock.c:341,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:346,1
    - Dst: rd_kafka_mock_validate_records
      Src: /src/librdkafka/src/rdkafka_mock.c:352,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:360,1
    - Dst: rd_kafka_mock_msgset_new
      Src: /src/librdkafka/src/rdkafka_mock.c:362,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - mpart
    - records
    - TransactionalId
    - BaseOffset
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafkap_bytes_t*
    - rd_kafkap_str_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 373
    functionName: rd_kafka_mock_partition_log_append
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_validate_records
    - rd_kafka_mock_msgset_new
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_destroy
    - rd_kafka_buf_peek_i8
    - rd_kafka_buf_new_shadow
    - rd_kafka_buf_peek_i32
    - rd_kafka_buf_peek_i16
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_log_append(rd_kafka_mock_partition_t
      *mpart,\n                                   const rd_kafkap_bytes_t *records,\n
      \                                  const rd_kafkap_str_t *TransactionalId,\n
      \                                  int64_t *BaseOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mpart
    - mrkb
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_mock_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: rd_kafka_mock_partition_set_leader0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_partition_set_leader0(rd_kafka_mock_partition_t
      *mpart,\n                                    rd_kafka_mock_broker_t *mrkb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_mock.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - mpart
    - leader_epoch
    argTypes:
    - rd_kafka_mock_partition_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 403
    functionName: rd_kafka_mock_partition_leader_epoch_check
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - likely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_leader_epoch_check(\n
      \   const rd_kafka_mock_partition_t *mpart,\n    int32_t leader_epoch)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_REVERSE
      Src: /src/librdkafka/src/rdkafka_mock.c:422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mpart
    - leader_epoch
    argTypes:
    - rd_kafka_mock_partition_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: rd_kafka_mock_partition_offset_for_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_REVERSE
    linkageType: ''
    returnType: int64_t
    signature: "int64_t rd_kafka_mock_partition_offset_for_leader_epoch(\n    const
      rd_kafka_mock_partition_t *mpart,\n    int32_t leader_epoch)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_mock.c:439,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:446,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:449,1
    - Dst: rd_kafka_mock_partition_set_leader0
      Src: /src/librdkafka/src/rdkafka_mock.c:453,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:462,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:471,1
    - Dst: rd_kafka_mock_partition_set_leader0
      Src: /src/librdkafka/src/rdkafka_mock.c:478,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_mock.c:479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - mpart
    - replication_factor
    argTypes:
    - rd_kafka_mock_partition_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 480
    functionName: rd_kafka_mock_partition_assign_replicas
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_MIN
    - rd_jitter
    - rd_calloc
    - rd_kafka_mock_partition_set_leader0
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_partition_assign_replicas(rd_kafka_mock_partition_t
      *mpart,\n                                        int replication_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:491,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mpart
    - leader_id
    - leader_epoch
    argTypes:
    - rd_kafka_mock_partition_t*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: rd_kafka_mock_partition_push_leader_response0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_partition_push_leader_response0(rd_kafka_mock_partition_t
      *mpart,\n                                              int32_t leader_id,\n
      \                                             int32_t leader_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mpart
    argTypes:
    - rd_kafka_mock_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: rd_kafka_mock_partition_next_leader_response
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FIRST
    linkageType: ''
    returnType: rd_kafka_mock_partition_leader_t
    signature: 'rd_kafka_mock_partition_leader_t *

      rd_kafka_mock_partition_next_leader_response(rd_kafka_mock_partition_t *mpart)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:512,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mpart
    - mpart_leader
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_mock_partition_leader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: rd_kafka_mock_partition_leader_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_partition_leader_destroy(\n    rd_kafka_mock_partition_t
      *mpart,\n    rd_kafka_mock_partition_leader_t *mpart_leader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:522,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:523,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mpart
    - coff
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafka_mock_committed_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: rd_kafka_mock_committed_offset_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - rd_kafkap_str_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_committed_offset_destroy(rd_kafka_mock_partition_t
      *mpart,\n                                       rd_kafka_mock_committed_offset_t
      *coff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:536,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mpart
    - group
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: rd_kafka_mock_committed_offset_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_mock_committed_offset_t
    signature: "rd_kafka_mock_committed_offset_t *\nrd_kafka_mock_committed_offset_find(const
      rd_kafka_mock_partition_t *mpart,\n                                    const
      rd_kafkap_str_t *group)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_committed_offset_find
      Src: /src/librdkafka/src/rdkafka_mock.c:555,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:556,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:558,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:561,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_mock.c:566,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:570,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_mock.c:572,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:576,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - mpart
    - group
    - offset
    - metadata
    argTypes:
    - rd_kafka_mock_partition_t*
    - rd_kafkap_str_t*
    - int64_t
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 583
    functionName: rd_kafka_mock_commit_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_kafkap_str_copy
    - rd_kafkap_str_destroy
    - TAILQ_INSERT_HEAD
    - rd_malloc
    - rd_kafka_mock_committed_offset_find
    - RD_KAFKAP_STR_PR
    - memcpy
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_mock_committed_offset_t
    signature: "rd_kafka_mock_committed_offset_t *\nrd_kafka_mock_commit_offset(rd_kafka_mock_partition_t
      *mpart,\n                            const rd_kafkap_str_t *group,\n                            int64_t
      offset,\n                            const rd_kafkap_str_t *metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock.c:593,1
    - Dst: rd_kafka_mock_msgset_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:594,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock.c:596,1
    - Dst: rd_kafka_mock_committed_offset_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:597,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock.c:599,1
    - Dst: rd_kafka_mock_partition_leader_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:601,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:603,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mpart
    argTypes:
    - rd_kafka_mock_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 588
    functionDepth: 3
    functionLinenumber: 588
    functionLinenumberEnd: 606
    functionName: rd_kafka_mock_partition_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_free
    - TAILQ_FOREACH_SAFE
    - rd_list_destroy
    - rd_kafka_mock_committed_offset_destroy
    - rd_kafka_mock_msgset_destroy
    - rd_kafka_mock_partition_leader_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_partition_destroy(rd_kafka_mock_partition_t *mpart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:620,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:628,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:629,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_mock.c:631,1
    - Dst: rd_kafka_mock_partition_assign_replicas
      Src: /src/librdkafka/src/rdkafka_mock.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - mtopic
    - mpart
    - id
    - replication_factor
    argTypes:
    - rd_kafka_mock_topic_t*
    - rd_kafka_mock_partition_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 634
    functionName: rd_kafka_mock_partition_init
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_list_init
    - rd_kafka_mock_partition_assign_replicas
    - TAILQ_INIT
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_partition_init(rd_kafka_mock_topic_t *mtopic,\n
      \                                        rd_kafka_mock_partition_t *mpart,\n
      \                                        int id,\n                                         int
      replication_factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - mtopic
    - partition
    argTypes:
    - rd_kafka_mock_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: rd_kafka_mock_partition_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_mock_partition_t
    signature: "rd_kafka_mock_partition_t *\nrd_kafka_mock_partition_find(const rd_kafka_mock_topic_t
      *mtopic,\n                             int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_partition_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:650,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:652,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:655,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:656,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mtopic
    argTypes:
    - rd_kafka_mock_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 646
    functionDepth: 4
    functionLinenumber: 646
    functionLinenumberEnd: 658
    functionName: rd_kafka_mock_topic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - rd_kafka_mock_partition_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_topic_destroy(rd_kafka_mock_topic_t *mtopic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:669,1
    - Dst: rd_kafka_Uuid_random
      Src: /src/librdkafka/src/rdkafka_mock.c:671,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:672,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:677,1
    - Dst: rd_kafka_mock_partition_init
      Src: /src/librdkafka/src/rdkafka_mock.c:680,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:683,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - mcluster
    - topic
    - partition_cnt
    - replication_factor
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 661
    functionDepth: 4
    functionLinenumber: 661
    functionLinenumberEnd: 692
    functionName: rd_kafka_mock_topic_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_random
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_strdup
    - rd_kafka_mock_partition_init
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_new(rd_kafka_mock_cluster_t
      *mcluster,\n                        const char *topic,\n                        int
      partition_cnt,\n                        int replication_factor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:700,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_mock.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - name
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 706
    functionName: rd_kafka_mock_topic_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - strcmp
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_find(const rd_kafka_mock_cluster_t
      *mcluster,\n                         const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:714,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_mock.c:715,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:716,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - kname
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 722
    functionName: rd_kafka_mock_topic_find_by_kstr
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - TAILQ_FOREACH
    - strncmp
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_find_by_kstr(const rd_kafka_mock_cluster_t
      *mcluster,\n                                 const rd_kafkap_str_t *kname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:738,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 744
    functionName: rd_kafka_mock_topic_find_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_find_by_id(const rd_kafka_mock_cluster_t
      *mcluster,\n                               rd_kafka_Uuid_t id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:759,1
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock.c:759,1
    - Dst: rd_kafka_mock_topic_new
      Src: /src/librdkafka/src/rdkafka_mock.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - mcluster
    - topic
    - partition_cnt
    - errp
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    - rd_kafka_resp_err_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 754
    functionDepth: 5
    functionLinenumber: 754
    functionLinenumberEnd: 766
    functionName: rd_kafka_mock_topic_auto_create
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_topic_find
    - rd_assert
    - rd_kafka_mock_topic_new
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_auto_create(rd_kafka_mock_cluster_t
      *mcluster,\n                                const char *topic,\n                                int
      partition_cnt,\n                                rd_kafka_resp_err_t *errp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock.c:783,1
    - Dst: rd_kafka_mock_topic_auto_create
      Src: /src/librdkafka/src/rdkafka_mock.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mcluster
    - topic
    - partition_cnt
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 776
    functionDepth: 6
    functionLinenumber: 776
    functionLinenumberEnd: 788
    functionName: rd_kafka_mock_topic_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_topic_find
    - rd_kafka_mock_topic_auto_create
    linkageType: ''
    returnType: rd_kafka_mock_topic_t
    signature: "rd_kafka_mock_topic_t *\nrd_kafka_mock_topic_get(rd_kafka_mock_cluster_t
      *mcluster,\n                        const char *topic,\n                        int
      partition_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock.c:802,1
    - Dst: rd_kafka_mock_topic_auto_create
      Src: /src/librdkafka/src/rdkafka_mock.c:803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mcluster
    - topic
    - partition
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 795
    functionDepth: 6
    functionLinenumber: 795
    functionLinenumberEnd: 810
    functionName: rd_kafka_mock_partition_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_topic_find
    - rd_kafka_mock_topic_auto_create
    linkageType: ''
    returnType: rd_kafka_mock_partition_t
    signature: "rd_kafka_mock_partition_t *\nrd_kafka_mock_partition_get(rd_kafka_mock_cluster_t
      *mcluster,\n                            const char *topic,\n                            int32_t
      partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mcluster
    - fd
    - events
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 830
    functionName: rd_kafka_mock_cluster_io_set_events
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_io_set_events(rd_kafka_mock_cluster_t *mcluster,\n
      \                                   rd_socket_t fd,\n                                    int
      events)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mcluster
    - fd
    - set
    - event
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - rd_bool_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 853
    functionName: rd_kafka_mock_cluster_io_set_event
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_io_set_event(rd_kafka_mock_cluster_t *mcluster,\n
      \                                  rd_socket_t fd,\n                                   rd_bool_t
      set,\n                                   int event)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mcluster
    - fd
    - events
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 873
    functionName: rd_kafka_mock_cluster_io_clear_events
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_io_clear_events(rd_kafka_mock_cluster_t
      *mcluster,\n                                      rd_socket_t fd,\n                                      int
      events)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_mock.c:883,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_mock.c:887,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mcluster
    - fd
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 899
    functionName: rd_kafka_mock_cluster_io_del
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - memmove
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_io_del(rd_kafka_mock_cluster_t *mcluster,\n
      \                                        rd_socket_t fd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_mock.c:914,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_mock.c:917,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_mock.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - mcluster
    - fd
    - events
    - handler
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    - rd_kafka_mock_io_handler_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 929
    functionName: rd_kafka_mock_cluster_io_add
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_realloc
    - memset
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_io_add(rd_kafka_mock_cluster_t *mcluster,\n
      \                                        rd_socket_t fd,\n                                         int
      events,\n                                         rd_kafka_mock_io_handler_t
      handler,\n                                         void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:938,1
    - Dst: rd_kafka_mock_partition_assign_replicas
      Src: /src/librdkafka/src/rdkafka_mock.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 947
    functionName: rd_kafka_mock_cluster_reassign_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_assign_replicas
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cluster_reassign_partitions(rd_kafka_mock_cluster_t
      *mcluster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:953,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:956,1
    - Dst: rd_kafka_mock_cgrps_connection_closed
      Src: /src/librdkafka/src/rdkafka_mock.c:959,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_mock.c:961,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:964,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_mock.c:965,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:966,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:970,1
    - Dst: rd_kafka_mock_cluster_io_del
      Src: /src/librdkafka/src/rdkafka_mock.c:972,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:974,1
    - Dst: rd_kafka_transport_close
      Src: /src/librdkafka/src/rdkafka_mock.c:975,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - mconn
    - reason
    argTypes:
    - rd_kafka_mock_connection_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 949
    functionDepth: 4
    functionLinenumber: 949
    functionLinenumberEnd: 977
    functionName: rd_kafka_mock_connection_close
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrps_connection_closed
    - TAILQ_REMOVE
    - rd_free
    - rd_kafka_mock_cluster_io_del
    - rd_kafka_buf_destroy
    - rd_sockaddr2str
    - rd_kafka_transport_close
    - TAILQ_FIRST
    - rd_kafka_bufq_deq
    - rd_kafka_timer_stop
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_connection_close(rd_kafka_mock_connection_t *mconn,\n
      \                                          const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock.c:985,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock.c:989,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_mock.c:992,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:994,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:996,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_mock.c:999,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1001,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_mock.c:1004,1
    - Dst: rd_kafka_bufq_enq
      Src: /src/librdkafka/src/rdkafka_mock.c:1006,1
    - Dst: rd_kafka_mock_cluster_io_set_events
      Src: /src/librdkafka/src/rdkafka_mock.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mconn
    - resp
    - tags_written
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 1010
    functionName: rd_kafka_mock_connection_send_response0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_slice_init_full
    - rd_sockaddr2str
    - rd_kafka_ApiKey2str
    - rd_kafka_bufq_enq
    - rd_kafka_buf_update_i32
    - rd_kafka_mock_cluster_io_set_events
    - rd_clock
    - rd_buf_write_pos
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_connection_send_response0(rd_kafka_mock_connection_t
      *mconn,\n                                             rd_kafka_buf_t *resp,\n
      \                                            rd_bool_t tags_written)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1034,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_mock.c:1038,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdkafka_mock.c:1041,1
    - Dst: rd_kafka_transport_recv
      Src: /src/librdkafka/src/rdkafka_mock.c:1047,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:1050,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1056,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_mock.c:1063,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_mock.c:1068,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:1071,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock.c:1072,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock.c:1073,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_mock.c:1077,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1080,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_mock.c:1082,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:1094,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_mock.c:1101,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1104,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_mock.c:1106,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdkafka_mock.c:1120,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_mock.c:1123,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_mock.c:1130,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_mock.c:1132,1
    - Dst: rd_kafka_buf_skip_str_no_flexver
      Src: /src/librdkafka/src/rdkafka_mock.c:1136,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock.c:1139,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - mconn
    - rkbufp
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1019
    functionDepth: 4
    functionLinenumber: 1019
    functionLinenumberEnd: 1152
    functionName: rd_kafka_mock_connection_read_request
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_buf_skip_str_no_flexver
    - rd_buf_len
    - rd_kafka_buf_parse_fail
    - rd_kafka_transport_recv
    - rd_sockaddr2str
    - RD_NOTREACHED
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_read_i16
    - rd_slice_init
    - rd_buf_write_ensure
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_new
    - rd_buf_write_pos
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_connection_read_request(rd_kafka_mock_connection_t
      *mconn,\n                                      rd_kafka_buf_t **rkbufp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1155,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:1161,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock.c:1164,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock.c:1171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1175
    functionName: rd_kafka_mock_buf_new_response
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_new
    - rd_kafka_buf_write_i32
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: rd_kafka_buf_t *rd_kafka_mock_buf_new_response(const rd_kafka_buf_t
      *request)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1193,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1199,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1201,1
    - Dst: rd_kafka_mock_cluster_ApiVersion_check
      Src: /src/librdkafka/src/rdkafka_mock.c:1208,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1211,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1217,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1219,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:1223,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock.c:1225,1
    - Dst: rd_kafka_mock_request_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1226,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock.c:1228,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:1230,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:1232,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1235,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1237,1
    - Dst: cb
      Src: /src/librdkafka/src/rdkafka_mock.c:1239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1184
    functionDepth: 3
    functionLinenumber: 1184
    functionLinenumberEnd: 1241
    functionName: rd_kafka_mock_connection_parse_request
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - cb
    - rd_list_add
    - mtx_lock
    - rd_sockaddr2str
    - rd_kafka_mock_cluster_ApiVersion_check
    - rd_kafka_mock_request_new
    - mtx_unlock
    - rd_clock
    - rd_kafka_ApiKey2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_connection_parse_request(rd_kafka_mock_connection_t
      *mconn,\n                                       rd_kafka_buf_t *rkbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cluster_io_set_events
      Src: /src/librdkafka/src/rdkafka_mock.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1254
    functionName: rd_kafka_mock_connection_write_out_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cluster_io_set_events
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_connection_write_out_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                     void *arg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock.c:1266,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:1269,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_mock.c:1284,1
    - Dst: rd_kafka_transport_send
      Src: /src/librdkafka/src/rdkafka_mock.c:1291,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_mock.c:1296,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_mock.c:1300,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1302,1
    - Dst: rd_kafka_mock_cluster_io_clear_events
      Src: /src/librdkafka/src/rdkafka_mock.c:1305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - mconn
    argTypes:
    - rd_kafka_mock_connection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1263
    functionDepth: 4
    functionLinenumber: 1263
    functionLinenumberEnd: 1309
    functionName: rd_kafka_mock_connection_write_out
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_send
    - rd_slice_remains
    - rd_kafka_buf_destroy
    - TAILQ_FIRST
    - rd_kafka_mock_cluster_io_clear_events
    - rd_kafka_bufq_deq
    - rd_kafka_timer_start_oneshot
    - rd_clock
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rd_kafka_mock_connection_write_out(rd_kafka_mock_connection_t
      *mconn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock.c:1322,1
    - Dst: rd_kafka_mock_connection_write_out
      Src: /src/librdkafka/src/rdkafka_mock.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mrkb
    argTypes:
    - rd_kafka_mock_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1317
    functionDepth: 5
    functionLinenumber: 1317
    functionLinenumberEnd: 1325
    functionName: rd_kafka_mock_broker_connections_write_out
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_kafka_mock_connection_write_out
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_broker_connections_write_out(rd_kafka_mock_broker_t
      *mrkb)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_connection_read_request
      Src: /src/librdkafka/src/rdkafka_mock.c:1343,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1348,1
    - Dst: rd_kafka_mock_connection_parse_request
      Src: /src/librdkafka/src/rdkafka_mock.c:1354,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1356,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1358,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1366,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1372,1
    - Dst: rd_kafka_mock_connection_write_out
      Src: /src/librdkafka/src/rdkafka_mock.c:1377,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1378,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - mcluster
    - fd
    - events
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1331
    functionDepth: 5
    functionLinenumber: 1331
    functionLinenumberEnd: 1382
    functionName: rd_kafka_mock_connection_io
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_destroy
    - rd_kafka_mock_connection_close
    - rd_kafka_mock_connection_read_request
    - rd_kafka_mock_connection_write_out
    - rd_kafka_mock_connection_parse_request
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_connection_io(rd_kafka_mock_cluster_t *mcluster,\n
      \                                       rd_socket_t fd,\n                                        int
      events,\n                                        void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cluster_io_set_event
      Src: /src/librdkafka/src/rdkafka_mock.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mconn
    - blocking
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1393
    functionName: rd_kafka_mock_connection_set_blocking
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 3
    functionsReached:
    - rd_kafka_mock_cluster_io_set_event
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_connection_set_blocking(rd_kafka_mock_connection_t
      *mconn,\n                                           rd_bool_t blocking)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1405,1
    - Dst: rd_kafka_transport_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1409,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1412,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1416,1
    - Dst: rd_kafka_transport_post_connect_setup
      Src: /src/librdkafka/src/rdkafka_mock.c:1420,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:1422,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_mock.c:1426,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:1428,1
    - Dst: rd_kafka_mock_cluster_io_add
      Src: /src/librdkafka/src/rdkafka_mock.c:1430,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:1434,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - mrkb
    - fd
    - peer
    argTypes:
    - rd_kafka_mock_broker_t*
    - rd_socket_t
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1439
    functionName: rd_kafka_mock_connection_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_bufq_init
    - rd_socket_close
    - rd_kafka_transport_new
    - rd_sockaddr2str
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_mock_cluster_io_add
    - rd_kafka_transport_post_connect_setup
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_mock_connection_t
    signature: "rd_kafka_mock_connection_t *\nrd_kafka_mock_connection_new(rd_kafka_mock_broker_t
      *mrkb,\n                             rd_socket_t fd,\n                             const
      struct sockaddr_in *peer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_socket_read
      Src: /src/librdkafka/src/rdkafka_mock.c:1449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - mcluster
    - fd
    - events
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1451
    functionName: rd_kafka_mock_cluster_op_io
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_socket_read
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_cluster_op_io(rd_kafka_mock_cluster_t *mcluster,\n
      \                                       rd_socket_t fd,\n                                        int
      events,\n                                        void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_socket_poll
      Src: /src/librdkafka/src/rdkafka_mock.c:1459,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1461,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1464,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka_mock.c:1469,1
    - Dst: cb
      Src: /src/librdkafka/src/rdkafka_mock.c:1478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - mcluster
    - timeout_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1454
    functionDepth: 1
    functionLinenumber: 1454
    functionLinenumberEnd: 1485
    functionName: rd_kafka_mock_cluster_io_poll
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - cb
    - rd_socket_strerror
    - rd_kafka_q_serve
    - rd_socket_poll
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_cluster_io_poll(rd_kafka_mock_cluster_t *mcluster,\n
      \                                        int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_thread_name
      Src: /src/librdkafka/src/rdkafka_mock.c:1491,1
    - Dst: rd_kafka_set_thread_sysname
      Src: /src/librdkafka/src/rdkafka_mock.c:1492,1
    - Dst: rd_kafka_interceptors_on_thread_start
      Src: /src/librdkafka/src/rdkafka_mock.c:1493,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_mock.c:1495,1
    - Dst: rd_kafka_mock_cluster_io_add
      Src: /src/librdkafka/src/rdkafka_mock.c:1498,1
    - Dst: rd_kafka_timers_next
      Src: /src/librdkafka/src/rdkafka_mock.c:1504,1
    - Dst: rd_kafka_mock_cluster_io_poll
      Src: /src/librdkafka/src/rdkafka_mock.c:1510,1
    - Dst: rd_kafka_timers_run
      Src: /src/librdkafka/src/rdkafka_mock.c:1513,1
    - Dst: rd_kafka_mock_cluster_io_del
      Src: /src/librdkafka/src/rdkafka_mock.c:1516,1
    - Dst: rd_kafka_interceptors_on_thread_exit
      Src: /src/librdkafka/src/rdkafka_mock.c:1519,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_mock.c:1521,1
    - Dst: rd_kafka_mock_cluster_destroy0
      Src: /src/librdkafka/src/rdkafka_mock.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1488
    functionDepth: 4
    functionLinenumber: 1488
    functionLinenumberEnd: 1526
    functionName: rd_kafka_mock_cluster_thread_main
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_set_thread_sysname
    - rd_kafka_mock_cluster_io_del
    - rd_kafka_interceptors_on_thread_exit
    - rd_kafka_timers_run
    - rd_kafka_interceptors_on_thread_start
    - rd_kafka_mock_cluster_io_poll
    - rd_kafka_mock_cluster_io_add
    - rd_kafka_mock_cluster_destroy0
    - rd_atomic32_add
    - rd_kafka_set_thread_name
    - rd_kafka_timers_next
    - rd_atomic32_sub
    linkageType: ''
    returnType: int
    signature: int rd_kafka_mock_cluster_thread_main(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:1537,1
    - Dst: accept
      Src: /src/librdkafka/src/rdkafka_mock.c:1544,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1547,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1549,1
    - Dst: rd_kafka_mock_connection_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mcluster
    - fd
    - events
    - opaque
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_socket_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1530
    functionDepth: 3
    functionLinenumber: 1530
    functionLinenumberEnd: 1555
    functionName: rd_kafka_mock_broker_listen_io
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - rd_socket_strerror
    - rd_kafka_mock_connection_new
    - accept
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_broker_listen_io(rd_kafka_mock_cluster_t *mcluster,\n
      \                                          rd_socket_t fd,\n                                           int
      events,\n                                           void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:1565,1
    - Dst: rd_kafka_mock_connection_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mrkb
    - reason
    argTypes:
    - rd_kafka_mock_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1561
    functionDepth: 5
    functionLinenumber: 1561
    functionLinenumberEnd: 1567
    functionName: rd_kafka_mock_broker_close_all
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_connection_close
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_broker_close_all(rd_kafka_mock_broker_t *mrkb,\n
      \                                          const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1575,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - errstack
    argTypes:
    - rd_kafka_mock_error_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1577
    functionName: rd_kafka_mock_error_stack_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_error_stack_destroy(rd_kafka_mock_error_stack_t
      *errstack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_broker_close_all
      Src: /src/librdkafka/src/rdkafka_mock.c:1583,1
    - Dst: rd_kafka_mock_cluster_io_del
      Src: /src/librdkafka/src/rdkafka_mock.c:1587,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1589,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:1592,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:1593,1
    - Dst: rd_kafka_mock_error_stack_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1594,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1598,1
    - Dst: rd_kafka_mock_coord_remove
      Src: /src/librdkafka/src/rdkafka_mock.c:1600,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:1602,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - mrkb
    argTypes:
    - rd_kafka_mock_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1580
    functionDepth: 6
    functionLinenumber: 1580
    functionLinenumberEnd: 1606
    functionName: rd_kafka_mock_broker_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    - rd_socket_close
    - rd_kafka_mock_cluster_io_del
    - rd_kafka_mock_error_stack_destroy
    - rd_kafka_mock_coord_remove
    - TAILQ_FIRST
    - rd_kafka_mock_broker_close_all
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_broker_destroy(rd_kafka_mock_broker_t *mrkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1612,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1617,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:1618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1619
    functionName: rd_kafka_mock_broker_decommission
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_decommission(rd_kafka_mock_cluster_t
      *mcluster,\n                                  int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:1623,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1628,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1621
    functionDepth: 1
    functionLinenumber: 1621
    functionLinenumberEnd: 1630
    functionName: rd_kafka_mock_broker_add
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_add(rd_kafka_mock_cluster_t
      *mcluster,\n                                             int32_t broker_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:1639,1
    - Dst: listen
      Src: /src/librdkafka/src/rdkafka_mock.c:1641,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1642,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1644,1
    - Dst: rd_kafka_mock_cluster_io_add
      Src: /src/librdkafka/src/rdkafka_mock.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mrkb
    argTypes:
    - rd_kafka_mock_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1638
    functionDepth: 2
    functionLinenumber: 1638
    functionLinenumberEnd: 1652
    functionName: rd_kafka_mock_broker_start_listener
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - rd_socket_strerror
    - rd_kafka_mock_cluster_io_add
    - listen
    linkageType: ''
    returnType: int
    signature: int rd_kafka_mock_broker_start_listener(rd_kafka_mock_broker_t *mrkb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_socket_cb_linux
      Src: /src/librdkafka/src/rdkafka_mock.c:1679,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1681,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1683,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdkafka_mock.c:1687,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1689,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1692,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1693,1
    - Dst: bind
      Src: /src/librdkafka/src/rdkafka_mock.c:1697,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1699,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1701,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1702,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1703,1
    - Dst: getsockname
      Src: /src/librdkafka/src/rdkafka_mock.c:1707,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:1709,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:1711,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:1712,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:1715,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:1717,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_mock.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - mcluster
    - sinp
    argTypes:
    - rd_kafka_mock_cluster_t*
    - struct sockaddr_in*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1722
    functionName: rd_kafka_mock_broker_new_listener
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - bind
    - rd_socket_close
    - rd_socket_strerror
    - rd_sockaddr2str
    - setsockopt
    - memcmp
    - rd_kafka_socket_cb_linux
    - getsockname
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_broker_new_listener(rd_kafka_mock_cluster_t *mcluster,\n
      \                                            struct sockaddr_in *sinp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/librdkafka/src/rdkafka_mock.c:1733,1
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1735,1
    - Dst: rd_kafka_mock_broker_new_listener
      Src: /src/librdkafka/src/rdkafka_mock.c:1742,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:1752,1
    - Dst: ntohs
      Src: /src/librdkafka/src/rdkafka_mock.c:1759,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_mock.c:1760,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:1762,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:1764,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:1765,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:1767,1
    - Dst: rd_kafka_mock_broker_start_listener
      Src: /src/librdkafka/src/rdkafka_mock.c:1770,1
    - Dst: rd_kafka_mock_broker_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1771,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - mcluster
    - broker_id
    - err
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - rd_kafka_resp_err_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1725
    functionDepth: 7
    functionLinenumber: 1725
    functionLinenumberEnd: 1778
    functionName: rd_kafka_mock_broker_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_broker_start_listener
    - rd_snprintf
    - rd_sockaddr2str
    - rd_calloc
    - ntohs
    - rd_kafka_mock_broker_find
    - rd_kafka_mock_broker_destroy
    - TAILQ_INSERT_TAIL
    - htonl
    - TAILQ_INIT
    - rd_kafka_mock_broker_new_listener
    linkageType: ''
    returnType: rd_kafka_mock_broker_t
    signature: "rd_kafka_mock_broker_t *\nrd_kafka_mock_broker_new(rd_kafka_mock_cluster_t
      *mcluster,\n                         int32_t broker_id,\n                         rd_kafka_resp_err_t
      *err)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_mock.c:1785,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_mock.c:1787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1791
    functionName: rd_kafka_mock_coord_str2type
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: rd_kafka_coordtype_t
    signature: rd_kafka_coordtype_t rd_kafka_mock_coord_str2type(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:1799,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1800,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - mcoord
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_mock_coord_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1797
    functionDepth: 1
    functionLinenumber: 1797
    functionLinenumberEnd: 1802
    functionName: rd_kafka_mock_coord_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_coord_destroy(rd_kafka_mock_cluster_t *mcluster,\n
      \                                       rd_kafka_mock_coord_t *mcoord)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:1813,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_mock.c:1814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mcluster
    - type
    - key
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_coordtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1819
    functionName: rd_kafka_mock_coord_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - strcmp
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_coord_t
    signature: "rd_kafka_mock_coord_t *\nrd_kafka_mock_coord_find(rd_kafka_mock_cluster_t
      *mcluster,\n                         rd_kafka_coordtype_t type,\n                         const
      char *key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_mock.c:1836,1
    - Dst: rd_kafka_mock_coord_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1837,1
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1838,1
    - Dst: rd_crc32
      Src: /src/librdkafka/src/rdkafka_mock.c:1841,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock.c:1841,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:1845,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_mock.c:1849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mcluster
    - KeyType
    - Key
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_coordtype_t
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1851
    functionName: rd_kafka_mock_cluster_get_coord
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_mock_coord_find
    - RD_NOTREACHED
    - rd_kafka_mock_broker_find
    - rd_crc32
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_broker_t
    signature: "rd_kafka_mock_broker_t *\nrd_kafka_mock_cluster_get_coord(rd_kafka_mock_cluster_t
      *mcluster,\n                                rd_kafka_coordtype_t KeyType,\n
      \                               const rd_kafkap_str_t *Key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_coord_str2type
      Src: /src/librdkafka/src/rdkafka_mock.c:1866,1
    - Dst: rd_kafka_mock_coord_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1869,1
    - Dst: rd_kafka_mock_coord_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1870,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:1872,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:1874,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:1877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - mcluster
    - key_type
    - key
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1858
    functionDepth: 2
    functionLinenumber: 1858
    functionLinenumberEnd: 1880
    functionName: rd_kafka_mock_coord_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_coord_destroy
    - rd_kafka_mock_coord_str2type
    - rd_kafka_mock_coord_find
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_mock_coord_t
    signature: "rd_kafka_mock_coord_t *\nrd_kafka_mock_coord_set(rd_kafka_mock_cluster_t
      *mcluster,\n                        const char *key_type,\n                        const
      char *key,\n                        int32_t broker_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_mock.c:1889,1
    - Dst: rd_kafka_mock_coord_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:1891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1894
    functionName: rd_kafka_mock_coord_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_kafka_mock_coord_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_coord_remove(rd_kafka_mock_cluster_t *mcluster,\n
      \                               int32_t broker_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_mock.c:1905,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_mock.c:1911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - errstack
    argTypes:
    - rd_kafka_mock_error_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1915
    functionName: rd_kafka_mock_error_stack_next
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - likely
    - memmove
    linkageType: ''
    returnType: rd_kafka_mock_error_rtt_t
    signature: rd_kafka_mock_error_rtt_t rd_kafka_mock_error_stack_next(rd_kafka_mock_error_stack_t
      *errstack)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:1926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - shead
    - ApiKey
    argTypes:
    - rd_kafka_mock_error_stack_head_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1931
    functionName: rd_kafka_mock_error_stack_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_mock_error_stack_t
    signature: "rd_kafka_mock_error_stack_t *\nrd_kafka_mock_error_stack_find(const
      rd_kafka_mock_error_stack_head_t *shead,\n                               int16_t
      ApiKey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_error_stack_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1943,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:1946,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_mock.c:1949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - shead
    - ApiKey
    argTypes:
    - rd_kafka_mock_error_stack_head_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1938
    functionDepth: 1
    functionLinenumber: 1938
    functionLinenumberEnd: 1952
    functionName: rd_kafka_mock_error_stack_get
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_error_stack_find
    - TAILQ_INSERT_TAIL
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_mock_error_stack_t
    signature: "rd_kafka_mock_error_stack_t *\nrd_kafka_mock_error_stack_get(rd_kafka_mock_error_stack_head_t
      *shead,\n                              int16_t ApiKey)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:1969,1
    - Dst: rd_kafka_mock_error_stack_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1971,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_mock.c:1973,1
    - Dst: rd_kafka_mock_error_stack_find
      Src: /src/librdkafka/src/rdkafka_mock.c:1974,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_mock.c:1976,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:1977,1
    - Dst: rd_kafka_mock_error_stack_next
      Src: /src/librdkafka/src/rdkafka_mock.c:1982,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:1985,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:1997,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_mock.c:2003,1
    - Dst: rd_kafka_transport_shutdown
      Src: /src/librdkafka/src/rdkafka_mock.c:2004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mconn
    - resp
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 2009
    functionName: rd_kafka_mock_next_request_error
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - rd_sockaddr2str
    - rd_kafka_transport_shutdown
    - rd_kafka_mock_error_stack_next
    - rd_kafka_mock_error_stack_find
    - mtx_unlock
    - likely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_next_request_error(rd_kafka_mock_connection_t
      *mconn,\n                                 rd_kafka_buf_t *resp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2016,1
    - Dst: rd_kafka_mock_error_stack_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2018,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mcluster
    - ApiKey
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2023
      start: 2012
    functionDepth: 1
    functionLinenumber: 2012
    functionLinenumberEnd: 2023
    functionName: rd_kafka_mock_clear_request_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 4
    functionsReached:
    - mtx_unlock
    - rd_kafka_mock_error_stack_find
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_clear_request_errors(rd_kafka_mock_cluster_t *mcluster,\n
      \                                       int16_t ApiKey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2035,1
    - Dst: rd_kafka_mock_error_stack_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2037,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2043,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - mcluster
    - ApiKey
    - cnt
    - errors
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int16_t
    - size_t
    - rd_kafka_resp_err_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2026
    functionDepth: 2
    functionLinenumber: 2026
    functionLinenumberEnd: 2053
    functionName: rd_kafka_mock_push_request_errors_array
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - rd_kafka_mock_error_stack_get
    - rd_realloc
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_push_request_errors_array(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    int16_t ApiKey,\n    size_t cnt,\n    const rd_kafka_resp_err_t
      *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_mock.c:2060,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_mock.c:2063,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_mock.c:2065,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_mock.c:2066,1
    - Dst: rd_kafka_mock_push_request_errors_array
      Src: /src/librdkafka/src/rdkafka_mock.c:2068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mcluster
    - ApiKey
    - cnt
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2055
    functionDepth: 3
    functionLinenumber: 2055
    functionLinenumberEnd: 2069
    functionName: rd_kafka_mock_push_request_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 42
    functionsReached:
    - rd_kafka_mock_push_request_errors_array
    - va_start
    - rd_alloca
    - va_end
    - va_arg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_push_request_errors(rd_kafka_mock_cluster_t *mcluster,\n
      \                                      int16_t ApiKey,\n                                       size_t
      cnt,\n                                       ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2083,1
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2085,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2086,1
    - Dst: rd_kafka_mock_error_stack_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2090,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2096,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_mock.c:2100,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_mock.c:2103,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_mock.c:2105,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_mock.c:2107,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - mcluster
    - broker_id
    - ApiKey
    - cnt
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - int16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2072
    functionDepth: 2
    functionLinenumber: 2072
    functionLinenumberEnd: 2112
    functionName: rd_kafka_mock_broker_push_request_error_rtts
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 25
    functionsReached:
    - mtx_lock
    - rd_kafka_mock_error_stack_get
    - va_start
    - rd_kafka_mock_broker_find
    - va_end
    - rd_realloc
    - mtx_unlock
    - va_arg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_push_request_error_rtts(rd_kafka_mock_cluster_t
      *mcluster,\n                                             int32_t broker_id,\n
      \                                            int16_t ApiKey,\n                                             size_t
      cnt,\n                                             ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2126,1
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2128,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2129,1
    - Dst: rd_kafka_mock_error_stack_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2134,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - mcluster
    - broker_id
    - ApiKey
    - cntp
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - int16_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2140
    functionName: rd_kafka_mock_broker_error_stack_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_kafka_mock_broker_find
    - mtx_unlock
    - rd_kafka_mock_error_stack_find
    - mtx_lock
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_error_stack_cnt(rd_kafka_mock_cluster_t
      *mcluster,\n                                     int32_t broker_id,\n                                     int16_t
      ApiKey,\n                                     size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2146,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2148,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2152,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mcluster
    - topic
    - err
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2155
    functionName: rd_kafka_mock_topic_set_error
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 4
    functionsReached:
    - rd_strdup
    - rd_kafka_op_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_topic_set_error(rd_kafka_mock_cluster_t *mcluster,\n
      \                                  const char *topic,\n                                   rd_kafka_resp_err_t
      err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2163,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2165,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2170,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mcluster
    - topic
    - partition_cnt
    - replication_factor
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2172
    functionName: rd_kafka_mock_topic_create
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 58
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_topic_create(rd_kafka_mock_cluster_t
      *mcluster,\n                           const char *topic,\n                           int
      partition_cnt,\n                           int replication_factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2179,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2181,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2186,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mcluster
    - topic
    - partition
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2188
    functionName: rd_kafka_mock_partition_set_leader
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 34
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_set_leader(rd_kafka_mock_cluster_t
      *mcluster,\n                                   const char *topic,\n                                   int32_t
      partition,\n                                   int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2195,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2197,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2202,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mcluster
    - topic
    - partition
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2204
    functionName: rd_kafka_mock_partition_set_follower
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 6
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_set_follower(rd_kafka_mock_cluster_t
      *mcluster,\n                                     const char *topic,\n                                     int32_t
      partition,\n                                     int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2212,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2214,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2220,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - mcluster
    - topic
    - partition
    - lo
    - hi
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int32_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2206
    functionDepth: 1
    functionLinenumber: 2206
    functionLinenumberEnd: 2222
    functionName: rd_kafka_mock_partition_set_follower_wmarks
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_set_follower_wmarks(rd_kafka_mock_cluster_t
      *mcluster,\n                                            const char *topic,\n
      \                                           int32_t partition,\n                                            int64_t
      lo,\n                                            int64_t hi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2230,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2231,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2237,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - mcluster
    - topic
    - partition
    - leader_id
    - leader_epoch
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - int
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2239
    functionName: rd_kafka_mock_partition_push_leader_response
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_partition_push_leader_response(rd_kafka_mock_cluster_t
      *mcluster,\n                                             const char *topic,\n
      \                                            int partition,\n                                             int32_t
      leader_id,\n                                             int32_t leader_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2244,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2250,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2252
    functionName: rd_kafka_mock_broker_set_down
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 14
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_set_down(rd_kafka_mock_cluster_t
      *mcluster,\n                              int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2257,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2263,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mcluster
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2265
    functionName: rd_kafka_mock_broker_set_up
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 12
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_set_up(rd_kafka_mock_cluster_t
      *mcluster,\n                            int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2271,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2277,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mcluster
    - broker_id
    - rtt_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2279
    functionName: rd_kafka_mock_broker_set_rtt
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 7
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_set_rtt(rd_kafka_mock_cluster_t
      *mcluster,\n                             int32_t broker_id,\n                             int
      rtt_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2285,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2288,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2291,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mcluster
    - broker_id
    - rack
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2293
    functionName: rd_kafka_mock_broker_set_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_set_rack(rd_kafka_mock_cluster_t
      *mcluster,\n                              int32_t broker_id,\n                              const
      char *rack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2301,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:2302,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2304,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_mock.c:2310,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - cluster
    - broker_id
    - host
    - port
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2295
    functionDepth: 1
    functionLinenumber: 2295
    functionLinenumberEnd: 2318
    functionName: rd_kafka_mock_broker_set_host_port
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - mtx_lock
    - mtx_unlock
    - TAILQ_FOREACH
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_broker_set_host_port(rd_kafka_mock_cluster_t *cluster,\n
      \                                       int32_t broker_id,\n                                        const
      char *host,\n                                        int port)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2325,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2327,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2328,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2332,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mcluster
    - key_type
    - key
    - broker_id
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2334
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2334
    functionName: rd_kafka_mock_coordinator_set
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 30
    functionsReached:
    - rd_strdup
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_coordinator_set(rd_kafka_mock_cluster_t
      *mcluster,\n                              const char *key_type,\n                              const
      char *key,\n                              int32_t broker_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2341,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2348,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mcluster
    - ApiKey
    - MinVersion
    - MaxVersion
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int16_t
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2350
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2350
    functionName: rd_kafka_mock_set_apiversion
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_set_apiversion(rd_kafka_mock_cluster_t
      *mcluster,\n                             int16_t ApiKey,\n                             int16_t
      MinVersion,\n                             int16_t MaxVersion)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2356,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2363,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2365,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2369,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mcluster
    - metrics
    - metrics_cnt
    argTypes:
    - rd_kafka_mock_cluster_t*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2352
    functionDepth: 1
    functionLinenumber: 2352
    functionLinenumberEnd: 2371
    functionName: rd_kafka_mock_telemetry_set_requested_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_calloc
    - rd_kafka_op_new
    - rd_kafka_op_req
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_telemetry_set_requested_metrics(rd_kafka_mock_cluster_t
      *mcluster,\n                                              char **metrics,\n
      \                                             size_t metrics_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2376,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2381,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_mock.c:2382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - push_interval_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2383
    functionName: rd_kafka_mock_telemetry_set_push_interval
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_err_destroy
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_telemetry_set_push_interval(rd_kafka_mock_cluster_t
      *mcluster,\n                                          int64_t push_interval_ms)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cluster_io_del
      Src: /src/librdkafka/src/rdkafka_mock.c:2403,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:2404,1
    - Dst: rd_kafka_mock_broker_new_listener
      Src: /src/librdkafka/src/rdkafka_mock.c:2408,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2410,1
    - Dst: rd_kafka_mock_broker_close_all
      Src: /src/librdkafka/src/rdkafka_mock.c:2413,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2417,1
    - Dst: rd_kafka_mock_broker_start_listener
      Src: /src/librdkafka/src/rdkafka_mock.c:2418,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2419,1
    - Dst: rd_kafka_mock_broker_connections_write_out
      Src: /src/librdkafka/src/rdkafka_mock.c:2428,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2433,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2436,1
    - Dst: rd_kafka_mock_broker_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2442,1
    - Dst: rd_kafka_mock_cluster_reassign_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:2443,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_mock.c:2447,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - mcluster
    - mrkb
    - rko
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_mock_broker_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2391
    functionDepth: 7
    functionLinenumber: 2391
    functionLinenumberEnd: 2452
    functionName: rd_kafka_mock_broker_cmd
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_broker_connections_write_out
    - rd_kafka_mock_cluster_reassign_partitions
    - rd_assert
    - rd_free
    - rd_socket_close
    - rd_kafka_mock_cluster_io_del
    - rd_kafka_mock_broker_start_listener
    - RD_BUG
    - rd_kafka_mock_broker_destroy
    - rd_strdup
    - rd_kafka_mock_broker_new_listener
    - rd_kafka_mock_broker_close_all
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_broker_cmd(rd_kafka_mock_cluster_t
      *mcluster,\n                         rd_kafka_mock_broker_t *mrkb,\n                         rd_kafka_op_t
      *rko)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2468,1
    - Dst: rd_kafka_mock_broker_cmd
      Src: /src/librdkafka/src/rdkafka_mock.c:2473,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:2477,1
    - Dst: rd_kafka_mock_broker_cmd
      Src: /src/librdkafka/src/rdkafka_mock.c:2480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - mcluster
    - rko
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2461
    functionDepth: 8
    functionLinenumber: 2461
    functionLinenumberEnd: 2485
    functionName: rd_kafka_mock_brokers_cmd
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_broker_cmd
    - rd_kafka_mock_broker_find
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_brokers_cmd(rd_kafka_mock_cluster_t
      *mcluster,\n                          rd_kafka_op_t *rko)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2504,1
    - Dst: rd_kafka_mock_topic_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2507,1
    - Dst: rd_kafka_mock_topic_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2517,1
    - Dst: rd_kafka_mock_partition_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2522,1
    - Dst: rd_kafka_mock_broker_find
      Src: /src/librdkafka/src/rdkafka_mock.c:2528,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2536,1
    - Dst: rd_kafka_mock_partition_set_leader0
      Src: /src/librdkafka/src/rdkafka_mock.c:2541,1
    - Dst: rd_kafka_mock_partition_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2545,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2550,1
    - Dst: rd_kafka_mock_partition_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2561,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2566,1
    - Dst: rd_kafka_mock_partition_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2590,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2595,1
    - Dst: rd_kafka_mock_partition_push_leader_response0
      Src: /src/librdkafka/src/rdkafka_mock.c:2602,1
    - Dst: rd_kafka_mock_brokers_cmd
      Src: /src/librdkafka/src/rdkafka_mock.c:2612,1
    - Dst: rd_kafka_mock_broker_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2615,1
    - Dst: rd_kafka_mock_cluster_reassign_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:2619,1
    - Dst: rd_kafka_mock_coord_set
      Src: /src/librdkafka/src/rdkafka_mock.c:2622,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2645,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_mock.c:2648,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2656,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 2
    argNames:
    - mcluster
    - rko
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2493
    functionDepth: 9
    functionLinenumber: 2493
    functionLinenumberEnd: 2661
    functionName: rd_kafka_mock_cluster_cmd
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cluster_reassign_partitions
    - rd_kafka_mock_partition_push_leader_response0
    - rd_kafka_mock_coord_set
    - rd_assert
    - rd_kafka_mock_broker_new
    - rd_kafka_mock_brokers_cmd
    - rd_calloc
    - rd_kafka_mock_topic_new
    - rd_kafka_mock_topic_find
    - rd_kafka_mock_broker_find
    - rd_kafka_mock_topic_get
    - rd_kafka_mock_partition_set_leader0
    - rd_strdup
    - rd_kafka_mock_partition_get
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_cluster_cmd(rd_kafka_mock_cluster_t
      *mcluster,\n                          rd_kafka_op_t *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2666,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mcluster
    - delay_ms
    argTypes:
    - rd_kafka_mock_cluster_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2669
    functionName: rd_kafka_mock_group_initial_rebalance_delay_ms
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_group_initial_rebalance_delay_ms(\n    rd_kafka_mock_cluster_t
      *mcluster,\n    int32_t delay_ms)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_cluster_cmd
      Src: /src/librdkafka/src/rdkafka_mock.c:2687,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2691,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_mock.c:2695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2672
    functionDepth: 10
    functionLinenumber: 2672
    functionLinenumberEnd: 2698
    functionName: rd_kafka_mock_cluster_op_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_mock_cluster_cmd
    - rd_kafka_op_reply
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_mock_cluster_op_serve(rd_kafka_t *rk,\n
      \                              rd_kafka_q_t *rkq,\n                               rd_kafka_op_t
      *rko,\n                               rd_kafka_q_cb_type_t cb_type,\n                               void
      *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2715,1
    - Dst: rd_kafka_mock_topic_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2716,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2718,1
    - Dst: rd_kafka_mock_broker_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2719,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2721,1
    - Dst: rd_kafka_mock_cgrp_classic_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2722,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2724,1
    - Dst: rd_kafka_mock_cgrp_consumer_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2725,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2727,1
    - Dst: rd_kafka_mock_coord_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2728,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2730,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_mock.c:2732,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_mock.c:2733,1
    - Dst: rd_kafka_mock_error_stack_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2734,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2737,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_mock.c:2746,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2747,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka_mock.c:2749,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2750,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_mock.c:2753,1
    - Dst: rd_kafka_timers_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2755,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2758,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2759,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2762,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2764,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:2766,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_mock.c:2767,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2771,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2773,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2704
    functionDepth: 7
    functionLinenumber: 2704
    functionLinenumberEnd: 2775
    functionName: rd_kafka_mock_cluster_destroy0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_free
    - rd_socket_close
    - rd_kafka_mock_coord_destroy
    - rd_kafka_q_enq
    - rd_list_destroy
    - rd_kafka_mock_error_stack_destroy
    - thrd_join
    - rd_kafka_mock_cgrp_consumer_destroy
    - TAILQ_FIRST
    - rd_kafka_mock_topic_destroy
    - rd_kafka_mock_broker_destroy
    - rd_kafka_op_new
    - rd_kafka_q_destroy_owner
    - rd_kafka_mock_cgrp_classic_destroy
    - mtx_destroy
    - rd_kafka_timers_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cluster_destroy0(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2783,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2785,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_mock.c:2785,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_mock.c:2786,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_mock.c:2788,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2791,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka_mock.c:2793,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2794,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2779
    functionDepth: 1
    functionLinenumber: 2779
    functionLinenumberEnd: 2797
    functionName: rd_kafka_mock_cluster_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_op_destroy
    - rd_free
    - rd_kafka_op_req2
    - thrd_join
    - rd_kafka_dbg
    - rd_atomic32_get
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_cluster_destroy(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2809,1
    - Dst: rd_kafka_broker_add
      Src: /src/librdkafka/src/rdkafka_mock.c:2813,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_mock.c:2815,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2818,1
    - Dst: rd_kafka_mock_broker_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2821,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2822,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock.c:2827,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_mock.c:2830,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2832,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_mock.c:2834,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2840,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2842,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2844,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_mock.c:2846,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_mock.c:2848,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock.c:2850,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_mock.c:2853,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_mock.c:2857,1
    - Dst: rd_kafka_timers_init
      Src: /src/librdkafka/src/rdkafka_mock.c:2861,1
    - Dst: rd_pipe_nonblocking
      Src: /src/librdkafka/src/rdkafka_mock.c:2863,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:2864,1
    - Dst: rd_socket_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:2866,1
    - Dst: rd_kafka_q_io_event_enable
      Src: /src/librdkafka/src/rdkafka_mock.c:2869,1
    - Dst: thrd_create
      Src: /src/librdkafka/src/rdkafka_mock.c:2875,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_mock.c:2877,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_mock.c:2879,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2880,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2886,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock.c:2888,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_mock.c:2889,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock.c:2893,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock.c:2897,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_mock.c:2900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 53
    argCount: 2
    argNames:
    - rk
    - broker_cnt
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2801
    functionDepth: 8
    functionLinenumber: 2801
    functionLinenumberEnd: 2903
    functionName: rd_kafka_mock_cluster_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_snprintf
    - rd_kafka_mock_broker_new
    - rd_socket_strerror
    - mtx_init
    - rd_kafka_broker_add
    - TAILQ_FOREACH
    - RD_MIN
    - rd_kafka_mock_cluster_destroy
    - rd_kafka_timers_init
    - rd_strerror
    - rd_list_init
    - memcpy
    - rd_calloc
    - thrd_create
    - TAILQ_INIT
    - rd_pipe_nonblocking
    - rd_kafka_q_new
    - rd_kafka_log
    - rd_kafka_q_io_event_enable
    - rd_malloc
    - strlen
    - rd_atomic32_add
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_mock_cluster_t
    signature: "rd_kafka_mock_cluster_t *rd_kafka_mock_cluster_new(rd_kafka_t *rk,\n
      \                                                  int broker_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2909
    functionName: rd_kafka_mock_cluster_handle
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_t
    signature: 'rd_kafka_t *

      rd_kafka_mock_cluster_handle(const rd_kafka_mock_cluster_t *mcluster)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2913
    functionName: rd_kafka_handle_mock_cluster
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_mock_cluster_t
    signature: rd_kafka_mock_cluster_t *rd_kafka_handle_mock_cluster(const rd_kafka_t
      *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2916
    functionDepth: 0
    functionLinenumber: 2916
    functionLinenumberEnd: 2919
    functionName: rd_kafka_mock_cluster_bootstraps
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_mock_cluster_bootstraps(const rd_kafka_mock_cluster_t *mcluster)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - id
    - api_key
    - timestamp_us
    argTypes:
    - int32_t
    - int16_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2941
      start: 2933
    functionDepth: 1
    functionLinenumber: 2933
    functionLinenumberEnd: 2941
    functionName: rd_kafka_mock_request_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: rd_kafka_mock_request_t
    signature: 'rd_kafka_mock_request_t *

      rd_kafka_mock_request_new(int32_t id, int16_t api_key, int64_t timestamp_us)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mrequest
    argTypes:
    - rd_kafka_mock_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2943
    functionDepth: 1
    functionLinenumber: 2943
    functionLinenumberEnd: 2951
    functionName: rd_kafka_mock_request_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: rd_kafka_mock_request_t
    signature: 'rd_kafka_mock_request_t *

      rd_kafka_mock_request_copy(rd_kafka_mock_request_t *mrequest)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mrequest
    argTypes:
    - rd_kafka_mock_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2953
    functionDepth: 1
    functionLinenumber: 2953
    functionLinenumberEnd: 2955
    functionName: rd_kafka_mock_request_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 1
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_request_destroy(rd_kafka_mock_request_t *mrequest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2961,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock.c:2962,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mrequests
    - mrequest_cnt
    argTypes:
    - rd_kafka_mock_request_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2957
    functionDepth: 2
    functionLinenumber: 2957
    functionLinenumberEnd: 2963
    functionName: rd_kafka_mock_request_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 9
    functionsReached:
    - rd_kafka_mock_request_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_request_destroy_array(rd_kafka_mock_request_t **mrequests,\n
      \                                        size_t mrequest_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_request_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2965
    functionDepth: 2
    functionLinenumber: 2965
    functionLinenumberEnd: 2967
    functionName: rd_kafka_mock_request_free
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_request_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_request_free(void *element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2970,1
    - Dst: rd_list_clear
      Src: /src/librdkafka/src/rdkafka_mock.c:2972,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2969
    functionDepth: 3
    functionLinenumber: 2969
    functionLinenumberEnd: 2974
    functionName: rd_kafka_mock_start_request_tracking
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 14
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - rd_list_clear
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_start_request_tracking(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2977,1
    - Dst: rd_list_clear
      Src: /src/librdkafka/src/rdkafka_mock.c:2979,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2976
    functionDepth: 3
    functionLinenumber: 2976
    functionLinenumberEnd: 2981
    functionName: rd_kafka_mock_stop_request_tracking
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 12
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - rd_list_clear
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_stop_request_tracking(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:2988,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_mock.c:2989,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock.c:2991,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_mock.c:2994,1
    - Dst: rd_kafka_mock_request_copy
      Src: /src/librdkafka/src/rdkafka_mock.c:2995,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:2999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2983
    functionDepth: 2
    functionLinenumber: 2983
    functionLinenumberEnd: 3001
    functionName: rd_kafka_mock_get_requests
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 9
    functionsReached:
    - rd_list_cnt
    - mtx_lock
    - rd_kafka_mock_request_copy
    - rd_calloc
    - rd_list_elem
    - mtx_unlock
    linkageType: ''
    returnType: rd_kafka_mock_request_t
    signature: 'rd_kafka_mock_request_t **

      rd_kafka_mock_get_requests(rd_kafka_mock_cluster_t *mcluster, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock.c:3004,1
    - Dst: rd_list_clear
      Src: /src/librdkafka/src/rdkafka_mock.c:3005,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock.c:3006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mcluster
    argTypes:
    - rd_kafka_mock_cluster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3007
      start: 3003
    functionDepth: 3
    functionLinenumber: 3003
    functionLinenumberEnd: 3007
    functionName: rd_kafka_mock_clear_requests
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 8
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - rd_list_clear
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mock_clear_requests(rd_kafka_mock_cluster_t *mcluster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mreq
    argTypes:
    - rd_kafka_mock_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3009
    functionDepth: 0
    functionLinenumber: 3009
    functionLinenumberEnd: 3011
    functionName: rd_kafka_mock_request_id
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_mock_request_id(rd_kafka_mock_request_t *mreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mreq
    argTypes:
    - rd_kafka_mock_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3015
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3015
    functionName: rd_kafka_mock_request_api_key
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: int16_t rd_kafka_mock_request_api_key(rd_kafka_mock_request_t *mreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mreq
    argTypes:
    - rd_kafka_mock_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3019
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3019
    functionName: rd_kafka_mock_request_timestamp
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: rd_ts_t
    signature: rd_ts_t rd_kafka_mock_request_timestamp(rd_kafka_mock_request_t *mreq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock.c:3039,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_mock.c:3040,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_mock.c:3042,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_mock.c:3043,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock.c:3045,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_mock.c:3049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cnt
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3033
    functionDepth: 1
    functionLinenumber: 3033
    functionLinenumberEnd: 3052
    functionName: ut_topic_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - va_end
    - va_arg
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: rd_kafka_topic_partition_list_t *ut_topic_partitions(int cnt, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_mock.c:3068,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_mock.c:3070,1
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_mock.c:3076,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_mock.c:3080,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_mock.c:3083,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_mock.c:3088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - expected
    - actual
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3091
    functionName: ut_assert_topic_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_str
    - rd_kafka_topic_partition_list_cmp
    - RD_UT_ASSERT
    linkageType: ''
    returnType: int
    signature: "int ut_assert_topic_partitions(rd_kafka_topic_partition_list_t *expected,\n
      \                                     rd_kafka_topic_partition_list_t *actual)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_mock.c:3141,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_mock.c:3147,1
    - Dst: rd_kafka_mock_cluster_new
      Src: /src/librdkafka/src/rdkafka_mock.c:3148,1
    - Dst: rd_kafka_mock_cgrp_consumer_get
      Src: /src/librdkafka/src/rdkafka_mock.c:3149,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_add
      Src: /src/librdkafka/src/rdkafka_mock.c:3150,1
    - Dst: rd_kafka_mock_topic_new
      Src: /src/librdkafka/src/rdkafka_mock.c:3153,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3161,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_leave
      Src: /src/librdkafka/src/rdkafka_mock.c:3165,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_add
      Src: /src/librdkafka/src/rdkafka_mock.c:3167,1
    - Dst: rd_kafka_mock_cgrps_connection_closed
      Src: /src/librdkafka/src/rdkafka_mock.c:3173,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_add
      Src: /src/librdkafka/src/rdkafka_mock.c:3175,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_new
      Src: /src/librdkafka/src/rdkafka_mock.c:3186,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment
      Src: /src/librdkafka/src/rdkafka_mock.c:3190,1
    - Dst: rd_kafka_mock_cgrp_consumer_target_assignment_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:3192,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:3194,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock.c:3202,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_next_assignment
      Src: /src/librdkafka/src/rdkafka_mock.c:3208,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock.c:3210,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_mock.c:3212,1
    - Dst: ut_assert_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3219,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock.c:3222,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock.c:3224,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:3228,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_mock.c:3229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 4
    argNames:
    - topic
    - partitions
    - fixtures
    - fixtures_cnt
    argTypes:
    - char*
    - int
    - struct cgrp_consumer_member_next_assignment_fixture*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3124
    functionDepth: 9
    functionLinenumber: 3124
    functionLinenumberEnd: 3231
    functionName: ut_cgrp_consumer_member_next_assignment0
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - ut_assert_topic_partitions
    - rd_kafka_mock_cgrp_consumer_member_next_assignment
    - rd_kafka_mock_cgrp_consumer_target_assignment
    - rd_kafka_destroy
    - rd_kafka_mock_cluster_destroy
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_set_topic_id
    - rd_kafka_mock_topic_new
    - RD_IF_FREE
    - RD_UT_SAY
    - rd_kafka_mock_cgrp_consumer_get
    - rd_kafka_mock_cluster_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_mock_cgrps_connection_closed
    - rd_kafka_mock_cgrp_consumer_target_assignment_new
    - rd_kafka_mock_cgrp_consumer_member_leave
    - rd_kafka_new
    - strlen
    - rd_kafka_mock_cgrp_consumer_member_add
    - rd_kafka_mock_cgrp_consumer_target_assignment_destroy
    linkageType: ''
    returnType: int
    signature: "int ut_cgrp_consumer_member_next_assignment0(\n    const char *topic,\n
      \   int partitions,\n    struct cgrp_consumer_member_next_assignment_fixture
      *fixtures,\n    size_t fixtures_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3241,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3250,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3252,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3257,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3269,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3282,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3295,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3302,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3305,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3310,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3312,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3324,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3337,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3339,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3351,1
    - Dst: ut_cgrp_consumer_member_next_assignment0
      Src: /src/librdkafka/src/rdkafka_mock.c:3355,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_mock.c:3356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3240
    functionDepth: 10
    functionLinenumber: 3240
    functionLinenumberEnd: 3357
    functionName: ut_cgrp_consumer_member_next_assignment1
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_ARRAY_SIZE
    - ut_cgrp_consumer_member_next_assignment0
    - RD_UT_SAY
    - ut_topic_partitions
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment1(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3367,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3378,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3380,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3386,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3393,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3396,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3401,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3403,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3415,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3428,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3431,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3443,1
    - Dst: ut_cgrp_consumer_member_next_assignment0
      Src: /src/librdkafka/src/rdkafka_mock.c:3447,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_mock.c:3448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3449
      start: 3366
    functionDepth: 10
    functionLinenumber: 3366
    functionLinenumberEnd: 3449
    functionName: ut_cgrp_consumer_member_next_assignment2
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_ARRAY_SIZE
    - ut_cgrp_consumer_member_next_assignment0
    - RD_UT_SAY
    - ut_topic_partitions
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3459,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3470,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3472,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3478,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3485,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3488,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3493,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3495,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3506,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3508,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3520,1
    - Dst: ut_cgrp_consumer_member_next_assignment0
      Src: /src/librdkafka/src/rdkafka_mock.c:3525,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_mock.c:3526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3458
    functionDepth: 10
    functionLinenumber: 3458
    functionLinenumberEnd: 3527
    functionName: ut_cgrp_consumer_member_next_assignment3
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_ARRAY_SIZE
    - ut_cgrp_consumer_member_next_assignment0
    - RD_UT_SAY
    - ut_topic_partitions
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment3(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3537,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3546,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3548,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3553,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3561,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3563,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3575,1
    - Dst: ut_cgrp_consumer_member_next_assignment0
      Src: /src/librdkafka/src/rdkafka_mock.c:3579,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_mock.c:3580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3536
    functionDepth: 10
    functionLinenumber: 3536
    functionLinenumberEnd: 3581
    functionName: ut_cgrp_consumer_member_next_assignment4
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_ARRAY_SIZE
    - ut_cgrp_consumer_member_next_assignment0
    - RD_UT_SAY
    - ut_topic_partitions
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment4(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_mock.c:3591,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3600,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3602,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3615,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3619,1
    - Dst: ut_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock.c:3625,1
    - Dst: ut_cgrp_consumer_member_next_assignment0
      Src: /src/librdkafka/src/rdkafka_mock.c:3629,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_mock.c:3630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3631
      start: 3590
    functionDepth: 10
    functionLinenumber: 3590
    functionLinenumberEnd: 3631
    functionName: ut_cgrp_consumer_member_next_assignment5
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_ARRAY_SIZE
    - ut_cgrp_consumer_member_next_assignment0
    - RD_UT_SAY
    - ut_topic_partitions
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment5(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_mock.c:3641,1
    - Dst: ut_cgrp_consumer_member_next_assignment1
      Src: /src/librdkafka/src/rdkafka_mock.c:3644,1
    - Dst: ut_cgrp_consumer_member_next_assignment2
      Src: /src/librdkafka/src/rdkafka_mock.c:3645,1
    - Dst: ut_cgrp_consumer_member_next_assignment3
      Src: /src/librdkafka/src/rdkafka_mock.c:3646,1
    - Dst: ut_cgrp_consumer_member_next_assignment4
      Src: /src/librdkafka/src/rdkafka_mock.c:3647,1
    - Dst: ut_cgrp_consumer_member_next_assignment5
      Src: /src/librdkafka/src/rdkafka_mock.c:3648,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_mock.c:3650,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_mock.c:3651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3652
      start: 3640
    functionDepth: 11
    functionLinenumber: 3640
    functionLinenumberEnd: 3652
    functionName: ut_cgrp_consumer_member_next_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - ut_cgrp_consumer_member_next_assignment1
    - ut_cgrp_consumer_member_next_assignment3
    - RD_UT_PASS
    - ut_cgrp_consumer_member_next_assignment4
    - ut_cgrp_consumer_member_next_assignment2
    - ut_cgrp_consumer_member_next_assignment5
    linkageType: ''
    returnType: int
    signature: int ut_cgrp_consumer_member_next_assignment(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_cgrp_consumer_member_next_assignment
      Src: /src/librdkafka/src/rdkafka_mock.c:3659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3657
    functionDepth: 12
    functionLinenumber: 3657
    functionLinenumberEnd: 3661
    functionName: unittest_mock_cluster
    functionSourceFile: /src/librdkafka/src/rdkafka_mock.c
    functionUses: 0
    functionsReached:
    - ut_cgrp_consumer_member_next_assignment
    linkageType: ''
    returnType: int
    signature: int unittest_mock_cluster(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rkts
    - ','
    - rtmr
    - ','
    - interval
    - ','
    - callback
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: rd_kafka_timer_start
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_timer_start(rkts, rtmr, interval, callback, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - rkts
    - ','
    - rtmr
    - ','
    - restart
    - ','
    - interval
    - ','
    - callback
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: rd_kafka_timer_start_oneshot
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "rd_kafka_timer_start_oneshot(rkts, rtmr, restart, interval, callback,
      \ \\\n                                     arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_shutdown
      Src: /src/librdkafka/src/rdkafka_ssl.c:82,1
    - Dst: SSL_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: rd_kafka_transport_ssl_close
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - SSL_free
    - SSL_shutdown
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_ssl_close(rd_kafka_transport_t *rktrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_clear_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:94,1
    - Dst: WSASetLastError
      Src: /src/librdkafka/src/rdkafka_ssl.c:96,1
    - Dst: rd_set_errno
      Src: /src/librdkafka/src/rdkafka_ssl.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: rd_kafka_transport_ssl_clear_error
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_set_errno
    - WSASetLastError
    - ERR_clear_error
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_transport_ssl_clear_error(rd_kafka_transport_t *rktrans)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_last_error_all
      Src: /src/librdkafka/src/rdkafka_ssl.c:114,1
    - Dst: ERR_peek_last_error_line_data
      Src: /src/librdkafka/src/rdkafka_ssl.c:116,1
    - Dst: ERR_func_error_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:117,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:123,1
    - Dst: ERR_lib_error_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:124,1
    - Dst: ERR_reason_error_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 130
    functionName: rd_kafka_ssl_last_error_str
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - ERR_func_error_string
    - ERR_peek_last_error_all
    - rd_snprintf
    - ERR_peek_last_error_line_data
    - ERR_reason_error_string
    - ERR_lib_error_string
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_ssl_last_error_str(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:152,1
    - Dst: ERR_get_error_all
      Src: /src/librdkafka/src/rdkafka_ssl.c:158,1
    - Dst: ERR_get_error_line_data
      Src: /src/librdkafka/src/rdkafka_ssl.c:160,1
    - Dst: ERR_func_error_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:166,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:172,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:175,1
    - Dst: ERR_error_string_n
      Src: /src/librdkafka/src/rdkafka_ssl.c:179,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:186,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:190,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:195,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - rk
    - rkb
    - ctx_identifier
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 200
    functionName: rd_kafka_ssl_error0
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_log
    - ERR_get_error_all
    - rd_assert
    - ERR_func_error_string
    - ERR_error_string_n
    - rd_snprintf
    - ERR_get_error_line_data
    - rd_rkb_log
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ssl_error0(rd_kafka_t *rk,\n                          rd_kafka_broker_t
      *rkb,\n                          const char *ctx_identifier,\n                          char
      *errstr,\n                          size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ssl_error0
      Src: /src/librdkafka/src/rdkafka_ssl.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - rkb
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: rd_kafka_ssl_error
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ssl_error0
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ssl_error(rd_kafka_t *rk,\n                                rd_kafka_broker_t
      *rkb,\n                                char *errstr,\n                                size_t
      errstr_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:221,1
    - Dst: rd_kafka_transport_poll_set
      Src: /src/librdkafka/src/rdkafka_ssl.c:226,1
    - Dst: rd_kafka_transport_set_blocked
      Src: /src/librdkafka/src/rdkafka_ssl.c:230,1
    - Dst: rd_kafka_transport_poll_set
      Src: /src/librdkafka/src/rdkafka_ssl.c:231,1
    - Dst: ERR_peek_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:235,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:237,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:240,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:244,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:247,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_ssl.c:249,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:253,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - rktrans
    - ret
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 264
    functionName: rd_kafka_transport_ssl_io_update
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_error
    - rd_kafka_ssl_error
    - rd_snprintf
    - rd_kafka_transport_set_blocked
    - rd_strerror
    - ERR_peek_error
    - rd_kafka_transport_poll_set
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_transport_ssl_io_update(rd_kafka_transport_t *rktrans,\n
      \                                int ret,\n                                 char
      *errstr,\n                                 size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_clear_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:274,1
    - Dst: rd_slice_peeker
      Src: /src/librdkafka/src/rdkafka_ssl.c:276,1
    - Dst: SSL_write
      Src: /src/librdkafka/src/rdkafka_ssl.c:280,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_ssl.c:282,1
    - Dst: rd_kafka_transport_ssl_io_update
      Src: /src/librdkafka/src/rdkafka_ssl.c:283,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_ssl.c:291,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - rktrans
    - slice
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_slice_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: rd_kafka_transport_ssl_send
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_kafka_transport_ssl_io_update
    - rd_slice_peeker
    - SSL_write
    - rd_kafka_transport_ssl_clear_error
    - unlikely
    - rd_slice_read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_ssl_send(rd_kafka_transport_t *rktrans,\n
      \                                   rd_slice_t *slice,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_writable
      Src: /src/librdkafka/src/rdkafka_ssl.c:313,1
    - Dst: rd_kafka_transport_ssl_clear_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:316,1
    - Dst: SSL_read
      Src: /src/librdkafka/src/rdkafka_ssl.c:318,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_ssl.c:320,1
    - Dst: rd_kafka_transport_ssl_io_update
      Src: /src/librdkafka/src/rdkafka_ssl.c:321,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/librdkafka/src/rdkafka_ssl.c:328,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_ssl.c:331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - rktrans
    - rbuf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 305
    functionDepth: 4
    functionLinenumber: 305
    functionLinenumberEnd: 341
    functionName: rd_kafka_transport_ssl_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_buf_get_writable
    - rd_buf_write
    - SSL_read
    - rd_kafka_transport_ssl_io_update
    - VALGRIND_MAKE_MEM_DEFINED
    - rd_kafka_transport_ssl_clear_error
    - unlikely
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_transport_ssl_recv(rd_kafka_transport_t *rktrans,\n
      \                                   rd_buf_t *rbuf,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:356,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:360,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:367,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_ssl.c:368,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_ssl.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: rd_kafka_transport_ssl_passwd_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - RD_MIN
    - strlen
    - memcpy
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_ssl_passwd_cb(char *buf,\n                                            int
      size,\n                                            int rwflag,\n                                            void
      *userdata)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:396,1
    - Dst: X509_STORE_CTX_get_current_cert
      Src: /src/librdkafka/src/rdkafka_ssl.c:400,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:402,1
    - Dst: X509_STORE_CTX_get_error_depth
      Src: /src/librdkafka/src/rdkafka_ssl.c:407,1
    - Dst: X509_STORE_CTX_get_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:409,1
    - Dst: i2d_X509
      Src: /src/librdkafka/src/rdkafka_ssl.c:411,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:413,1
    - Dst: rd_kafka_t*::rk_conf::ssl::cert_verify_cb
      Src: /src/librdkafka/src/rdkafka_ssl.c:421,1
    - Dst: OPENSSL_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:425,1
    - Dst: X509_NAME_oneline
      Src: /src/librdkafka/src/rdkafka_ssl.c:431,1
    - Dst: X509_get_subject_name
      Src: /src/librdkafka/src/rdkafka_ssl.c:431,1
    - Dst: X509_NAME_oneline
      Src: /src/librdkafka/src/rdkafka_ssl.c:433,1
    - Dst: X509_get_issuer_name
      Src: /src/librdkafka/src/rdkafka_ssl.c:433,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:435,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:440,1
    - Dst: X509_STORE_CTX_set_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - preverify_ok
    - x509_ctx
    argTypes:
    - int
    - X509_STORE_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 450
    functionName: rd_kafka_transport_ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - i2d_X509
    - rd_assert
    - X509_NAME_oneline
    - X509_get_issuer_name
    - X509_get_subject_name
    - OPENSSL_free
    - X509_STORE_CTX_get_current_cert
    - X509_STORE_CTX_get_error
    - X509_STORE_CTX_get_error_depth
    - rd_kafka_t*::rk_conf::ssl::cert_verify_cb
    - X509_STORE_CTX_set_error
    - rd_rkb_log
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_ssl_cert_verify_cb(int preverify_ok,\n                                                 X509_STORE_CTX
      *x509_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:479,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - hostname
    - normalized
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 488
    functionName: rd_kafka_ssl_normalize_hostname
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - strlen
    - rd_snprintf
    linkageType: ''
    returnType: RD_EXPORT
    signature: "RD_EXPORT *\nrd_kafka_ssl_normalize_hostname(const char *hostname,\n
      \                                char *normalized,\n                                 size_t
      size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_ssl.c:504,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:505,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_ssl.c:507,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rdkafka_ssl.c:510,1
    - Dst: rd_kafka_ssl_normalize_hostname
      Src: /src/librdkafka/src/rdkafka_ssl.c:514,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_ssl.c:519,1
    - Dst: strspn
      Src: /src/librdkafka/src/rdkafka_ssl.c:520,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:521,1
    - Dst: strspn
      Src: /src/librdkafka/src/rdkafka_ssl.c:522,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:522,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/librdkafka/src/rdkafka_ssl.c:523,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_ssl.c:532,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:533,1
    - Dst: SSL_set1_host
      Src: /src/librdkafka/src/rdkafka_ssl.c:540,1
    - Dst: SSL_get0_param
      Src: /src/librdkafka/src/rdkafka_ssl.c:546,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/librdkafka/src/rdkafka_ssl.c:548,1
    - Dst: strnlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:549,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:554,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:561,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:568,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - rktrans
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 570
    functionName: rd_kafka_transport_ssl_set_endpoint_id
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_set_tlsext_host_name
    - strrchr
    - rd_snprintf
    - rd_kafka_ssl_error
    - strcmp
    - rd_kafka_ssl_normalize_hostname
    - rd_rkb_dbg
    - X509_VERIFY_PARAM_set1_host
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - strchr
    - SSL_get0_param
    - SSL_set1_host
    - strlen
    - strnlen
    - strspn
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_ssl_set_endpoint_id(rd_kafka_transport_t *rktrans,\n
      \                                                 char *errstr,\n                                                  size_t
      errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSL_new
      Src: /src/librdkafka/src/rdkafka_ssl.c:584,1
    - Dst: SSL_set_fd
      Src: /src/librdkafka/src/rdkafka_ssl.c:588,1
    - Dst: rd_kafka_transport_ssl_set_endpoint_id
      Src: /src/librdkafka/src/rdkafka_ssl.c:591,1
    - Dst: rd_kafka_transport_ssl_clear_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:595,1
    - Dst: SSL_connect
      Src: /src/librdkafka/src/rdkafka_ssl.c:597,1
    - Dst: rd_kafka_transport_connect_done
      Src: /src/librdkafka/src/rdkafka_ssl.c:601,1
    - Dst: rd_kafka_transport_ssl_io_update
      Src: /src/librdkafka/src/rdkafka_ssl.c:605,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - rkb
    - rktrans
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_transport_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 614
    functionName: rd_kafka_transport_ssl_connect
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_transport_ssl_set_endpoint_id
    - rd_kafka_transport_connect_done
    - rd_kafka_ssl_error
    - rd_kafka_transport_ssl_io_update
    - SSL_set_fd
    - SSL_connect
    - SSL_new
    - rd_kafka_transport_ssl_clear_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_transport_ssl_connect(rd_kafka_broker_t *rkb,\n                                   rd_kafka_transport_t
      *rktrans,\n                                   char *errstr,\n                                   size_t
      errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_clear_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:623,1
    - Dst: SSL_write
      Src: /src/librdkafka/src/rdkafka_ssl.c:625,1
    - Dst: rd_kafka_transport_ssl_io_update
      Src: /src/librdkafka/src/rdkafka_ssl.c:626,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_ssl.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - rktrans
    - events
    argTypes:
    - rd_kafka_transport_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 617
    functionDepth: 4
    functionLinenumber: 617
    functionLinenumberEnd: 638
    functionName: rd_kafka_transport_ssl_io_event
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_fail
    - rd_kafka_transport_ssl_io_update
    - SSL_write
    - rd_kafka_transport_ssl_clear_error
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_transport_ssl_io_event(rd_kafka_transport_t *rktrans,
      int events)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get1_peer_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:652,1
    - Dst: SSL_get_peer_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:654,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:656,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_ssl.c:658,1
    - Dst: SSL_get_verify_result
      Src: /src/librdkafka/src/rdkafka_ssl.c:664,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_ssl.c:665,1
    - Dst: X509_verify_cert_error_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:668,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: rd_kafka_transport_ssl_verify
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_get_verify_result
    - rd_rkb_dbg
    - rd_kafka_broker_fail
    - SSL_get1_peer_certificate
    - SSL_get_peer_certificate
    - X509_verify_cert_error_string
    - X509_free
    linkageType: ''
    returnType: int
    signature: int rd_kafka_transport_ssl_verify(rd_kafka_transport_t *rktrans)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SSL_do_handshake
      Src: /src/librdkafka/src/rdkafka_ssl.c:689,1
    - Dst: rd_kafka_transport_ssl_verify
      Src: /src/librdkafka/src/rdkafka_ssl.c:692,1
    - Dst: rd_kafka_transport_connect_done
      Src: /src/librdkafka/src/rdkafka_ssl.c:695,1
    - Dst: rd_kafka_transport_ssl_io_update
      Src: /src/librdkafka/src/rdkafka_ssl.c:698,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_ssl.c:703,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_ssl.c:709,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_ssl.c:712,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_ssl.c:713,1
    - Dst: rd_kafka_transport_error_disconnected
      Src: /src/librdkafka/src/rdkafka_ssl.c:730,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_ssl.c:737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 684
    functionDepth: 4
    functionLinenumber: 684
    functionLinenumberEnd: 744
    functionName: rd_kafka_transport_ssl_handshake
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_transport_connect_done
    - rd_kafka_transport_ssl_io_update
    - rd_kafka_broker_fail
    - rd_kafka_transport_ssl_verify
    - strstr
    - rd_kafka_transport_error_disconnected
    - SSL_do_handshake
    linkageType: ''
    returnType: int
    signature: int rd_kafka_transport_ssl_handshake(rd_kafka_transport_t *rktrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/librdkafka/src/rdkafka_ssl.c:760,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/librdkafka/src/rdkafka_ssl.c:763,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - str
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 769
    functionName: rd_kafka_ssl_PKEY_from_string
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - BIO_free
    - PEM_read_bio_PrivateKey
    - BIO_new_mem_buf
    linkageType: ''
    returnType: EVP_PKEY
    signature: "EVP_PKEY *rd_kafka_ssl_PKEY_from_string(rd_kafka_t *rk,\n                                               const
      char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BIO_new_mem_buf
      Src: /src/librdkafka/src/rdkafka_ssl.c:831,1
    - Dst: PEM_read_bio_X509
      Src: /src/librdkafka/src/rdkafka_ssl.c:835,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:838,1
    - Dst: rd_kafka_ssl_read_cert_chain_from_BIO
      Src: /src/librdkafka/src/rdkafka_ssl.c:842,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:848,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:851,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:852,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - str
    - chainp
    argTypes:
    - rd_kafka_t*
    - char*
    - STACK_OF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 858
    functionName: rd_kafka_ssl_X509_from_string
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - BIO_new_mem_buf
    - PEM_read_bio_X509
    - BIO_free
    - rd_kafka_ssl_read_cert_chain_from_BIO
    - X509_free
    linkageType: ''
    returnType: X509
    signature: "X509 *rd_kafka_ssl_X509_from_string(rd_kafka_t *rk,\n                                           const
      char *str,\n                                           STACK_OF(X509) * chainp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mbstowcs_s
      Src: /src/librdkafka/src/rdkafka_ssl.c:880,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:880,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:882,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_ssl.c:889,1
    - Dst: mbstowcs_s
      Src: /src/librdkafka/src/rdkafka_ssl.c:890,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:891,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:892,1
    - Dst: CertOpenStore
      Src: /src/librdkafka/src/rdkafka_ssl.c:894,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:900,1
    - Dst: rd_strerror_w32
      Src: /src/librdkafka/src/rdkafka_ssl.c:905,1
    - Dst: GetLastError
      Src: /src/librdkafka/src/rdkafka_ssl.c:905,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:910,1
    - Dst: CertEnumCertificatesInStore
      Src: /src/librdkafka/src/rdkafka_ssl.c:913,1
    - Dst: d2i_X509
      Src: /src/librdkafka/src/rdkafka_ssl.c:917,1
    - Dst: X509_STORE_add_cert
      Src: /src/librdkafka/src/rdkafka_ssl.c:926,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:931,1
    - Dst: CertFreeCertificateContext
      Src: /src/librdkafka/src/rdkafka_ssl.c:935,1
    - Dst: CertCloseStore
      Src: /src/librdkafka/src/rdkafka_ssl.c:937,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - rk
    - ctx_identifier
    - ctx
    - store_name
    argTypes:
    - rd_kafka_t*
    - char*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 948
    functionName: rd_kafka_ssl_win_load_cert_store
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - mbstowcs_s
    - rd_assert
    - rd_strerror_w32
    - CertOpenStore
    - CertFreeCertificateContext
    - rd_alloca
    - X509_free
    - rd_kafka_dbg
    - d2i_X509
    - GetLastError
    - X509_STORE_add_cert
    - strlen
    - SSL_CTX_get_cert_store
    - CertEnumCertificatesInStore
    - CertCloseStore
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_win_load_cert_store(rd_kafka_t *rk,\n                                            const
      char *ctx_identifier,\n                                            SSL_CTX *ctx,\n
      \                                           const char *store_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_ssl.c:965,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_ssl.c:974,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_ssl.c:982,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_ssl.c:986,1
    - Dst: rd_kafka_ssl_win_load_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:992,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - rk
    - ctx_identifier
    - ctx
    - store_names
    argTypes:
    - rd_kafka_t*
    - char*
    - SSL_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 955
    functionDepth: 2
    functionLinenumber: 955
    functionLinenumberEnd: 1004
    functionName: rd_kafka_ssl_win_load_cert_stores
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_ssl_win_load_cert_store
    - isspace
    - strchr
    - rd_strdupa
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_win_load_cert_stores(rd_kafka_t *rk,\n                                      const
      char *ctx_identifier,\n                                      SSL_CTX *ctx,\n
      \                                     const char *store_names)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_file_stat
      Src: /src/librdkafka/src/rdkafka_ssl.c:1019,1
    - Dst: rd_kafka_dir_is_empty
      Src: /src/librdkafka/src/rdkafka_ssl.c:1022,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1025,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/librdkafka/src/rdkafka_ssl.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - rk
    - ctx_identifier
    - path
    - ctx
    - is_dir
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    - SSL_CTX*
    - rd_bool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1032
    functionName: rd_kafka_ssl_set_ca_path
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_file_stat
    - rd_kafka_dir_is_empty
    - SSL_CTX_load_verify_locations
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_set_ca_path(rd_kafka_t *rk,\n                                    const
      char *ctx_identifier,\n                                    const char *path,\n
      \                                   SSL_CTX *ctx,\n                                    rd_bool_t
      *is_dir)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ssl_set_ca_path
      Src: /src/librdkafka/src/rdkafka_ssl.c:1095,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:1103,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1104,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - ctx_identifier
    - ctx
    argTypes:
    - rd_kafka_t*
    - char*
    - SSL_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1121
    functionName: rd_kafka_ssl_probe_and_set_default_ca_location
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_ssl_set_ca_path
    - rd_kafka_dbg
    - rd_kafka_ssl_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_probe_and_set_default_ca_location(rd_kafka_t *rk,\n
      \                                                  const char *ctx_identifier,\n
      \                                                  SSL_CTX *ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1163,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1164,1
    - Dst: SSL_get_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:1169,1
    - Dst: SSL_get_client_CA_list
      Src: /src/librdkafka/src/rdkafka_ssl.c:1179,1
    - Dst: sk_X509_NAME_num
      Src: /src/librdkafka/src/rdkafka_ssl.c:1180,1
    - Dst: rd_kafka_ssl_cert_issuer_match
      Src: /src/librdkafka/src/rdkafka_ssl.c:1189,1
    - Dst: SSL_get0_chain_certs
      Src: /src/librdkafka/src/rdkafka_ssl.c:1195,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_ssl.c:1200,1
    - Dst: sk_X509_value
      Src: /src/librdkafka/src/rdkafka_ssl.c:1201,1
    - Dst: rd_kafka_ssl_cert_issuer_match
      Src: /src/librdkafka/src/rdkafka_ssl.c:1202,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:1212,1
    - Dst: SSL_certs_clear
      Src: /src/librdkafka/src/rdkafka_ssl.c:1216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ssl
    - arg
    argTypes:
    - SSL*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1161
    functionDepth: 1
    functionLinenumber: 1161
    functionLinenumberEnd: 1218
    functionName: rd_kafka_ssl_cert_callback
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - SSL_certs_clear
    - sk_X509_NAME_num
    - sk_X509_value
    - STACK_OF
    - SSL_get_client_CA_list
    - sk_X509_num
    - SSL_get_certificate
    - SSL_get0_chain_certs
    - rd_kafka_ssl_cert_issuer_match
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ssl_cert_callback(SSL *ssl, void *arg)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1239,1
    - Dst: SSL_CTX_set_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:1242,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_ssl.c:1252,1
    - Dst: rd_kafka_path_is_dir
      Src: /src/librdkafka/src/rdkafka_ssl.c:1255,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1257,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/librdkafka/src/rdkafka_ssl.c:1262,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1267,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:1283,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1284,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1286,1
    - Dst: BIO_new_mem_buf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1290,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1291,1
    - Dst: PEM_read_bio_X509
      Src: /src/librdkafka/src/rdkafka_ssl.c:1294,1
    - Dst: X509_STORE_add_cert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1297,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1298,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1303,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1304,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1308,1
    - Dst: BIO_eof
      Src: /src/librdkafka/src/rdkafka_ssl.c:1312,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1313,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1318,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1322,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1324,1
    - Dst: rd_kafka_ssl_win_load_cert_stores
      Src: /src/librdkafka/src/rdkafka_ssl.c:1337,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:1340,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_ssl.c:1347,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_ssl.c:1357,1
    - Dst: rd_kafka_ssl_probe_and_set_default_ca_location
      Src: /src/librdkafka/src/rdkafka_ssl.c:1369,1
    - Dst: SSL_CTX_set_default_verify_paths
      Src: /src/librdkafka/src/rdkafka_ssl.c:1377,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:1381,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1383,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1394,1
    - Dst: SSL_CTX_load_verify_locations
      Src: /src/librdkafka/src/rdkafka_ssl.c:1397,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1401,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1407,1
    - Dst: X509_STORE_set_flags
      Src: /src/librdkafka/src/rdkafka_ssl.c:1409,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:1409,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1418,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1421,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:1422,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1424,1
    - Dst: SSL_CTX_set0_chain
      Src: /src/librdkafka/src/rdkafka_ssl.c:1429,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1432,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1444,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/librdkafka/src/rdkafka_ssl.c:1448,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1452,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1460,1
    - Dst: sk_X509_new_null
      Src: /src/librdkafka/src/rdkafka_ssl.c:1460,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1462,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1465,1
    - Dst: rd_kafka_ssl_X509_from_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:1468,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1471,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1474,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:1478,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1480,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1483,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1486,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_ssl.c:1490,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1491,1
    - Dst: SSL_CTX_set0_chain
      Src: /src/librdkafka/src/rdkafka_ssl.c:1493,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1495,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1498,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1508,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1511,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/librdkafka/src/rdkafka_ssl.c:1512,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1514,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1523,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/librdkafka/src/rdkafka_ssl.c:1527,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1530,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1541,1
    - Dst: rd_kafka_ssl_PKEY_from_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:1545,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1547,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/librdkafka/src/rdkafka_ssl.c:1553,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1555,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1558,1
    - Dst: rd_kafka_desensitize_str
      Src: /src/librdkafka/src/rdkafka_ssl.c:1565,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1577,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1581,1
    - Dst: BIO_new_file
      Src: /src/librdkafka/src/rdkafka_ssl.c:1585,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1587,1
    - Dst: d2i_PKCS12_bio
      Src: /src/librdkafka/src/rdkafka_ssl.c:1594,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1596,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1597,1
    - Dst: PKCS12_parse
      Src: /src/librdkafka/src/rdkafka_ssl.c:1604,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1606,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1607,1
    - Dst: PKCS12_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1608,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1609,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1611,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1612,1
    - Dst: PKCS12_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1619,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1620,1
    - Dst: SSL_CTX_use_cert_and_key
      Src: /src/librdkafka/src/rdkafka_ssl.c:1622,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_ssl.c:1623,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_ssl.c:1624,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1626,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1628,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1641,1
    - Dst: sk_X509_NAME_new_null
      Src: /src/librdkafka/src/rdkafka_ssl.c:1641,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_ssl.c:1642,1
    - Dst: X509_STORE_get0_objects
      Src: /src/librdkafka/src/rdkafka_ssl.c:1643,1
    - Dst: SSL_CTX_get_cert_store
      Src: /src/librdkafka/src/rdkafka_ssl.c:1643,1
    - Dst: sk_X509_OBJECT_num
      Src: /src/librdkafka/src/rdkafka_ssl.c:1647,1
    - Dst: X509_OBJECT_get0_X509
      Src: /src/librdkafka/src/rdkafka_ssl.c:1648,1
    - Dst: sk_X509_OBJECT_value
      Src: /src/librdkafka/src/rdkafka_ssl.c:1649,1
    - Dst: sk_X509_NAME_push
      Src: /src/librdkafka/src/rdkafka_ssl.c:1652,1
    - Dst: X509_get_subject_name
      Src: /src/librdkafka/src/rdkafka_ssl.c:1653,1
    - Dst: sk_X509_NAME_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1657,1
    - Dst: ENGINE_load_ssl_client_cert
      Src: /src/librdkafka/src/rdkafka_ssl.c:1660,1
    - Dst: sk_X509_NAME_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1664,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1666,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1667,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1669,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1674,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1678,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/librdkafka/src/rdkafka_ssl.c:1685,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1686,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1688,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1691,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/librdkafka/src/rdkafka_ssl.c:1695,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1696,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1698,1
    - Dst: SSL_CTX_check_private_key
      Src: /src/librdkafka/src/rdkafka_ssl.c:1709,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1710,1
    - Dst: SSL_CTX_set_cert_cb
      Src: /src/librdkafka/src/rdkafka_ssl.c:1716,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 245
    argCount: 4
    argNames:
    - rk
    - ctx
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - SSL_CTX*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1225
    functionDepth: 4
    functionLinenumber: 1225
    functionLinenumberEnd: 1719
    functionName: rd_kafka_ssl_set_certs
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - SSL_CTX_use_PrivateKey_file
    - BIO_new_mem_buf
    - rd_snprintf
    - rd_kafka_ssl_probe_and_set_default_ca_location
    - rd_kafka_ssl_error
    - d2i_PKCS12_bio
    - X509_get_subject_name
    - sk_X509_NAME_free
    - sk_X509_OBJECT_num
    - ENGINE_load_ssl_client_cert
    - PKCS12_free
    - BIO_new_file
    - rd_kafka_ssl_win_load_cert_stores
    - SSL_CTX_check_private_key
    - SSL_CTX_set_cert_store
    - PEM_read_bio_X509
    - sk_X509_pop_free
    - rd_kafka_desensitize_str
    - sk_X509_num
    - sk_X509_OBJECT_value
    - SSL_CTX_load_verify_locations
    - RD_IF_FREE
    - X509_free
    - X509_STORE_set_flags
    - sk_X509_NAME_push
    - rd_kafka_ssl_PKEY_from_string
    - strcmp
    - EVP_PKEY_free
    - STACK_OF
    - SSL_CTX_set_cert_cb
    - PKCS12_parse
    - rd_kafka_path_is_dir
    - SSL_CTX_use_certificate_chain_file
    - X509_STORE_add_cert
    - BIO_free
    - SSL_CTX_set_default_verify_paths
    - SSL_CTX_use_PrivateKey
    - SSL_CTX_use_certificate
    - rd_kafka_log
    - sk_X509_new_null
    - SSL_CTX_set0_chain
    - X509_OBJECT_get0_X509
    - BIO_eof
    - SSL_CTX_use_cert_and_key
    - rd_kafka_ssl_X509_from_string
    - X509_STORE_get0_objects
    - sk_X509_NAME_new_null
    - SSL_CTX_get_cert_store
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_set_certs(rd_kafka_t *rk,\n                                  SSL_CTX
      *ctx,\n                                  char *errstr,\n                                  size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SSL_CTX_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1730,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_ssl.c:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1736
    functionName: rd_kafka_ssl_ctx_term
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ssl_ctx_term(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ENGINE_by_id
      Src: /src/librdkafka/src/rdkafka_ssl.c:1754,1
    - Dst: ENGINE_by_id
      Src: /src/librdkafka/src/rdkafka_ssl.c:1756,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1758,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:1765,1
    - Dst: ENGINE_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1767,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1768,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:1774,1
    - Dst: ENGINE_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1775,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1776,1
    - Dst: ENGINE_ctrl_cmd_string
      Src: /src/librdkafka/src/rdkafka_ssl.c:1782,1
    - Dst: ENGINE_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1783,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1784,1
    - Dst: ENGINE_init
      Src: /src/librdkafka/src/rdkafka_ssl.c:1790,1
    - Dst: ENGINE_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1791,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1792,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1801
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1801
    functionName: rd_kafka_ssl_ctx_init_engine
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - ENGINE_init
    - ENGINE_by_id
    - ENGINE_ctrl_cmd_string
    - ENGINE_free
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_ssl_ctx_init_engine(rd_kafka_t *rk, char *errstr,
      size_t errstr_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PROVIDER_unload
      Src: /src/librdkafka/src/rdkafka_ssl.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1813
    functionName: rd_kafka_ssl_OSSL_PROVIDER_free
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ssl_OSSL_PROVIDER_free(void *ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdkafka_ssl.c:1831,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1836,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1840,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_ssl.c:1844,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/librdkafka/src/rdkafka_ssl.c:1855,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1857,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1860,1
    - Dst: OSSL_PROVIDER_get_params
      Src: /src/librdkafka/src/rdkafka_ssl.c:1864,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1867,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_ssl.c:1871,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:1874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - rk
    - providers_csv
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1826
    functionDepth: 3
    functionLinenumber: 1826
    functionLinenumberEnd: 1877
    functionName: rd_kafka_ssl_ctx_load_providers
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_string_split
    - rd_list_add
    - rd_snprintf
    - OSSL_PROVIDER_get_params
    - OSSL_PROVIDER_load
    - rd_list_init
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_ssl_ctx_load_providers(rd_kafka_t *rk,\n                                                 const
      char *providers_csv,\n                                                 char
      *errstr,\n                                                 size_t errstr_size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1901,1
    - Dst: OpenSSL_version
      Src: /src/librdkafka/src/rdkafka_ssl.c:1904,1
    - Dst: OpenSSL_version_num
      Src: /src/librdkafka/src/rdkafka_ssl.c:1905,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1907,1
    - Dst: rd_kafka_ssl_ctx_load_providers
      Src: /src/librdkafka/src/rdkafka_ssl.c:1917,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1924,1
    - Dst: rd_kafka_ssl_ctx_init_engine
      Src: /src/librdkafka/src/rdkafka_ssl.c:1927,1
    - Dst: SSL_CTX_new
      Src: /src/librdkafka/src/rdkafka_ssl.c:1933,1
    - Dst: TLS_client_method
      Src: /src/librdkafka/src/rdkafka_ssl.c:1933,1
    - Dst: SSL_CTX_new
      Src: /src/librdkafka/src/rdkafka_ssl.c:1935,1
    - Dst: SSLv23_client_method
      Src: /src/librdkafka/src/rdkafka_ssl.c:1935,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1938,1
    - Dst: SSL_CTX_set_options
      Src: /src/librdkafka/src/rdkafka_ssl.c:1944,1
    - Dst: SSL_CTX_set_default_passwd_cb
      Src: /src/librdkafka/src/rdkafka_ssl.c:1948,1
    - Dst: SSL_CTX_set_default_passwd_cb_userdata
      Src: /src/librdkafka/src/rdkafka_ssl.c:1949,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1953,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/librdkafka/src/rdkafka_ssl.c:1955,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1960,1
    - Dst: SSL_CTX_set_verify
      Src: /src/librdkafka/src/rdkafka_ssl.c:1967,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1977,1
    - Dst: SSL_CTX_set1_curves_list
      Src: /src/librdkafka/src/rdkafka_ssl.c:1979,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1981,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:1989,1
    - Dst: SSL_CTX_set1_sigalgs_list
      Src: /src/librdkafka/src/rdkafka_ssl.c:1992,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_ssl.c:1994,1
    - Dst: rd_kafka_ssl_set_certs
      Src: /src/librdkafka/src/rdkafka_ssl.c:2002,1
    - Dst: SSL_CTX_set_options
      Src: /src/librdkafka/src/rdkafka_ssl.c:2011,1
    - Dst: SSL_CTX_set_mode
      Src: /src/librdkafka/src/rdkafka_ssl.c:2014,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_ssl.c:2021,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_ssl.c:2025,1
    - Dst: rd_kafka_ssl_error
      Src: /src/librdkafka/src/rdkafka_ssl.c:2026,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_ssl.c:2029,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_ssl.c:2031,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_ssl.c:2033,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1889
    functionDepth: 5
    functionLinenumber: 1889
    functionLinenumberEnd: 2036
    functionName: rd_kafka_ssl_ctx_init
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_ssl_error
    - rd_kafka_ssl_set_certs
    - OpenSSL_version
    - SSL_CTX_set_default_passwd_cb_userdata
    - rd_list_destroy
    - SSLv23_client_method
    - SSL_CTX_set_cipher_list
    - rd_kafka_ssl_ctx_load_providers
    - SSL_CTX_set_mode
    - rd_kafka_ssl_ctx_init_engine
    - RD_IF_FREE
    - SSL_CTX_set_verify
    - SSL_CTX_set1_sigalgs_list
    - TLS_client_method
    - SSL_CTX_new
    - SSL_CTX_set_options
    - SSL_CTX_set1_curves_list
    - strcmp
    - OpenSSL_version_num
    - strlen
    - SSL_CTX_set_default_passwd_cb
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ssl_ctx_init(rd_kafka_t *rk, char *errstr, size_t errstr_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_ssl.c:2043,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_ssl.c:2045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - mode
    - i
    - file
    - line
    argTypes:
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2046
    functionName: rd_kafka_transport_ssl_lock_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_transport_ssl_lock_cb(int mode, int i, const char
      *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/librdkafka/src/rdkafka_ssl.c:2054,1
    - Dst: thrd_current
      Src: /src/librdkafka/src/rdkafka_ssl.c:2056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2058
    functionName: rd_kafka_transport_ssl_threadid_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - thrd_current
    - GetCurrentThreadId
    linkageType: ''
    returnType: RD_UNUSED unsigned long
    signature: RD_UNUSED unsigned long rd_kafka_transport_ssl_threadid_cb(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_ssl_threadid_cb
      Src: /src/librdkafka/src/rdkafka_ssl.c:2063,1
    - Dst: CRYPTO_THREADID_set_numeric
      Src: /src/librdkafka/src/rdkafka_ssl.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - CRYPTO_THREADID*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2061
    functionDepth: 2
    functionLinenumber: 2061
    functionLinenumberEnd: 2066
    functionName: rd_kafka_transport_libcrypto_THREADID_callback
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_ssl_threadid_cb
    - CRYPTO_THREADID_set_numeric
    linkageType: ''
    returnType: void
    signature: void rd_kafka_transport_libcrypto_THREADID_callback(CRYPTO_THREADID
      *id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_locking_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2076,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2077,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2079,1
    - Dst: CRYPTO_set_id_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2081,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_ssl.c:2085,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_ssl.c:2087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2090
    functionName: rd_kafka_ssl_term
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_free
    - CRYPTO_get_locking_callback
    - CRYPTO_set_locking_callback
    - mtx_destroy
    - CRYPTO_THREADID_set_callback
    - CRYPTO_set_id_callback
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ssl_term(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CRYPTO_get_locking_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2100,1
    - Dst: CRYPTO_num_locks
      Src: /src/librdkafka/src/rdkafka_ssl.c:2101,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_ssl.c:2102,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_ssl.c:2105,1
    - Dst: CRYPTO_set_locking_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2107,1
    - Dst: CRYPTO_THREADID_set_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2110,1
    - Dst: CRYPTO_set_id_callback
      Src: /src/librdkafka/src/rdkafka_ssl.c:2113,1
    - Dst: SSL_load_error_strings
      Src: /src/librdkafka/src/rdkafka_ssl.c:2123,1
    - Dst: SSL_library_init
      Src: /src/librdkafka/src/rdkafka_ssl.c:2124,1
    - Dst: ERR_load_BIO_strings
      Src: /src/librdkafka/src/rdkafka_ssl.c:2126,1
    - Dst: ERR_load_crypto_strings
      Src: /src/librdkafka/src/rdkafka_ssl.c:2127,1
    - Dst: OpenSSL_add_all_algorithms
      Src: /src/librdkafka/src/rdkafka_ssl.c:2128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2130
    functionName: rd_kafka_ssl_init
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - OpenSSL_add_all_algorithms
    - SSL_load_error_strings
    - CRYPTO_get_locking_callback
    - SSL_library_init
    - CRYPTO_set_locking_callback
    - rd_malloc
    - mtx_init
    - CRYPTO_num_locks
    - ERR_load_BIO_strings
    - ERR_load_crypto_strings
    - CRYPTO_THREADID_set_callback
    - CRYPTO_set_id_callback
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ssl_init(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_ssl.c:2144,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_ssl.c:2145,1
    - Dst: HMAC
      Src: /src/librdkafka/src/rdkafka_ssl.c:2152,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:2154,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_ssl.c:2158,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_ssl.c:2165,1
    - Dst: HMAC
      Src: /src/librdkafka/src/rdkafka_ssl.c:2165,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_ssl.c:2168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 6
    argNames:
    - rkb
    - evp
    - in
    - salt
    - itcnt
    - out
    argTypes:
    - rd_kafka_broker_t*
    - EVP_MD*
    - rd_chariov_t*
    - rd_chariov_t*
    - int
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2183
    functionName: rd_kafka_ssl_hmac
    functionSourceFile: /src/librdkafka/src/rdkafka_ssl.c
    functionUses: 0
    functionsReached:
    - rd_alloca
    - rd_rkb_dbg
    - HMAC
    - memcpy
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ssl_hmac(rd_kafka_broker_t *rkb,\n                      const
      EVP_MD *evp,\n                      const rd_chariov_t *in,\n                      const
      rd_chariov_t *salt,\n                      int itcnt,\n                      rd_chariov_t
      *out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_offset.h:97,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_offset.h:99,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_offset.h:99,1
    - Dst: rd_kafka_is_simple_consumer
      Src: /src/librdkafka/src/rdkafka_offset.h:101,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_offset.h:105,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_offset.h:111,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_offset.h:112,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_offset.h:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - rktp
    - pos
    - metadata
    - metadata_size
    - force
    - do_lock
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - void*
    - size_t
    - rd_bool_t
    - rd_dolock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 121
    functionName: rd_kafka_offset_store0
    functionSourceFile: /src/librdkafka/src/rdkafka_offset.h
    functionUses: 5
    functionsReached:
    - rd_free
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_malloc
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - memcpy
    - rd_kafka_is_simple_consumer
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_offset_store0(rd_kafka_toppar_t *rktp,\n                       const
      rd_kafka_fetch_pos_t pos,\n                       void *metadata,\n                       size_t
      metadata_size,\n                       rd_bool_t force,\n                       rd_dolock_t
      do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: likely
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 104
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: unlikely
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 89
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: RD_IS_CONSTANT
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_IS_CONSTANT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: rd_alloca
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_alloca(N)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf_s
      Src: /src/librdkafka/src/rdwin32.h:114,1
    - Dst: _vscprintf
      Src: /src/librdkafka/src/rdwin32.h:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - str
    - size
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: rd_vsnprintf
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 15
    functionsReached:
    - _vscprintf
    - _vsnprintf_s
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_vsnprintf(char *str, size_t size, const char *format,
      va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdwin32.h:126,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdwin32.h:127,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdwin32.h:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: rd_snprintf
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 115
    functionsReached:
    - va_end
    - va_start
    - rd_vsnprintf
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_snprintf(char *str, size_t size, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: rd_strcasecmp
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strcasecmp(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: rd_strncasecmp
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strncasecmp(A, B, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - HAYSTACK
    - ','
    - NEEDLE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: rd_strcasestr
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strcasestr(HAYSTACK, NEEDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: rd_set_errno
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_set_errno(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror_s
      Src: /src/librdkafka/src/rdwin32.h:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: rd_strerror
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 26
    functionsReached:
    - strerror_s
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_strerror(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/librdkafka/src/rdwin32.h:168,1
    - Dst: MAKELANGID
      Src: /src/librdkafka/src/rdwin32.h:170,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdwin32.h:173,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdwin32.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - errcode
    - dst
    - dstsize
    argTypes:
    - DWORD
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: rd_strerror_w32
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 2
    functionsReached:
    - FormatMessageA
    - MAKELANGID
    - strchr
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_strerror_w32(DWORD errcode, char *dst, size_t dstsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - usec
    - ','
    - terminate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: rd_usleep
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_usleep(usec, terminate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/librdkafka/src/rdwin32.h:206,1
    - Dst: SystemTimeToFileTime
      Src: /src/librdkafka/src/rdwin32.h:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - struct timezone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: rd_gettimeofday
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 3
    functionsReached:
    - SystemTimeToFileTime
    - GetSystemTime
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_gettimeofday(struct timeval *tv, struct timezone *tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: rd_assert
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 107
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_assert(EXPR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetEnvironmentVariableA
      Src: /src/librdkafka/src/rdwin32.h:224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - env
    - def
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: rd_getenv
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 3
    functionsReached:
    - GetEnvironmentVariableA
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *rd_getenv(const char *env,\n                                                 const
      char *def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strerror_w32
      Src: /src/librdkafka/src/rdwin32.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: rd_socket_strerror
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 14
    functionsReached:
    - rd_strerror_w32
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_socket_strerror(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - POLLFD
    - ','
    - FDCNT
    - ','
    - TIMEOUT_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: rd_socket_poll
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_poll(POLLFD, FDCNT, TIMEOUT_MS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ioctlsocket
      Src: /src/librdkafka/src/rdwin32.h:272,1
    - Dst: WSAGetLastError
      Src: /src/librdkafka/src/rdwin32.h:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - rd_socket_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: rd_fd_set_nonblocking
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 1
    functionsReached:
    - WSAGetLastError
    - ioctlsocket
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_fd_set_nonblocking(rd_socket_t fd)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/librdkafka/src/rdwin32.h:295,1
    - Dst: ntohl
      Src: /src/librdkafka/src/rdwin32.h:300,1
    - Dst: bind
      Src: /src/librdkafka/src/rdwin32.h:302,1
    - Dst: getsockname
      Src: /src/librdkafka/src/rdwin32.h:307,1
    - Dst: listen
      Src: /src/librdkafka/src/rdwin32.h:311,1
    - Dst: socket
      Src: /src/librdkafka/src/rdwin32.h:315,1
    - Dst: connect
      Src: /src/librdkafka/src/rdwin32.h:319,1
    - Dst: accept
      Src: /src/librdkafka/src/rdwin32.h:324,1
    - Dst: closesocket
      Src: /src/librdkafka/src/rdwin32.h:329,1
    - Dst: rd_fd_set_nonblocking
      Src: /src/librdkafka/src/rdwin32.h:331,1
    - Dst: rd_fd_set_nonblocking
      Src: /src/librdkafka/src/rdwin32.h:334,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdwin32.h:341,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdwin32.h:344,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdwin32.h:347,1
    - Dst: setsockopt
      Src: /src/librdkafka/src/rdwin32.h:350,1
    - Dst: closesocket
      Src: /src/librdkafka/src/rdwin32.h:362,1
    - Dst: closesocket
      Src: /src/librdkafka/src/rdwin32.h:364,1
    - Dst: closesocket
      Src: /src/librdkafka/src/rdwin32.h:366,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 1
    argNames:
    - fds
    argTypes:
    - rd_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 368
    functionName: rd_pipe_nonblocking
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 1
    functionsReached:
    - connect
    - bind
    - socket
    - closesocket
    - accept
    - setsockopt
    - rd_fd_set_nonblocking
    - ntohl
    - getsockname
    - listen
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_pipe_nonblocking(rd_socket_t *fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: rd_socket_read
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_read(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: rd_socket_write
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_write(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: rd_socket_close
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_close(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: rd_write
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_write(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - path
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: rd_open
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_open(path, flags, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: rd_close
    functionSourceFile: /src/librdkafka/src/rdwin32.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_close(fd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:40,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:42,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_buf.c:44,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_buf.c:47,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:48,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_buf.c:51,1
    - Dst: rd_kafka_msgbatch_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:56,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:61,1
    - Dst: rd_kafka_buf_t*::rkbuf_free_make_opaque_cb
      Src: /src/librdkafka/src/rdkafka_buf.c:64,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:66,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:67,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:69,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:72,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:75,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:77,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_buf.c:79,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - rkbuf
    argTypes:
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 35
    functionDepth: 3
    functionLinenumber: 35
    functionLinenumberEnd: 80
    functionName: rd_kafka_buf_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_free
    - mtx_lock
    - rd_kafka_buf_destroy
    - rd_list_destroy
    - rd_kafka_broker_destroy
    - rd_kafka_msgbatch_destroy
    - rd_buf_destroy
    - rd_kafka_replyq_destroy
    - rd_kafka_assert
    - rd_refcnt_destroy
    - mtx_unlock
    - rd_kafka_buf_t*::rkbuf_free_make_opaque_cb
    linkageType: ''
    returnType: void
    signature: void rd_kafka_buf_destroy_final(rd_kafka_buf_t *rkbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_push
      Src: /src/librdkafka/src/rdkafka_buf.c:94,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdkafka_buf.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - rkbuf
    - buf
    - len
    - allow_crc_calc
    argTypes:
    - rd_kafka_buf_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: rd_kafka_buf_push0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_buf_push
    - rd_crc32_update
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_buf_push0(rd_kafka_buf_t *rkbuf,\n                        const
      void *buf,\n                        size_t len,\n                        int
      allow_crc_calc,\n                        void (*free_cb)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_buf.c:113,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdkafka_buf.c:117,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_buf.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - segcnt
    - size
    - flags
    argTypes:
    - int
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: rd_kafka_buf_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_buf_init
    - rd_refcnt_init
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: rd_kafka_buf_t *rd_kafka_buf_new0(int segcnt, size_t size, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_buf.c:127,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_buf.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkbuf
    argTypes:
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: rd_kafka_buf_upgrade_flexver_request
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - likely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_buf_upgrade_flexver_request(rd_kafka_buf_t *rkbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_buf.c:149,1
    - Dst: rd_kafka_buf_new0
      Src: /src/librdkafka/src/rdkafka_buf.c:156,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_buf.c:159,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.c:168,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_buf.c:170,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_buf.c:172,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.c:174,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_buf.c:177,1
    - Dst: rd_kafka_buf_upgrade_flexver_request
      Src: /src/librdkafka/src/rdkafka_buf.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - rkb
    - ApiKey
    - segcnt
    - size
    - is_flexver
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - int
    - size_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: rd_kafka_buf_new_request0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_upgrade_flexver_request
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_STR_SIZE
    - rd_kafka_buf_new0
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: "rd_kafka_buf_t *rd_kafka_buf_new_request0(rd_kafka_broker_t *rkb,\n
      \                                         int16_t ApiKey,\n                                          int
      segcnt,\n                                          size_t size,\n                                          rd_bool_t
      is_flexver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_buf.c:202,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdkafka_buf.c:206,1
    - Dst: rd_buf_push
      Src: /src/librdkafka/src/rdkafka_buf.c:207,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_buf.c:212,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_buf.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: rd_kafka_buf_new_shadow
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 4
    functionsReached:
    - rd_slice_init_full
    - rd_refcnt_init
    - rd_buf_push
    - rd_buf_init
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: 'rd_kafka_buf_t *

      rd_kafka_buf_new_shadow(const void *ptr, size_t size, void (*free_cb)(void *))'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_buf.c:222,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_buf.c:223,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_buf.c:225,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_buf.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkbufq
    - rkbuf
    argTypes:
    - rd_kafka_bufq_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: rd_kafka_bufq_enq
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 1
    functionsReached:
    - rd_atomic32_add
    - rd_kafka_msgq_len
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: void rd_kafka_bufq_enq(rd_kafka_bufq_t *rkbufq, rd_kafka_buf_t *rkbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_buf.c:230,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:231,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_buf.c:231,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_buf.c:232,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_buf.c:234,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_buf.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkbufq
    - rkbuf
    argTypes:
    - rd_kafka_bufq_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: rd_kafka_bufq_deq
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 2
    functionsReached:
    - TAILQ_REMOVE
    - rd_atomic32_get
    - rd_kafka_assert
    - rd_kafka_msgq_len
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: void rd_kafka_bufq_deq(rd_kafka_bufq_t *rkbufq, rd_kafka_buf_t *rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_buf.c:239,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_buf.c:240,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_buf.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkbufq
    argTypes:
    - rd_kafka_bufq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: rd_kafka_bufq_init
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 1
    functionsReached:
    - rd_atomic32_init
    - TAILQ_INIT
    linkageType: ''
    returnType: void
    signature: void rd_kafka_bufq_init(rd_kafka_bufq_t *rkbufq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_buf.c:245,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_buf.c:246,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_buf.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkbufq
    argTypes:
    - rd_kafka_bufq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: rd_kafka_bufq_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_set
    - TAILQ_INIT
    linkageType: ''
    returnType: void
    signature: void rd_kafka_bufq_reset(rd_kafka_bufq_t *rkbufq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_CONCAT
      Src: /src/librdkafka/src/rdkafka_buf.c:254,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_buf.c:255,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_buf.c:255,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_buf.c:256,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_buf.c:257,1
    - Dst: rd_kafka_bufq_reset
      Src: /src/librdkafka/src/rdkafka_buf.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_bufq_t*
    - rd_kafka_bufq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: rd_kafka_bufq_concat
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_atomic32_add
    - TAILQ_CONCAT
    - rd_kafka_bufq_reset
    linkageType: ''
    returnType: void
    signature: void rd_kafka_bufq_concat(rd_kafka_bufq_t *dst, rd_kafka_bufq_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:272,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_buf.c:272,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_buf.c:274,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_buf.c:275,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_buf.c:277,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_buf.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - rkb
    - rkbufq
    - err
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_bufq_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: rd_kafka_bufq_purge
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_rkb_dbg
    - thrd_is_current
    - rd_atomic32_get
    - rd_kafka_buf_callback
    - rd_kafka_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_bufq_purge(rd_kafka_broker_t *rkb,\n                         rd_kafka_bufq_t
      *rkbufq,\n                         rd_kafka_resp_err_t err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_buf.c:296,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:298,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_buf.c:298,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_buf.c:300,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_buf.c:302,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_buf.c:304,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_buf.c:308,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_buf.c:309,1
    - Dst: rd_slice_seek
      Src: /src/librdkafka/src/rdkafka_buf.c:315,1
    - Dst: rd_kafka_buf_calc_timeout
      Src: /src/librdkafka/src/rdkafka_buf.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - rkb
    - rkbufq
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_bufq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 322
    functionName: rd_kafka_bufq_connection_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_SAFE
    - rd_kafka_buf_calc_timeout
    - rd_rkb_dbg
    - thrd_is_current
    - rd_atomic32_get
    - rd_kafka_buf_callback
    - rd_kafka_bufq_deq
    - rd_slice_seek
    - rd_kafka_assert
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_bufq_connection_reset(rd_kafka_broker_t *rkb,\n                                    rd_kafka_bufq_t
      *rkbufq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_buf.c:329,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_buf.c:335,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_buf.c:337,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_buf.c:339,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_buf.c:340,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_buf.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rkb
    - fac
    - rkbq
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_bufq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 356
    functionName: rd_kafka_bufq_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_rkb_dbg
    - rd_kafka_bufq_cnt
    - TAILQ_FOREACH
    - rd_clock
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_bufq_dump(rd_kafka_broker_t *rkb,\n                        const
      char *fac,\n                        rd_kafka_bufq_t *rkbq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_buf.c:366,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_buf.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - rkbuf
    - now
    argTypes:
    - rd_kafka_t*
    - rd_kafka_buf_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 382
    functionName: rd_kafka_buf_calc_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 1
    functionsReached:
    - likely
    - RD_MIN
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_buf_calc_timeout(const rd_kafka_t *rk,\n                               rd_kafka_buf_t
      *rkbuf,\n                               rd_ts_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_was_sent
      Src: /src/librdkafka/src/rdkafka_buf.c:393,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:396,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_buf.c:396,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_buf.c:398,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_buf.c:399,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_buf.c:405,1
    - Dst: rd_kafka_buf_keep
      Src: /src/librdkafka/src/rdkafka_buf.c:412,1
    - Dst: rd_kafka_broker_buf_retry
      Src: /src/librdkafka/src/rdkafka_buf.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 415
    functionName: rd_kafka_buf_retry
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 5
    functionsReached:
    - rd_assert
    - rd_buf_len
    - rd_kafka_buf_was_sent
    - rd_kafka_buf_keep
    - rd_kafka_broker_buf_retry
    - rd_clock
    - unlikely
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: int
    signature: int rd_kafka_buf_retry(rd_kafka_broker_t *rkb, rd_kafka_buf_t *rkbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_replyq_clear
      Src: /src/librdkafka/src/rdkafka_buf.c:435,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:442,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:451,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_buf.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - rko
    - err
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 456
    functionName: rd_kafka_buf_handle_op
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_replyq_clear
    - rd_kafka_buf_callback
    - rd_assert
    - rd_kafka_buf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_buf_handle_op(rd_kafka_op_t *rko, rd_kafka_resp_err_t
      err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_response_received
      Src: /src/librdkafka/src/rdkafka_buf.c:479,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_buf.c:480,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_buf.c:481,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_buf.c:487,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:489,1
    - Dst: rd_kafka_buf_keep
      Src: /src/librdkafka/src/rdkafka_buf.c:495,1
    - Dst: rd_kafka_replyq_copy
      Src: /src/librdkafka/src/rdkafka_buf.c:502,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_buf.c:505,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:507,1
    - Dst: rd_kafka_buf_t*::rkbuf_cb
      Src: /src/librdkafka/src/rdkafka_buf.c:512,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:515,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_buf.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - rk
    - rkb
    - err
    - response
    - request
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 518
    functionName: rd_kafka_buf_callback
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_id
    - rd_kafka_buf_t*::rkbuf_cb
    - rd_kafka_buf_destroy
    - rd_kafka_replyq_copy
    - rd_kafka_buf_keep
    - rd_kafka_op_new
    - rd_kafka_replyq_enq
    - rd_kafka_broker_name
    - rd_kafka_interceptors_on_response_received
    - rd_kafka_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_buf_callback(rd_kafka_t *rk,\n                           rd_kafka_broker_t
      *rkb,\n                           rd_kafka_resp_err_t err,\n                           rd_kafka_buf_t
      *response,\n                           rd_kafka_buf_t *request)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rkbuf
    - make_cb
    - make_opaque
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_make_req_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 543
    functionName: rd_kafka_buf_set_maker
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_buf_set_maker(rd_kafka_buf_t *rkbuf,\n                            rd_kafka_make_req_cb_t
      *make_cb,\n                            void *make_opaque,\n                            void
      (*free_make_opaque_cb)(void *make_opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicres
    argTypes:
    - rd_kafka_topic_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: rd_kafka_topic_result_error
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_topic_result_error(const rd_kafka_topic_result_t
      *topicres)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicres
    argTypes:
    - rd_kafka_topic_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: rd_kafka_topic_result_error_string
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_topic_result_error_string(const rd_kafka_topic_result_t *topicres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicres
    argTypes:
    - rd_kafka_topic_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: rd_kafka_topic_result_name
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_topic_result_name(const rd_kafka_topic_result_t *topicres)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_aux.c:66,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_aux.c:67,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_aux.c:70,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_aux.c:75,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_aux.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - topic
    - topic_size
    - err
    - errstr
    argTypes:
    - char*
    - ssize_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: rd_kafka_topic_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_kafka_topic_result_t
    signature: "rd_kafka_topic_result_t *rd_kafka_topic_result_new(const char *topic,\n
      \                                                  ssize_t topic_size,\n                                                   rd_kafka_resp_err_t
      err,\n                                                   const char *errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - terr
    argTypes:
    - rd_kafka_topic_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: rd_kafka_topic_result_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_result_destroy(rd_kafka_topic_result_t *terr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: rd_kafka_topic_result_free
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_result_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_result_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_group_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: rd_kafka_group_result_error
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_group_result_error(const rd_kafka_group_result_t *groupres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_group_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: rd_kafka_group_result_name
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_group_result_name(const rd_kafka_group_result_t *groupres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_group_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: rd_kafka_group_result_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t *

      rd_kafka_group_result_partitions(const rd_kafka_group_result_t *groupres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_aux.c:120,1
    - Dst: rd_kafka_error_copy
      Src: /src/librdkafka/src/rdkafka_aux.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_group_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: rd_kafka_group_result_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_group_result_new
    - rd_kafka_error_copy
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: 'rd_kafka_group_result_t *

      rd_kafka_group_result_copy(const rd_kafka_group_result_t *groupres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_group_result_copy
      Src: /src/librdkafka/src/rdkafka_aux.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_groupres
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: rd_kafka_group_result_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_group_result_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_group_result_copy_opaque(const void *src_groupres,\n
      \                                       void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_aux.c:151,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_aux.c:154,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_aux.c:158,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_aux.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - group
    - group_size
    - partitions
    - error
    argTypes:
    - char*
    - ssize_t
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: rd_kafka_group_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - rd_calloc
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: "rd_kafka_group_result_t *\nrd_kafka_group_result_new(const char *group,\n
      \                         ssize_t group_size,\n                          const
      rd_kafka_topic_partition_list_t *partitions,\n                          rd_kafka_error_t
      *error)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:176,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:178,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_group_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 180
    functionName: rd_kafka_group_result_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_group_result_destroy(rd_kafka_group_result_t *groupres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_group_result_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: rd_kafka_group_result_free
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_group_result_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_group_result_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - aclres
    argTypes:
    - rd_kafka_acl_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    functionName: rd_kafka_acl_result_error
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_acl_result_error(const rd_kafka_acl_result_t *aclres)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_aux.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: rd_kafka_acl_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_acl_result_t
    signature: rd_kafka_acl_result_t *rd_kafka_acl_result_new(rd_kafka_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:216,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - acl_res
    argTypes:
    - rd_kafka_acl_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: rd_kafka_acl_result_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_acl_result_destroy(rd_kafka_acl_result_t *acl_res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_acl_result_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: rd_kafka_acl_result_free
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_acl_result_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_acl_result_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_aux.c:242,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_aux.c:245,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_aux.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - id
    - host
    - port
    - rack
    argTypes:
    - int32_t
    - char*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: rd_kafka_Node_new
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t *rd_kafka_Node_new(int32_t id,\n                                   const
      char *host,\n                                   uint16_t port,\n                                   const
      char *rack)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_aux.c:265,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_aux.c:270,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_aux.c:275,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_aux.c:284,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_aux.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - id
    - brokers_sorted
    - brokers_internal
    - broker_cnt
    argTypes:
    - int32_t
    - struct rd_kafka_metadata_broker*
    - rd_kafka_metadata_broker_internal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 290
    functionName: rd_kafka_Node_new_from_brokers
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - bsearch
    - rd_calloc
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t *rd_kafka_Node_new_from_brokers(\n    int32_t id,\n
      \   const struct rd_kafka_metadata_broker *brokers_sorted,\n    const rd_kafka_metadata_broker_internal_t
      *brokers_internal,\n    int broker_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Node_new
      Src: /src/librdkafka/src/rdkafka_aux.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: rd_kafka_Node_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Node_new
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: rd_kafka_Node_t *rd_kafka_Node_copy(const rd_kafka_Node_t *src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:304,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:306,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: rd_kafka_Node_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_Node_destroy(rd_kafka_Node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: rd_kafka_Node_free
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Node_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_Node_free(void *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: rd_kafka_Node_id
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_Node_id(const rd_kafka_Node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: rd_kafka_Node_host
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_Node_host(const rd_kafka_Node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: rd_kafka_Node_port
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t rd_kafka_Node_port(const rd_kafka_Node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: rd_kafka_Node_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_Node_rack(const rd_kafka_Node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_aux.c:348,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_aux.c:350,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_aux.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - topic
    - partition
    - err
    - errstr
    argTypes:
    - char*
    - int32_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: rd_kafka_topic_partition_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_calloc
    - rd_kafka_topic_partition_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_result_t
    signature: "rd_kafka_topic_partition_result_t *\nrd_kafka_topic_partition_result_new(const
      char *topic,\n                                    int32_t partition,\n                                    rd_kafka_resp_err_t
      err,\n                                    const char *errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition_result
    argTypes:
    - rd_kafka_topic_partition_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: rd_kafka_topic_partition_result_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_result_partition(\n
      \   const rd_kafka_topic_partition_result_t *partition_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition_result
    argTypes:
    - rd_kafka_topic_partition_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 365
    functionName: rd_kafka_topic_partition_result_error
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_topic_partition_result_error(\n    const
      rd_kafka_topic_partition_result_t *partition_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:372,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:373,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_aux.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - partition_result
    argTypes:
    - rd_kafka_topic_partition_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: rd_kafka_topic_partition_result_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_destroy
    - rd_free
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_result_destroy(\n    rd_kafka_topic_partition_result_t
      *partition_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_result_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - partition_results
    - partition_results_cnt
    argTypes:
    - rd_kafka_topic_partition_result_t**
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: rd_kafka_topic_partition_result_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_result_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_result_destroy_array(\n    rd_kafka_topic_partition_result_t
      **partition_results,\n    int32_t partition_results_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_result_new
      Src: /src/librdkafka/src/rdkafka_aux.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_topic_partition_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: rd_kafka_topic_partition_result_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_result_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_result_t
    signature: "rd_kafka_topic_partition_result_t *rd_kafka_topic_partition_result_copy(\n
      \   const rd_kafka_topic_partition_result_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_result_copy
      Src: /src/librdkafka/src/rdkafka_aux.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: rd_kafka_topic_partition_result_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_result_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_topic_partition_result_copy_opaque(const void *src,\n
      \                                                 void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_result_destroy
      Src: /src/librdkafka/src/rdkafka_aux.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: rd_kafka_topic_partition_result_free
    functionSourceFile: /src/librdkafka/src/rdkafka_aux.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_result_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_partition_result_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:42,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:45,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_subscription.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: rd_kafka_unsubscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 11
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_cgrp_get
    - rd_kafka_op_err_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_unsubscribe(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_regex_comp
      Src: /src/librdkafka/src/rdkafka_subscription.c:62,1
    - Dst: rd_regex_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rktpar
    - opaque
    argTypes:
    - rd_kafka_topic_partition_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 13
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: _invalid_topic_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 0
    functionsReached:
    - rd_regex_destroy
    - rd_regex_comp
    linkageType: ''
    returnType: size_t
    signature: "size_t _invalid_topic_cb(const rd_kafka_topic_partition_t *rktpar,\n
      \                               void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:79,1
    - Dst: rd_kafka_topic_partition_list_sum
      Src: /src/librdkafka/src/rdkafka_subscription.c:83,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_subscription.c:87,1
    - Dst: rd_kafka_topic_partition_list_has_duplicates
      Src: /src/librdkafka/src/rdkafka_subscription.c:88,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:90,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:94,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:97,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_subscription.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rk
    - topics
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: rd_kafka_subscribe
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 27
    functionsReached:
    - rd_kafka_topic_partition_list_sum
    - rd_kafka_cgrp_get
    - rd_kafka_op_err_destroy
    - rd_kafka_topic_partition_list_has_duplicates
    - rd_kafka_op_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_op_req
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_subscribe(rd_kafka_t *rk,\n                   const
      rd_kafka_topic_partition_list_t *topics)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:109,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:110,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:114,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_subscription.c:120,1
    - Dst: rd_kafka_op_error_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:122,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_subscription.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - assign_method
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assign_method_t
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 124
    functionName: rd_kafka_assign0
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_get
    - rd_kafka_error_new
    - rd_kafka_op_new
    - rd_kafka_op_req
    - rd_kafka_op_error_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_assign0(rd_kafka_t *rk,\n                 rd_kafka_assign_method_t
      assign_method,\n                 const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assign0
      Src: /src/librdkafka/src/rdkafka_subscription.c:133,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_subscription.c:138,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 143
    functionName: rd_kafka_assign
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 8
    functionsReached:
    - rd_kafka_error_code
    - rd_kafka_assign0
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_assign(rd_kafka_t *rk,\n                const
      rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:150,1
    - Dst: rd_kafka_assign0
      Src: /src/librdkafka/src/rdkafka_subscription.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: rd_kafka_incremental_assign
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 1
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_assign0
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_incremental_assign(rd_kafka_t *rk,\n
      \                           const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:162,1
    - Dst: rd_kafka_assign0
      Src: /src/librdkafka/src/rdkafka_subscription.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: rd_kafka_incremental_unassign
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 1
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_assign0
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_incremental_unassign(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:173,1
    - Dst: rd_kafka_cgrp_assignment_is_lost
      Src: /src/librdkafka/src/rdkafka_subscription.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: rd_kafka_assignment_lost
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 5
    functionsReached:
    - rd_kafka_cgrp_assignment_is_lost
    - rd_kafka_cgrp_get
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignment_lost(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:185,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_subscription.c:188,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:194,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: rd_kafka_rebalance_protocol
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 5
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_rebalance_protocol(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:213,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_subscription.c:216,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:224,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: rd_kafka_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 18
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_assignment(rd_kafka_t *rk,\n                    rd_kafka_topic_partition_list_t
      **partitions)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka_subscription.c:241,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka_subscription.c:244,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_subscription.c:252,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_subscription.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - rk
    - topics
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 260
    functionName: rd_kafka_subscription
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 3
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_subscription(rd_kafka_t *rk,\n                      rd_kafka_topic_partition_list_t
      **topics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppars_pause_resume
      Src: /src/librdkafka/src/rdkafka_subscription.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: rd_kafka_pause_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 9
    functionsReached:
    - rd_kafka_toppars_pause_resume
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_pause_partitions(rd_kafka_t *rk,\n                          rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppars_pause_resume
      Src: /src/librdkafka/src/rdkafka_subscription.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: rd_kafka_resume_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_subscription.c
    functionUses: 9
    functionsReached:
    - rd_kafka_toppars_pause_resume
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_resume_partitions(rd_kafka_t *rk,\n                           rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: crc32c_init_sw
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void crc32c_init_sw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/crc32c.c:110,1
    - Dst: le64toh
      Src: /src/librdkafka/src/crc32c.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - crci
    - buf
    - len
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: crc32c_sw
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - memcpy
    - le64toh
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32c_sw(uint32_t crci, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mat
    - vec
    argTypes:
    - uint32_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: gf2_matrix_times
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE gf2_matrix_times(uint32_t *mat, uint32_t vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gf2_matrix_times
      Src: /src/librdkafka/src/crc32c.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - square
    - mat
    argTypes:
    - uint32_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: gf2_matrix_square
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - gf2_matrix_times
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE gf2_matrix_square(uint32_t *square, uint32_t *mat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gf2_matrix_square
      Src: /src/librdkafka/src/crc32c.c:182,1
    - Dst: gf2_matrix_square
      Src: /src/librdkafka/src/crc32c.c:185,1
    - Dst: gf2_matrix_square
      Src: /src/librdkafka/src/crc32c.c:191,1
    - Dst: gf2_matrix_square
      Src: /src/librdkafka/src/crc32c.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - even
    - len
    argTypes:
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 202
    functionName: crc32c_zeros_op
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - gf2_matrix_square
    linkageType: ''
    returnType: void
    signature: void crc32c_zeros_op(uint32_t *even, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c_zeros_op
      Src: /src/librdkafka/src/crc32c.c:211,1
    - Dst: gf2_matrix_times
      Src: /src/librdkafka/src/crc32c.c:213,1
    - Dst: gf2_matrix_times
      Src: /src/librdkafka/src/crc32c.c:214,1
    - Dst: gf2_matrix_times
      Src: /src/librdkafka/src/crc32c.c:215,1
    - Dst: gf2_matrix_times
      Src: /src/librdkafka/src/crc32c.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - zeros
    - len
    argTypes:
    - uint32_t[][]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: crc32c_zeros
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_zeros_op
    - gf2_matrix_times
    linkageType: ''
    returnType: void
    signature: void crc32c_zeros(uint32_t zeros[][256], size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zeros
    - crc
    argTypes:
    - uint32_t[][]
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: crc32c_shift
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE crc32c_shift(uint32_t zeros[][256], uint32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c_zeros
      Src: /src/librdkafka/src/crc32c.c:244,1
    - Dst: crc32c_zeros
      Src: /src/librdkafka/src/crc32c.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 4
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: crc32c_init_hw
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_zeros
    linkageType: ''
    returnType: void
    signature: void crc32c_init_hw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32c_shift
      Src: /src/librdkafka/src/crc32c.c:284,1
    - Dst: crc32c_shift
      Src: /src/librdkafka/src/crc32c.c:285,1
    - Dst: crc32c_shift
      Src: /src/librdkafka/src/crc32c.c:304,1
    - Dst: crc32c_shift
      Src: /src/librdkafka/src/crc32c.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 332
    functionName: crc32c_hw
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_shift
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t crc32c_hw(uint32_t crc, const void *buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - have
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 349
    functionName: SSE42
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SSE42(have)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: crc32c_hw
      Src: /src/librdkafka/src/crc32c.c:358,1
    - Dst: crc32c_sw
      Src: /src/librdkafka/src/crc32c.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - crc
    - buf
    - len
    argTypes:
    - uint32_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: rd_crc32c
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_hw
    - crc32c_sw
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rd_crc32c(uint32_t crc, const void *buf, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSE42
      Src: /src/librdkafka/src/crc32c.c:374,1
    - Dst: crc32c_init_hw
      Src: /src/librdkafka/src/crc32c.c:376,1
    - Dst: crc32c_init_sw
      Src: /src/librdkafka/src/crc32c.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: rd_crc32c_global_init
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_init_hw
    - SSE42
    - crc32c_init_sw
    linkageType: ''
    returnType: void
    signature: void rd_crc32c_global_init (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/crc32c.c:411,1
    - Dst: rd_crc32c
      Src: /src/librdkafka/src/crc32c.c:413,1
    - Dst: strlen
      Src: /src/librdkafka/src/crc32c.c:413,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/crc32c.c:414,1
    - Dst: crc32c_init_sw
      Src: /src/librdkafka/src/crc32c.c:421,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/crc32c.c:422,1
    - Dst: crc32c_sw
      Src: /src/librdkafka/src/crc32c.c:423,1
    - Dst: strlen
      Src: /src/librdkafka/src/crc32c.c:423,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/crc32c.c:424,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/crc32c.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 430
    functionName: unittest_rd_crc32c
    functionSourceFile: /src/librdkafka/src/crc32c.c
    functionUses: 0
    functionsReached:
    - crc32c_sw
    - RD_UT_ASSERT
    - rd_crc32c
    - RD_UT_PASS
    - strlen
    - RD_UT_SAY
    - crc32c_init_sw
    linkageType: ''
    returnType: int
    signature: int unittest_rd_crc32c (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:69,1
    - Dst: CreateMutex
      Src: /src/librdkafka/src/tinycthread.c:73,1
    - Dst: pthread_mutexattr_init
      Src: /src/librdkafka/src/tinycthread.c:83,1
    - Dst: pthread_mutexattr_settype
      Src: /src/librdkafka/src/tinycthread.c:86,1
    - Dst: pthread_mutex_init
      Src: /src/librdkafka/src/tinycthread.c:88,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/librdkafka/src/tinycthread.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - mtx
    - type
    argTypes:
    - mtx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 92
    functionName: mtx_init
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 23
    functionsReached:
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    - pthread_mutex_init
    - InitializeCriticalSection
    - pthread_mutexattr_destroy
    - CreateMutex
    linkageType: ''
    returnType: int
    signature: int mtx_init(mtx_t *mtx, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:99,1
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:103,1
    - Dst: pthread_mutex_destroy
      Src: /src/librdkafka/src/tinycthread.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mtx
    argTypes:
    - mtx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: mtx_destroy
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 16
    functionsReached:
    - DeleteCriticalSection
    - pthread_mutex_destroy
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void mtx_destroy(mtx_t *mtx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:115,1
    - Dst: WaitForSingleObject
      Src: /src/librdkafka/src/tinycthread.c:119,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/tinycthread.c:131,1
    - Dst: pthread_mutex_lock
      Src: /src/librdkafka/src/tinycthread.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - mtx
    argTypes:
    - mtx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: mtx_lock
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 79
    functionsReached:
    - rd_assert
    - pthread_mutex_lock
    - EnterCriticalSection
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int mtx_lock(mtx_t *mtx)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/librdkafka/src/tinycthread.c:151,1
    - Dst: WaitForSingleObject
      Src: /src/librdkafka/src/tinycthread.c:166,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/tinycthread.c:179,1
    - Dst: pthread_mutex_timedlock
      Src: /src/librdkafka/src/tinycthread.c:185,1
    - Dst: pthread_mutex_trylock
      Src: /src/librdkafka/src/tinycthread.c:198,1
    - Dst: timespec_get
      Src: /src/librdkafka/src/tinycthread.c:199,1
    - Dst: nanosleep
      Src: /src/librdkafka/src/tinycthread.c:220,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - mtx
    - ts
    argTypes:
    - mtx_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 233
    functionName: mtx_timedlock
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - timespec_get
    - nanosleep
    - pthread_mutex_trylock
    - WaitForSingleObject
    - pthread_mutex_timedlock
    linkageType: ''
    returnType: int
    signature: int mtx_timedlock(mtx_t *mtx, const struct timespec *ts)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TryEnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:242,1
    - Dst: WaitForSingleObject
      Src: /src/librdkafka/src/tinycthread.c:246,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:253,1
    - Dst: pthread_mutex_trylock
      Src: /src/librdkafka/src/tinycthread.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - mtx
    argTypes:
    - mtx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 265
    functionName: mtx_trylock
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - TryEnterCriticalSection
    - pthread_mutex_trylock
    - LeaveCriticalSection
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int mtx_trylock(mtx_t *mtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:273,1
    - Dst: ReleaseMutex
      Src: /src/librdkafka/src/tinycthread.c:277,1
    - Dst: pthread_mutex_unlock
      Src: /src/librdkafka/src/tinycthread.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - mtx
    argTypes:
    - mtx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: mtx_unlock
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 80
    functionsReached:
    - pthread_mutex_unlock
    - LeaveCriticalSection
    - ReleaseMutex
    linkageType: ''
    returnType: int
    signature: int mtx_unlock(mtx_t *mtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:299,1
    - Dst: CreateEvent
      Src: /src/librdkafka/src/tinycthread.c:302,1
    - Dst: CreateEvent
      Src: /src/librdkafka/src/tinycthread.c:308,1
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:311,1
    - Dst: pthread_cond_init
      Src: /src/librdkafka/src/tinycthread.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 320
    functionName: cnd_init
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 7
    functionsReached:
    - pthread_cond_init
    - InitializeCriticalSection
    - CreateEvent
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int cnd_init(cnd_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:327,1
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:331,1
    - Dst: DeleteCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:333,1
    - Dst: pthread_cond_destroy
      Src: /src/librdkafka/src/tinycthread.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 337
    functionName: cnd_destroy
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 5
    functionsReached:
    - DeleteCriticalSection
    - CloseHandle
    - pthread_cond_destroy
    linkageType: ''
    returnType: void
    signature: void cnd_destroy(cnd_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:345,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:347,1
    - Dst: SetEvent
      Src: /src/librdkafka/src/tinycthread.c:352,1
    - Dst: pthread_cond_signal
      Src: /src/librdkafka/src/tinycthread.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: cnd_signal
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 4
    functionsReached:
    - pthread_cond_signal
    - SetEvent
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int cnd_signal(cnd_t *cond)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:370,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:372,1
    - Dst: SetEvent
      Src: /src/librdkafka/src/tinycthread.c:377,1
    - Dst: pthread_cond_broadcast
      Src: /src/librdkafka/src/tinycthread.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cond
    argTypes:
    - cnd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 387
    functionName: cnd_broadcast
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 9
    functionsReached:
    - SetEvent
    - pthread_cond_broadcast
    - LeaveCriticalSection
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: int cnd_broadcast(cnd_t *cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:395,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:397,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/tinycthread.c:401,1
    - Dst: WaitForMultipleObjects
      Src: /src/librdkafka/src/tinycthread.c:405,1
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:408,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:412,1
    - Dst: ResetEvent
      Src: /src/librdkafka/src/tinycthread.c:417,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/tinycthread.c:420,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/tinycthread.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - cond
    - mtx
    - timeout
    argTypes:
    - cnd_t*
    - mtx_t*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 434
    functionName: _cnd_timedwait_win32
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 1
    functionsReached:
    - WaitForMultipleObjects
    - mtx_lock
    - EnterCriticalSection
    - LeaveCriticalSection
    - mtx_unlock
    - ResetEvent
    linkageType: ''
    returnType: int
    signature: int _cnd_timedwait_win32(cnd_t *cond, mtx_t *mtx, DWORD timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cnd_timedwait_win32
      Src: /src/librdkafka/src/tinycthread.c:440,1
    - Dst: pthread_cond_wait
      Src: /src/librdkafka/src/tinycthread.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cond
    - mtx
    argTypes:
    - cnd_t*
    - mtx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 444
    functionName: cnd_wait
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 4
    functionsReached:
    - _cnd_timedwait_win32
    - pthread_cond_wait
    linkageType: ''
    returnType: int
    signature: int cnd_wait(cnd_t *cond, mtx_t *mtx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: timespec_get
      Src: /src/librdkafka/src/tinycthread.c:450,1
    - Dst: _cnd_timedwait_win32
      Src: /src/librdkafka/src/tinycthread.c:456,1
    - Dst: pthread_cond_timedwait
      Src: /src/librdkafka/src/tinycthread.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cond
    - mtx
    - ts
    argTypes:
    - cnd_t*
    - mtx_t*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 469
    functionName: cnd_timedwait
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 1
    functionsReached:
    - pthread_cond_timedwait
    - _cnd_timedwait_win32
    - timespec_get
    linkageType: ''
    returnType: int
    signature: int cnd_timedwait(cnd_t *cond, mtx_t *mtx, const struct timespec *ts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/tinycthread.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 519
    functionName: _tinycthread_tss_cleanup
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void _tinycthread_tss_cleanup (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _tinycthread_tss_cleanup
      Src: /src/librdkafka/src/tinycthread.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - h
    - dwReason
    - pv
    argTypes:
    - PVOID
    - DWORD
    - PVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 530
    functionName: _tinycthread_tss_callback
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - _tinycthread_tss_cleanup
    linkageType: ''
    returnType: void
    signature: void _tinycthread_tss_callback(PVOID h, DWORD dwReason, PVOID pv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/tinycthread.c:573,1
    - Dst: fun
      Src: /src/librdkafka/src/tinycthread.c:576,1
    - Dst: _tinycthread_tss_cleanup
      Src: /src/librdkafka/src/tinycthread.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - aArg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 588
    functionName: _thrd_wrapper_function
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - rd_free
    - _tinycthread_tss_cleanup
    - fun
    linkageType: ''
    returnType: void
    signature: void * _thrd_wrapper_function(void * aArg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/tinycthread.c:594,1
    - Dst: CreateThread
      Src: /src/librdkafka/src/tinycthread.c:604,1
    - Dst: pthread_create
      Src: /src/librdkafka/src/tinycthread.c:608,1
    - Dst: rd_free
      Src: /src/librdkafka/src/tinycthread.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - thr
    - func
    - arg
    argTypes:
    - thrd_t*
    - thrd_start_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 624
    functionName: thrd_create
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 78
    functionsReached:
    - CreateThread
    - rd_malloc
    - rd_free
    - pthread_create
    linkageType: ''
    returnType: int
    signature: int thrd_create(thrd_t *thr, thrd_start_t func, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThread
      Src: /src/librdkafka/src/tinycthread.c:629,1
    - Dst: pthread_self
      Src: /src/librdkafka/src/tinycthread.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: thrd_current
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 3
    functionsReached:
    - pthread_self
    - GetCurrentThread
    linkageType: ''
    returnType: thrd_t
    signature: thrd_t thrd_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:640,1
    - Dst: pthread_detach
      Src: /src/librdkafka/src/tinycthread.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - thr
    argTypes:
    - thrd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: thrd_detach
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - pthread_detach
    linkageType: ''
    returnType: int
    signature: int thrd_detach(thrd_t thr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_equal
      Src: /src/librdkafka/src/tinycthread.c:651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - thr0
    - thr1
    argTypes:
    - thrd_t
    - thrd_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: thrd_equal
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    linkageType: ''
    returnType: int
    signature: int thrd_equal(thrd_t thr0, thrd_t thr1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _tinycthread_tss_cleanup
      Src: /src/librdkafka/src/tinycthread.c:660,1
    - Dst: ExitThread
      Src: /src/librdkafka/src/tinycthread.c:663,1
    - Dst: pthread_exit
      Src: /src/librdkafka/src/tinycthread.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - res
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 667
    functionName: thrd_exit
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 1
    functionsReached:
    - pthread_exit
    - _tinycthread_tss_cleanup
    - ExitThread
    linkageType: ''
    returnType: void
    signature: void thrd_exit(int res)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/librdkafka/src/tinycthread.c:674,1
    - Dst: GetExitCodeThread
      Src: /src/librdkafka/src/tinycthread.c:680,1
    - Dst: CloseHandle
      Src: /src/librdkafka/src/tinycthread.c:689,1
    - Dst: pthread_join
      Src: /src/librdkafka/src/tinycthread.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - thr
    - res
    argTypes:
    - thrd_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 702
    functionName: thrd_join
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 17
    functionsReached:
    - pthread_join
    - CloseHandle
    - WaitForSingleObject
    - GetExitCodeThread
    linkageType: ''
    returnType: int
    signature: int thrd_join(thrd_t thr, int *res)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/librdkafka/src/tinycthread.c:707,1
    - Dst: timespec_get
      Src: /src/librdkafka/src/tinycthread.c:712,1
    - Dst: SleepEx
      Src: /src/librdkafka/src/tinycthread.c:714,1
    - Dst: timespec_get
      Src: /src/librdkafka/src/tinycthread.c:722,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - duration
    - remaining
    argTypes:
    - struct timespec*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 736
    functionName: thrd_sleep
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - timespec_get
    - nanosleep
    - SleepEx
    linkageType: ''
    returnType: int
    signature: int thrd_sleep(const struct timespec *duration, struct timespec *remaining)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/librdkafka/src/tinycthread.c:741,1
    - Dst: sched_yield
      Src: /src/librdkafka/src/tinycthread.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: thrd_yield
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - Sleep
    - sched_yield
    linkageType: ''
    returnType: void
    signature: void thrd_yield(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TlsAlloc
      Src: /src/librdkafka/src/tinycthread.c:750,1
    - Dst: pthread_key_create
      Src: /src/librdkafka/src/tinycthread.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - dtor
    argTypes:
    - tss_t*
    - tss_dtor_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 763
    functionName: tss_create
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - TlsAlloc
    - pthread_key_create
    linkageType: ''
    returnType: int
    signature: int tss_create(tss_t *key, tss_dtor_t dtor)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/librdkafka/src/tinycthread.c:768,1
    - Dst: rd_free
      Src: /src/librdkafka/src/tinycthread.c:793,1
    - Dst: TlsFree
      Src: /src/librdkafka/src/tinycthread.c:796,1
    - Dst: pthread_key_delete
      Src: /src/librdkafka/src/tinycthread.c:798,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 800
    functionName: tss_delete
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - TlsGetValue
    - rd_free
    - TlsFree
    - pthread_key_delete
    linkageType: ''
    returnType: void
    signature: void tss_delete(tss_t key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/librdkafka/src/tinycthread.c:805,1
    - Dst: pthread_getspecific
      Src: /src/librdkafka/src/tinycthread.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - tss_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 814
    functionName: tss_get
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - TlsGetValue
    - pthread_getspecific
    linkageType: ''
    returnType: void
    signature: void *tss_get(tss_t key)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TlsGetValue
      Src: /src/librdkafka/src/tinycthread.c:819,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/tinycthread.c:822,1
    - Dst: TlsSetValue
      Src: /src/librdkafka/src/tinycthread.c:846,1
    - Dst: rd_free
      Src: /src/librdkafka/src/tinycthread.c:848,1
    - Dst: pthread_setspecific
      Src: /src/librdkafka/src/tinycthread.c:854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - key
    - val
    argTypes:
    - tss_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 860
    functionName: tss_set
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - rd_free
    - TlsGetValue
    - rd_malloc
    - TlsSetValue
    - pthread_setspecific
    linkageType: ''
    returnType: int
    signature: int tss_set(tss_t key, void *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ftime_s
      Src: /src/librdkafka/src/tinycthread.c:877,1
    - Dst: clock_gettime
      Src: /src/librdkafka/src/tinycthread.c:881,1
    - Dst: gettimeofday
      Src: /src/librdkafka/src/tinycthread.c:883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ts
    - base
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 889
    functionName: _tthread_timespec_get
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - _ftime_s
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: int
    signature: int _tthread_timespec_get(struct timespec *ts, int base)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange
      Src: /src/librdkafka/src/tinycthread.c:905,1
    - Dst: InitializeCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:906,1
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:907,1
    - Dst: func
      Src: /src/librdkafka/src/tinycthread.c:909,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:911,1
    - Dst: EnterCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:918,1
    - Dst: LeaveCriticalSection
      Src: /src/librdkafka/src/tinycthread.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - flag
    argTypes:
    - once_flag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 923
    functionName: call_once
    functionSourceFile: /src/librdkafka/src/tinycthread.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    - func
    - LeaveCriticalSection
    - InitializeCriticalSection
    - InterlockedCompareExchange
    linkageType: ''
    returnType: void
    signature: void call_once(once_flag *flag, void (*func)(void))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_cert.c:58,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_cert.c:59,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_cert.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - buf
    - size
    - rwflag
    - userdata
    argTypes:
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: rd_kafka_conf_ssl_passwd_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - RD_MIN
    linkageType: ''
    returnType: int
    signature: int rd_kafka_conf_ssl_passwd_cb(char *buf, int size, int rwflag, void
      *userdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_refcnt_sub
      Src: /src/librdkafka/src/rdkafka_cert.c:76,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:80,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:82,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_cert.c:84,1
    - Dst: X509_STORE_free
      Src: /src/librdkafka/src/rdkafka_cert.c:86,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_cert.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - cert
    argTypes:
    - rd_kafka_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: rd_kafka_cert_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - rd_free
    - X509_STORE_free
    - EVP_PKEY_free
    - sk_X509_pop_free
    - rd_refcnt_sub
    - X509_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_cert_destroy(rd_kafka_cert_t *cert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_refcnt_add
      Src: /src/librdkafka/src/rdkafka_cert.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_cert_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: rd_kafka_cert_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - rd_refcnt_add
    linkageType: ''
    returnType: rd_kafka_cert_t
    signature: rd_kafka_cert_t *rd_kafka_cert_dup(rd_kafka_cert_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ERR_get_error_line_data
      Src: /src/librdkafka/src/rdkafka_cert.c:110,1
    - Dst: ERR_error_string_n
      Src: /src/librdkafka/src/rdkafka_cert.c:114,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_cert.c:116,1
    - Dst: printf
      Src: /src/librdkafka/src/rdkafka_cert.c:118,1
    - Dst: ERR_lib_error_string
      Src: /src/librdkafka/src/rdkafka_cert.c:119,1
    - Dst: ERR_func_error_string
      Src: /src/librdkafka/src/rdkafka_cert.c:119,1
    - Dst: ERR_reason_error_string
      Src: /src/librdkafka/src/rdkafka_cert.c:123,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_cert.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: rd_kafka_print_ssl_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    - ERR_func_error_string
    - printf
    - ERR_get_error_line_data
    - ERR_reason_error_string
    - ERR_lib_error_string
    - strlen
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_print_ssl_errors(void)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:165,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:171,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:177,1
    - Dst: BIO_new_mem_buf
      Src: /src/librdkafka/src/rdkafka_cert.c:185,1
    - Dst: d2i_PKCS12_bio
      Src: /src/librdkafka/src/rdkafka_cert.c:191,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_cert.c:196,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_cert.c:200,1
    - Dst: X509_STORE_new
      Src: /src/librdkafka/src/rdkafka_cert.c:204,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_cert.c:210,1
    - Dst: PKCS12_parse
      Src: /src/librdkafka/src/rdkafka_cert.c:214,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_cert.c:218,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:219,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_cert.c:221,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:226,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_cert.c:230,1
    - Dst: X509_STORE_add_cert
      Src: /src/librdkafka/src/rdkafka_cert.c:231,1
    - Dst: sk_X509_value
      Src: /src/librdkafka/src/rdkafka_cert.c:232,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:236,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:241,1
    - Dst: d2i_X509_bio
      Src: /src/librdkafka/src/rdkafka_cert.c:248,1
    - Dst: X509_STORE_add_cert
      Src: /src/librdkafka/src/rdkafka_cert.c:251,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:255,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:259,1
    - Dst: PEM_read_bio_X509
      Src: /src/librdkafka/src/rdkafka_cert.c:272,1
    - Dst: X509_STORE_add_cert
      Src: /src/librdkafka/src/rdkafka_cert.c:276,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:280,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:284,1
    - Dst: BIO_eof
      Src: /src/librdkafka/src/rdkafka_cert.c:288,1
    - Dst: ERR_clear_error
      Src: /src/librdkafka/src/rdkafka_cert.c:305,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_cert.c:309,1
    - Dst: STACK_OF
      Src: /src/librdkafka/src/rdkafka_cert.c:319,1
    - Dst: PKCS12_parse
      Src: /src/librdkafka/src/rdkafka_cert.c:322,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_cert.c:326,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_cert.c:333,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:336,1
    - Dst: d2i_X509_bio
      Src: /src/librdkafka/src/rdkafka_cert.c:342,1
    - Dst: PEM_read_bio_X509
      Src: /src/librdkafka/src/rdkafka_cert.c:349,1
    - Dst: sk_X509_new_null
      Src: /src/librdkafka/src/rdkafka_cert.c:355,1
    - Dst: rd_kafka_ssl_read_cert_chain_from_BIO
      Src: /src/librdkafka/src/rdkafka_cert.c:356,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:359,1
    - Dst: sk_X509_num
      Src: /src/librdkafka/src/rdkafka_cert.c:364,1
    - Dst: sk_X509_pop_free
      Src: /src/librdkafka/src/rdkafka_cert.c:365,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_cert.c:371,1
    - Dst: PKCS12_parse
      Src: /src/librdkafka/src/rdkafka_cert.c:383,1
    - Dst: X509_free
      Src: /src/librdkafka/src/rdkafka_cert.c:387,1
    - Dst: d2i_PrivateKey_bio
      Src: /src/librdkafka/src/rdkafka_cert.c:398,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/librdkafka/src/rdkafka_cert.c:405,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_cert.c:413,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_cert.c:419,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_cert.c:424,1
    - Dst: PKCS12_free
      Src: /src/librdkafka/src/rdkafka_cert.c:426,1
    - Dst: rd_kafka_ssl_last_error_str
      Src: /src/librdkafka/src/rdkafka_cert.c:431,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_cert.c:439,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_cert.c:439,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:444,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:449,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_cert.c:451,1
    - Dst: PKCS12_free
      Src: /src/librdkafka/src/rdkafka_cert.c:453,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 207
    argCount: 7
    argNames:
    - conf
    - type
    - encoding
    - buffer
    - size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_cert_type_t
    - rd_kafka_cert_enc_t
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 456
    functionName: rd_kafka_cert_new
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - BIO_new_mem_buf
    - rd_snprintf
    - d2i_PKCS12_bio
    - PKCS12_free
    - d2i_X509_bio
    - PEM_read_bio_X509
    - sk_X509_value
    - ERR_clear_error
    - rd_kafka_ssl_last_error_str
    - sk_X509_pop_free
    - sk_X509_num
    - d2i_PrivateKey_bio
    - rd_kafka_ssl_read_cert_chain_from_BIO
    - X509_free
    - rd_refcnt_init
    - PEM_read_bio_PrivateKey
    - RD_NOTREACHED
    - rd_calloc
    - EVP_PKEY_free
    - STACK_OF
    - PKCS12_parse
    - X509_STORE_add_cert
    - BIO_free
    - sk_X509_new_null
    - BIO_eof
    - strstr
    - rd_kafka_cert_destroy
    - X509_STORE_new
    linkageType: ''
    returnType: rd_kafka_cert_t
    signature: "rd_kafka_cert_t *rd_kafka_cert_new(const rd_kafka_conf_t *conf,\n
      \                                         rd_kafka_cert_type_t type,\n                                          rd_kafka_cert_enc_t
      encoding,\n                                          const void *buffer,\n                                          size_t
      size,\n                                          char *errstr,\n                                          size_t
      errstr_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:475,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_cert.c:487,1
    - Dst: rd_kafka_global_init
      Src: /src/librdkafka/src/rdkafka_cert.c:493,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:500,1
    - Dst: rd_kafka_cert_new
      Src: /src/librdkafka/src/rdkafka_cert.c:506,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - conf
    - cert_type
    - cert_enc
    - buffer
    - size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_cert_type_t
    - rd_kafka_cert_enc_t
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 518
    functionName: rd_kafka_conf_set_ssl_cert
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cert_new
    - rd_kafka_cert_destroy
    - rd_kafka_global_init
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_conf_set_ssl_cert(rd_kafka_conf_t *conf,\n
      \                                              rd_kafka_cert_type_t cert_type,\n
      \                                              rd_kafka_cert_enc_t cert_enc,\n
      \                                              const void *buffer,\n                                               size_t
      size,\n                                               char *errstr,\n                                               size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_cert.c:528,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:530,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:534,1
    - Dst: rd_kafka_cert_destroy
      Src: /src/librdkafka/src/rdkafka_cert.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - scope
    - pconf
    argTypes:
    - int
    - void*
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 527
        line_start: 527
        source_file: /src/librdkafka/src/rdkafka_cert.c
    constantsTouched: []
    func_position:
      end: 542
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 542
    functionName: rd_kafka_conf_cert_dtor
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_cert_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_cert_dtor(int scope, void *pconf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_cert.c:559,1
    - Dst: rd_kafka_conf_cert_dtor
      Src: /src/librdkafka/src/rdkafka_cert.c:562,1
    - Dst: rd_kafka_cert_dup
      Src: /src/librdkafka/src/rdkafka_cert.c:565,1
    - Dst: rd_kafka_cert_dup
      Src: /src/librdkafka/src/rdkafka_cert.c:568,1
    - Dst: rd_kafka_cert_dup
      Src: /src/librdkafka/src/rdkafka_cert.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 7
    argNames:
    - scope
    - pdst
    - psrc
    - dstptr
    - srcptr
    - filter_cnt
    - filter
    argTypes:
    - int
    - void*
    - void*
    - void*
    - void*
    - size_t
    - char**
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 558
        line_start: 558
        source_file: /src/librdkafka/src/rdkafka_cert.c
    constantsTouched: []
    func_position:
      end: 573
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 573
    functionName: rd_kafka_conf_cert_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_cert.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_cert_dup
    - rd_kafka_conf_cert_dtor
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_cert_copy(int scope,\n                             void
      *pdst,\n                             const void *psrc,\n                             void
      *dstptr,\n                             const void *srcptr,\n                             size_t
      filter_cnt,\n                             const char **filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:65,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:65,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:66,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:67,1
    - Dst: rd_base64_encode
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:71,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:72,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:75,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:77,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:78,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:82,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - client_id
    - client_secret
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 85
    functionName: rd_kafka_oidc_client_credentials_build_auth_header
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_free
    - rd_snprintf
    - rd_base64_encode
    - rd_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\nrd_kafka_oidc_client_credentials_build_auth_header(const char
      *client_id,\n                                                   const char *client_secret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oidc_client_credentials_build_auth_header
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:101,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:104,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:105,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:107,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - client_id
    - client_secret
    - headersp
    argTypes:
    - char*
    - char*
    - struct curl_slist**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: rd_kafka_oidc_client_credentials_build_headers
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - curl_slist_append
    - rd_free
    - rd_kafka_oidc_client_credentials_build_auth_header
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oidc_client_credentials_build_headers(const char *client_id,\n
      \                                              const char *client_secret,\n
      \                                              struct curl_slist **headersp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:135,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:136,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:173,1
    - Dst: strncpy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:174,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:183,1
    - Dst: EVP_DecodeBlock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:185,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:191,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - src
    - bufplainp
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 194
    functionName: rd_kafka_jwt_b64_decode_payload
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - EVP_DecodeBlock
    - rd_malloc
    - strncpy
    - strlen
    - RD_IF_FREE
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_jwt_b64_decode_payload(const char *src,\n                                                   char
      **bufplainp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:211,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:213,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:214,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:217,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:218,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - scope
    - post_fields
    - post_fields_size
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 222
    functionName: rd_kafka_oidc_client_credentials_build_post_fields
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_malloc
    - rd_strdup
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oidc_client_credentials_build_post_fields(const char
      *scope,\n                                                   char **post_fields,\n
      \                                                  size_t *post_fields_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - token_signing_algo
    argTypes:
    - rd_kafka_oauthbearer_assertion_algorithm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: rd_kafka_oidc_assertion_get_algo_label
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_oidc_assertion_get_algo_label(\n    const rd_kafka_oauthbearer_assertion_algorithm_t
      token_signing_algo)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_file_read
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:276,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:278,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:285,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:287,1
    - Dst: cJSON_Parse
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:291,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:293,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:298,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:299,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:302,1
    - Dst: cJSON_Duplicate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:308,1
    - Dst: cJSON_Duplicate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:309,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:312,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:315,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:325,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:327,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - rk
    - jwt_template_file_path
    - header
    - payload
    argTypes:
    - rd_kafka_t*
    - char*
    - cJSON**
    - cJSON**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 330
    functionName: rd_kafka_oidc_assertion_parse_template_file
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - cJSON_GetObjectItem
    - rd_free
    - rd_file_read
    - cJSON_Duplicate
    - cJSON_Delete
    - cJSON_Parse
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_oidc_assertion_parse_template_file(rd_kafka_t *rk,\n
      \                                           const char *jwt_template_file_path,\n
      \                                           cJSON **header,\n                                            cJSON
      **payload)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:392,1
    - Dst: rd_kafka_oidc_assertion_parse_template_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:397,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:400,1
    - Dst: cJSON_CreateObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:406,1
    - Dst: cJSON_CreateObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:407,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:411,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:412,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:413,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:414,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:415,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:416,1
    - Dst: rd_kafka_oidc_assertion_get_algo_label
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:418,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:419,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:422,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:423,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:425,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:428,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:430,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:434,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:436,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:440,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:442,1
    - Dst: rd_kafka_Uuid_random
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:446,1
    - Dst: rd_kafka_Uuid_str
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:447,1
    - Dst: cJSON_DeleteItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:448,1
    - Dst: cJSON_AddStringToObject
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:450,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:451,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:454,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:455,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:458,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:464,1
    - Dst: rd_base64_encode_str_urlsafe
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:465,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:468,1
    - Dst: rd_base64_encode_str_urlsafe
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:469,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:474,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:474,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:475,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:479,1
    - Dst: BIO_new_mem_buf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:483,1
    - Dst: BIO_new_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:485,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:489,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:495,1
    - Dst: PEM_read_bio_PrivateKey
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:498,1
    - Dst: BIO_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:500,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:504,1
    - Dst: EVP_MD_CTX_new
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:508,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:510,1
    - Dst: EVP_sha256
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:515,1
    - Dst: EVP_DigestSignInit
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:517,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:518,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:523,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:524,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:525,1
    - Dst: EVP_DigestSignFinal
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:531,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:532,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:537,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:539,1
    - Dst: EVP_DigestSignFinal
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:544,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:545,1
    - Dst: rd_base64_encode_str_urlsafe
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:551,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:556,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:556,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:557,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:558,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:561,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:566,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:568,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:570,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:572,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:574,1
    - Dst: free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:578,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:580,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:582,1
    - Dst: free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:587,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:589,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:591,1
    - Dst: EVP_PKEY_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:595,1
    - Dst: EVP_MD_CTX_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:597,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 159
    argCount: 12
    argNames:
    - rk
    - private_key_pem
    - key_file_location
    - passphrase
    - token_signing_algo
    - jwt_template_file
    - subject
    - issuer
    - audience
    - nbf
    - exp
    - jti_include
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    - char*
    - rd_kafka_oauthbearer_assertion_algorithm_t
    - char*
    - char*
    - char*
    - char*
    - int
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 600
    functionName: rd_kafka_oidc_assertion_create
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - EVP_DigestSignFinal
    - EVP_DigestSignUpdate
    - BIO_new_mem_buf
    - rd_snprintf
    - rd_base64_encode_str_urlsafe
    - cJSON_AddNumberToObject
    - BIO_new_file
    - rd_kafka_oidc_assertion_get_algo_label
    - cJSON_AddStringToObject
    - rd_uclock
    - rd_kafka_Uuid_str
    - PEM_read_bio_PrivateKey
    - rd_kafka_Uuid_random
    - rd_kafka_oidc_assertion_parse_template_file
    - EVP_MD_CTX_new
    - EVP_PKEY_free
    - EVP_MD_CTX_free
    - BIO_free
    - cJSON_PrintUnformatted
    - rd_kafka_log
    - rd_free
    - EVP_DigestSignInit
    - free
    - cJSON_Delete
    - cJSON_CreateObject
    - rd_malloc
    - EVP_sha256
    - cJSON_DeleteItemFromObjectCaseSensitive
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_oidc_assertion_create(\n    rd_kafka_t *rk,\n    const
      char *private_key_pem,\n    const char *key_file_location,\n    const char *passphrase,\n
      \   const rd_kafka_oauthbearer_assertion_algorithm_t token_signing_algo,\n    const
      char *jwt_template_file,\n    const char *subject,\n    const char *issuer,\n
      \   const char *audience,\n    const int nbf,\n    const int exp,\n    const
      rd_bool_t jti_include)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:623,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:623,1
    - Dst: curl_easy_escape
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:627,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:628,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:628,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:631,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:633,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:635,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - assertion
    - scope
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 641
    functionName: rd_kafka_oidc_jwt_bearer_build_request_body
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_snprintf
    - curl_easy_escape
    - rd_malloc
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_oidc_jwt_bearer_build_request_body(const char *assertion,\n
      \                                                        const char *scope)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_file_read
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: rd_kafka_oidc_assertion_read_from_file
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_file_read
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_oidc_assertion_read_from_file(const char *file_path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:686,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:689,1
    - Dst: cJSON_GetStringValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:694,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:696,1
    - Dst: rd_kafka_jwt_b64_decode_payload
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:702,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:704,1
    - Dst: cJSON_Parse
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:709,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:711,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:716,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:718,1
    - Dst: cJSON_GetNumberValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:724,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:726,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:732,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:734,1
    - Dst: cJSON_GetStringValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:740,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:742,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:747,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:750,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:752,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 6
    argNames:
    - json
    - field
    - sub
    - exp
    - errstr
    - errstr_size
    argTypes:
    - cJSON*
    - char*
    - char**
    - double*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 757
    functionName: rd_kafka_oidc_token_try_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - rd_free
    - rd_kafka_jwt_b64_decode_payload
    - rd_snprintf
    - cJSON_Delete
    - cJSON_GetStringValue
    - cJSON_Parse
    - rd_strdup
    - cJSON_GetNumberValue
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_oidc_token_try_validate(cJSON *json,\n                                              const
      char *field,\n                                              char **sub,\n                                              double
      *exp,\n                                              char *errstr,\n                                              size_t
      errstr_size)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:792,1
    - Dst: rd_kafka_oidc_assertion_read_from_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:796,1
    - Dst: rd_kafka_oidc_assertion_create
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:799,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:815,1
    - Dst: rd_kafka_oidc_jwt_bearer_build_request_body
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:820,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:824,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:829,1
    - Dst: curl_slist_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:831,1
    - Dst: rd_http_post_expect_json
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:833,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:835,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:838,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:839,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:844,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:845,1
    - Dst: rd_kafka_oidc_token_try_validate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:860,1
    - Dst: rd_kafka_oidc_token_try_validate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:864,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:869,1
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:876,1
    - Dst: rd_kafka_conf_kv_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:879,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:884,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:889,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:893,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:894,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:895,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:896,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:897,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:898,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:899,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 770
    functionDepth: 5
    functionLinenumber: 770
    functionLinenumberEnd: 901
    functionName: rd_kafka_oidc_token_jwt_bearer_refresh_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_http_post_expect_json
    - rd_kafka_log
    - rd_http_error_destroy
    - rd_string_split
    - curl_slist_append
    - rd_kafka_terminating
    - rd_kafka_oauthbearer_set_token_failure
    - rd_kafka_oidc_assertion_read_from_file
    - rd_kafka_oidc_jwt_bearer_build_request_body
    - rd_kafka_oidc_token_try_validate
    - rd_kafka_oidc_assertion_create
    - rd_kafka_conf_kv_split
    - strlen
    - RD_IF_FREE
    - unlikely
    - rd_kafka_oauthbearer_set_token
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oidc_token_jwt_bearer_refresh_cb(rd_kafka_t *rk,\n                                               const
      char *oauthbearer_config,\n                                               void
      *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:940,1
    - Dst: rd_kafka_oidc_client_credentials_build_headers
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:943,1
    - Dst: rd_kafka_oidc_client_credentials_build_post_fields
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:948,1
    - Dst: rd_http_post_expect_json
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:954,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:958,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:959,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:963,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:964,1
    - Dst: rd_kafka_oidc_token_try_validate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:968,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:972,1
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:978,1
    - Dst: rd_kafka_conf_kv_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:981,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:986,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:991,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:994,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:995,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:996,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:997,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:998,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 909
    functionDepth: 5
    functionLinenumber: 909
    functionLinenumberEnd: 1000
    functionName: rd_kafka_oidc_token_client_credentials_refresh_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_http_post_expect_json
    - rd_kafka_log
    - rd_http_error_destroy
    - rd_string_split
    - rd_kafka_terminating
    - RD_IF_FREE
    - rd_kafka_oauthbearer_set_token_failure
    - rd_kafka_oidc_client_credentials_build_post_fields
    - rd_kafka_conf_kv_split
    - rd_kafka_oidc_token_try_validate
    - rd_kafka_oidc_client_credentials_build_headers
    - unlikely
    - rd_kafka_oauthbearer_set_token
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oidc_token_client_credentials_refresh_cb(\n    rd_kafka_t
      *rk,\n    const char *oauthbearer_config,\n    void *opaque)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1041,1
    - Dst: rd_kafka_conf_kv_get
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1045,1
    - Dst: rd_http_get_params_append
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1053,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1057,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1063,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1065,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1070,1
    - Dst: rd_http_get_json
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1073,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1076,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1077,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1081,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1082,1
    - Dst: rd_kafka_oidc_token_try_validate
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1086,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1090,1
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1096,1
    - Dst: rd_kafka_conf_kv_split
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1099,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1104,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1109,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1112,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1113,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1114,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1115,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1116,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1117,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1009
    functionDepth: 6
    functionLinenumber: 1009
    functionLinenumberEnd: 1119
    functionName: rd_kafka_oidc_token_metadata_azure_imds_refresh_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_http_error_destroy
    - rd_string_split
    - rd_snprintf
    - rd_kafka_terminating
    - rd_kafka_oauthbearer_set_token_failure
    - rd_http_get_json
    - rd_http_get_params_append
    - rd_kafka_conf_kv_get
    - rd_kafka_conf_kv_split
    - rd_kafka_oidc_token_try_validate
    - rd_strdup
    - RD_IF_FREE
    - unlikely
    - rd_kafka_oauthbearer_set_token
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_oidc_token_metadata_azure_imds_refresh_cb(\n    rd_kafka_t
      *rk,\n    const char *oauthbearer_config,\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1156,1
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1158,1
    - Dst: rd_http_req_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1160,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1162,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1167,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1167,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1169,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1170,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1172,1
    - Dst: rd_http_parse_json
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1174,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1175,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1180,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1182,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1184,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1187,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1187,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1192,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1193,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1194,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1195,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1196,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1199
    functionName: ut_sasl_oauthbearer_oidc_should_succeed
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - rd_free
    - rd_buf_write
    - rd_http_error_destroy
    - rd_snprintf
    - rd_http_req_init
    - cJSON_Delete
    - rd_calloc
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - strcmp
    - rd_http_req_destroy
    - rd_http_parse_json
    - rd_malloc
    - RD_UT_PASS
    - strlen
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_should_succeed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1213,1
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1215,1
    - Dst: rd_http_req_init
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1217,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1218,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1223,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1225,1
    - Dst: rd_http_parse_json
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1227,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1229,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1234,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1236,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1238,1
    - Dst: rd_http_req_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1241,1
    - Dst: rd_http_error_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1242,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1243,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1244,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1245,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1206
    functionDepth: 3
    functionLinenumber: 1206
    functionLinenumberEnd: 1247
    functionName: ut_sasl_oauthbearer_oidc_with_empty_key
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - rd_http_error_destroy
    - rd_buf_write
    - rd_free
    - rd_http_req_init
    - cJSON_Delete
    - rd_calloc
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - rd_http_req_destroy
    - rd_http_parse_json
    - RD_UT_PASS
    - strlen
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_with_empty_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1257,1
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1263,1
    - Dst: rd_kafka_oidc_client_credentials_build_post_fields
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1265,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1268,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1272,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1272,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1277,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1280
    functionName: ut_sasl_oauthbearer_oidc_post_fields
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_oidc_client_credentials_build_post_fields
    - strlen
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_post_fields(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1290,1
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1296,1
    - Dst: rd_kafka_oidc_client_credentials_build_post_fields
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1298,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1301,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1305,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1305,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1310,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1285
    functionDepth: 2
    functionLinenumber: 1285
    functionLinenumberEnd: 1313
    functionName: ut_sasl_oauthbearer_oidc_post_fields_with_empty_scope
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_oidc_client_credentials_build_post_fields
    - strlen
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_post_fields_with_empty_scope(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_sasl_oauthbearer_oidc_should_succeed
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1322,1
    - Dst: ut_sasl_oauthbearer_oidc_with_empty_key
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1323,1
    - Dst: ut_sasl_oauthbearer_oidc_post_fields
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1324,1
    - Dst: ut_sasl_oauthbearer_oidc_post_fields_with_empty_scope
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1327
    functionName: unittest_sasl_oauthbearer_oidc
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - ut_sasl_oauthbearer_oidc_with_empty_key
    - ut_sasl_oauthbearer_oidc_post_fields_with_empty_scope
    - ut_sasl_oauthbearer_oidc_post_fields
    - ut_sasl_oauthbearer_oidc_should_succeed
    linkageType: ''
    returnType: int
    signature: int unittest_sasl_oauthbearer_oidc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1359,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1361,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1364,1
    - Dst: rd_base64_encode_str_urlsafe
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1365,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1367,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1371,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1371,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1375,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1379
    functionName: ut_sasl_oauthbearer_oidc_jwt_bearer_base64url_encode
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_base64_encode_str_urlsafe
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - strlen
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_jwt_bearer_base64url_encode(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1394,1
    - Dst: rd_kafka_oidc_jwt_bearer_build_request_body
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1396,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1398,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1400,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1400,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1404,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1386
    functionDepth: 2
    functionLinenumber: 1386
    functionLinenumberEnd: 1407
    functionName: ut_sasl_oauthbearer_oidc_jwt_bearer_build_request_body
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - rd_kafka_oidc_jwt_bearer_build_request_body
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_jwt_bearer_build_request_body(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1420,1
    - Dst: rd_file_mkstemp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1422,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1424,1
    - Dst: fclose
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1425,1
    - Dst: rd_kafka_oidc_assertion_read_from_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1428,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1429,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1431,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1431,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1435,1
    - Dst: rd_kafka_oidc_assertion_read_from_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1438,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1439,1
    - Dst: rd_kafka_oidc_assertion_read_from_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1443,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1444,1
    - Dst: remove
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1447,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1413
    functionDepth: 2
    functionLinenumber: 1413
    functionLinenumberEnd: 1450
    functionName: ut_sasl_oauthbearer_oidc_assertion_parse_from_file
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - fclose
    - fprintf
    - rd_free
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - rd_kafka_oidc_assertion_read_from_file
    - RD_UT_PASS
    - rd_file_mkstemp
    - remove
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_assertion_parse_from_file(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_file_mkstemp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1471,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1476,1
    - Dst: fclose
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1477,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1480
    functionName: ut_create_mock_jwt_template_file
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_file_mkstemp
    - fprintf
    - rd_strdup
    - fclose
    linkageType: ''
    returnType: char
    signature: char *ut_create_mock_jwt_template_file(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1493,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1495,1
    - Dst: ut_create_mock_jwt_template_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1497,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1498,1
    - Dst: rd_kafka_oidc_assertion_parse_template_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1501,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1503,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1504,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1505,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1508,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1509,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1510,1
    - Dst: cJSON_IsString
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1510,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1511,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1511,1
    - Dst: cJSON_GetStringValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1511,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1515,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1516,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1517,1
    - Dst: cJSON_IsString
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1517,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1518,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1518,1
    - Dst: cJSON_GetStringValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1518,1
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1521,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1522,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1523,1
    - Dst: cJSON_IsString
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1523,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1524,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1524,1
    - Dst: cJSON_GetStringValue
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1524,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1528,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1529,1
    - Dst: rd_kafka_oidc_assertion_parse_template_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1533,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1535,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1536,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1538,1
    - Dst: unlink
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1541,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1542,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1543,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1545,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1547,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1550
    functionName: ut_sasl_oauthbearer_oidc_assertion_process_template_file
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - unlink
    - cJSON_GetObjectItem
    - rd_free
    - ut_create_mock_jwt_template_file
    - rd_kafka_oidc_assertion_parse_template_file
    - cJSON_Delete
    - rd_calloc
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - cJSON_IsString
    - strcmp
    - cJSON_GetStringValue
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_assertion_process_template_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1564,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1566,1
    - Dst: rd_kafka_oidc_assertion_create
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1599,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1604,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1606,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1607,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1609,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1610,1
    - Dst: rd_strndup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1612,1
    - Dst: rd_strndup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1613,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1614,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1616,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1616,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1617,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1617,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1618,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1618,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1620,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1620,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1622,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1622,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1624,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1624,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1627,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1627,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1629,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1629,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1631,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1631,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1633,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1633,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1635,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1635,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1637,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1637,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1640,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1641,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1642,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1643,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1644,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1557
    functionDepth: 3
    functionLinenumber: 1557
    functionLinenumberEnd: 1647
    functionName: ut_sasl_oauthbearer_oidc_assertion_create
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_strndup
    - rd_calloc
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - RD_UT_PASS
    - strchr
    - rd_kafka_oidc_assertion_create
    - strlen
    - rd_strdup
    linkageType: ''
    returnType: int
    signature: int ut_sasl_oauthbearer_oidc_assertion_create(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_sasl_oauthbearer_oidc_jwt_bearer_base64url_encode
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1652,1
    - Dst: ut_sasl_oauthbearer_oidc_jwt_bearer_build_request_body
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1649
    functionDepth: 3
    functionLinenumber: 1649
    functionLinenumberEnd: 1656
    functionName: unittest_sasl_oauthbearer_oidc_jwt_bearer
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - ut_sasl_oauthbearer_oidc_jwt_bearer_base64url_encode
    - ut_sasl_oauthbearer_oidc_jwt_bearer_build_request_body
    linkageType: ''
    returnType: int
    signature: int unittest_sasl_oauthbearer_oidc_jwt_bearer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_sasl_oauthbearer_oidc_assertion_parse_from_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1661,1
    - Dst: ut_sasl_oauthbearer_oidc_assertion_process_template_file
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1662,1
    - Dst: ut_sasl_oauthbearer_oidc_assertion_create
      Src: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1658
    functionDepth: 4
    functionLinenumber: 1658
    functionLinenumberEnd: 1666
    functionName: unittest_sasl_oauthbearer_oidc_assertion
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    functionUses: 0
    functionsReached:
    - ut_sasl_oauthbearer_oidc_assertion_create
    - ut_sasl_oauthbearer_oidc_assertion_process_template_file
    - ut_sasl_oauthbearer_oidc_assertion_parse_from_file
    linkageType: ''
    returnType: int
    signature: int unittest_sasl_oauthbearer_oidc_assertion(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: _RK
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RK(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: _RKT
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RKT(field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prop
    argTypes:
    - struct rd_kafka_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: rd_kafka_prop2idx
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_prop2idx(const struct rd_kafka_property *prop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_prop2idx
      Src: /src/librdkafka/src/rdkafka_conf.c:266,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:271,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - prop
    - is_modified
    argTypes:
    - void*
    - struct rd_kafka_property*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: rd_kafka_anyconf_set_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_prop2idx
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_anyconf_set_modified(void *conf,\n                                          const
      struct rd_kafka_property *prop,\n                                          int
      is_modified)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_conf.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: rd_kafka_anyconf_clear_all_is_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void rd_kafka_anyconf_clear_all_is_modified(void *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_prop2idx
      Src: /src/librdkafka/src/rdkafka_conf.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - prop
    argTypes:
    - void*
    - struct rd_kafka_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: rd_kafka_anyconf_is_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_prop2idx
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_anyconf_is_modified(const void *conf,\n                             const
      struct rd_kafka_property *prop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - conf
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 317
    functionName: rd_kafka_anyconf_is_any_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - RD_ARRAYSIZE
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_anyconf_is_any_modified(const void *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_get_legacy_ApiVersions
      Src: /src/librdkafka/src/rdkafka_conf.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - prop
    - val
    - ival
    argTypes:
    - struct rd_kafka_property*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: rd_kafka_conf_validate_broker_version
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_get_legacy_ApiVersions
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_conf_validate_broker_version(const struct rd_kafka_property
      *prop,\n                                      const char *val,\n                                      int
      ival)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_conf.c:340,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_conf.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - prop
    - val
    - ival
    argTypes:
    - struct rd_kafka_property*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: rd_kafka_conf_validate_single
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_conf_validate_single(const struct rd_kafka_property
      *prop,\n                              const char *val,\n                              int
      ival)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:350,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:350,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:351,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:351,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:352,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:352,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - prop
    - val
    - ival
    argTypes:
    - struct rd_kafka_property*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: rd_kafka_conf_validate_partitioner
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_conf_validate_partitioner(const struct rd_kafka_property
      *prop,\n                                   const char *val,\n                                   int
      ival)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:1900,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - scope
    - name
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1914
    functionName: rd_kafka_conf_prop_find
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: struct rd_kafka_property
    signature: "struct rd_kafka_property *rd_kafka_conf_prop_find(int scope,\n                                                        const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_prop_find
      Src: /src/librdkafka/src/rdkafka_conf.c:1925,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_conf.c:1926,1
    - Dst: rd_kafka_anyconf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:1928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - name
    argTypes:
    - rd_kafka_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1921
    functionDepth: 2
    functionLinenumber: 1921
    functionLinenumberEnd: 1929
    functionName: rd_kafka_conf_is_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_prop_find
    - RD_BUG
    - rd_kafka_anyconf_is_modified
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_conf_is_modified(const rd_kafka_conf_t *conf,\n
      \                                   const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_prop_find
      Src: /src/librdkafka/src/rdkafka_conf.c:1942,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_conf.c:1943,1
    - Dst: rd_kafka_anyconf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:1946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - conf
    - name
    argTypes:
    - rd_kafka_topic_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 1947
    functionName: rd_kafka_topic_conf_is_modified
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_prop_find
    - RD_BUG
    - rd_kafka_anyconf_is_modified
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_conf_is_modified(const rd_kafka_topic_conf_t
      *conf,\n                                const char *name)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:1969,1
    - Dst: struct rd_kafka_property*::set
      Src: /src/librdkafka/src/rdkafka_conf.c:1979,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:1980,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:1991,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:1993,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:1995,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:1997,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2002,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2004,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2006,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2008,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2013,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2019,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2040,1
    - Dst: strtod
      Src: /src/librdkafka/src/rdkafka_conf.c:2043,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2045,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2057,1
    - Dst: rd_kafka_pattern_list_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2060,1
    - Dst: rd_kafka_pattern_list_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2063,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2077,1
    - Dst: rd_kafka_anyconf_set_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:2081,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 8
    argNames:
    - scope
    - conf
    - prop
    - istr
    - ival
    - set_mode
    - errstr
    - errstr_size
    argTypes:
    - int
    - void*
    - struct rd_kafka_property*
    - char*
    - int
    - rd_kafka_conf_set_mode_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 1951
    functionDepth: 18
    functionLinenumber: 1951
    functionLinenumberEnd: 2083
    functionName: rd_kafka_anyconf_set_prop0
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafkap_str_new
    - rd_assert
    - rd_kafka_pattern_list_destroy
    - _RK_PTR
    - rd_kafka_anyconf_set_modified
    - struct rd_kafka_property*::set
    - rd_kafkap_str_destroy
    - rd_kafka_interceptors_on_conf_set
    - rd_kafka_pattern_list_new
    - rd_kafka_assert
    - strtod
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_anyconf_set_prop0(int scope,\n                           void
      *conf,\n                           const struct rd_kafka_property *prop,\n                           const
      char *istr,\n                           int ival,\n                           rd_kafka_conf_set_mode_t
      set_mode,\n                           char *errstr,\n                           size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TYPE
    - ','
    - BASE
    - ','
    - OFFSET
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1963
    functionName: _RK_PTR
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _RK_PTR(TYPE, BASE, OFFSET)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:2094,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - prop
    - value
    argTypes:
    - struct rd_kafka_property*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2100
    functionName: rd_kafka_conf_s2i_find
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - RD_ARRAYSIZE
    - rd_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_conf_s2i_find(const struct rd_kafka_property *prop,\n
      \                                 const char *value)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2121,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_conf.c:2132,1
    - Dst: rd_kafka_conf_s2i_find
      Src: /src/librdkafka/src/rdkafka_conf.c:2140,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2142,1
    - Dst: struct rd_kafka_property*::validate
      Src: /src/librdkafka/src/rdkafka_conf.c:2156,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2157,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2164,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2172,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2178,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2184,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2192,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2193,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2193,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2195,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2196,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2196,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2199,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2206,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2215,1
    - Dst: strtol
      Src: /src/librdkafka/src/rdkafka_conf.c:2223,1
    - Dst: rd_kafka_conf_s2i_find
      Src: /src/librdkafka/src/rdkafka_conf.c:2226,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2229,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2237,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2249,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2256,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2267,1
    - Dst: strtod
      Src: /src/librdkafka/src/rdkafka_conf.c:2275,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2277,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2285,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2292,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2304,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_conf.c:2320,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2325,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_conf.c:2331,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_conf.c:2335,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:2354,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2360,1
    - Dst: rd_strncasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2362,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2369,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2379,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:2393,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2397,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2407,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2413,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2417,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 150
    argCount: 7
    argNames:
    - scope
    - conf
    - prop
    - value
    - allow_specific
    - errstr
    - errstr_size
    argTypes:
    - int
    - void*
    - struct rd_kafka_property*
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2110
    functionDepth: 19
    functionLinenumber: 2110
    functionLinenumberEnd: 2422
    functionName: rd_kafka_anyconf_set_prop
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_strncasecmp
    - isspace
    - rd_snprintf
    - strtol
    - strcmp
    - rd_kafka_anyconf_set_prop0
    - rd_strcasecmp
    - RD_ARRAYSIZE
    - struct rd_kafka_property*::validate
    - rd_kafka_conf_s2i_find
    - strchr
    - strlen
    - strtod
    - rd_kafka_assert
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_anyconf_set_prop(int scope,\n                          void
      *conf,\n                          const struct rd_kafka_property *prop,\n                          const
      char *value,\n                          int allow_specific,\n                          char
      *errstr,\n                          size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_property*::ctor
      Src: /src/librdkafka/src/rdkafka_conf.c:2437,1
    - Dst: rd_dbl_zero
      Src: /src/librdkafka/src/rdkafka_conf.c:2440,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - scope
    - conf
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2426
    functionDepth: 19
    functionLinenumber: 2426
    functionLinenumberEnd: 2446
    functionName: rd_kafka_defaultconf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_dbl_zero
    - rd_kafka_anyconf_set_prop0
    - struct rd_kafka_property*::ctor
    linkageType: ''
    returnType: void
    signature: void rd_kafka_defaultconf_set(int scope, void *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_conf.c:2449,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2450,1
    - Dst: rd_kafka_defaultconf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:2452,1
    - Dst: rd_kafka_anyconf_clear_all_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:2453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2455
      start: 2448
    functionDepth: 20
    functionLinenumber: 2448
    functionLinenumberEnd: 2455
    functionName: rd_kafka_conf_new
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 24
    functionsReached:
    - rd_kafka_defaultconf_set
    - rd_assert
    - rd_calloc
    - rd_kafka_anyconf_clear_all_is_modified
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: rd_kafka_conf_t *rd_kafka_conf_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_conf.c:2458,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2459,1
    - Dst: rd_kafka_defaultconf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:2461,1
    - Dst: rd_kafka_anyconf_clear_all_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:2462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2457
    functionDepth: 20
    functionLinenumber: 2457
    functionLinenumberEnd: 2464
    functionName: rd_kafka_topic_conf_new
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 6
    functionsReached:
    - rd_kafka_defaultconf_set
    - rd_assert
    - rd_calloc
    - rd_kafka_anyconf_clear_all_is_modified
    linkageType: ''
    returnType: rd_kafka_topic_conf_t
    signature: rd_kafka_topic_conf_t *rd_kafka_topic_conf_new(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:2487,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2502,1
    - Dst: rd_kafka_anyconf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:2506,1
    - Dst: rd_kafka_anyconf_set_prop
      Src: /src/librdkafka/src/rdkafka_conf.c:2509,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - scope
    - conf
    - name
    - value
    - errstr
    - errstr_size
    argTypes:
    - int
    - void*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2467
    functionDepth: 20
    functionLinenumber: 2467
    functionLinenumberEnd: 2518
    functionName: rd_kafka_anyconf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - strcmp
    - rd_kafka_interceptors_on_conf_set
    - rd_kafka_anyconf_set_prop
    - rd_kafka_anyconf_set
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_anyconf_set(int scope,\n                                void
      *conf,\n                                const char *name,\n                                const
      char *value,\n                                char *errstr,\n                                size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2576,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2576,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2577,1
    - Dst: rd_kafka_anyconf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:2579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - conf
    - name
    - value
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_topic_conf_t*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2571
    functionDepth: 21
    functionLinenumber: 2571
    functionLinenumberEnd: 2581
    functionName: rd_kafka_topic_conf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 13
    functionsReached:
    - strlen
    - rd_kafka_anyconf_set
    - strncmp
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_topic_conf_set(rd_kafka_topic_conf_t
      *conf,\n                                            const char *name,\n                                            const
      char *value,\n                                            char *errstr,\n                                            size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2593,1
    - Dst: SecureZeroMemory
      Src: /src/librdkafka/src/rdkafka_conf.c:2594,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_conf.c:2605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2606
    functionName: rd_kafka_desensitize_str
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - strlen
    - memcpy
    - SecureZeroMemory
    linkageType: ''
    returnType: void
    signature: void rd_kafka_desensitize_str(char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_conf.c:2617,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2622,1
    - Dst: rd_kafka_desensitize_str
      Src: /src/librdkafka/src/rdkafka_conf.c:2624,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - scope
    - conf
    - prop
    argTypes:
    - int
    - void*
    - struct rd_kafka_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2639
      start: 2613
    functionDepth: 1
    functionLinenumber: 2613
    functionLinenumberEnd: 2639
    functionName: rd_kafka_anyconf_prop_desensitize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - _RK_PTR
    - rd_kafka_desensitize_str
    - likely
    - rd_assert
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_anyconf_prop_desensitize(int scope,\n                                  void
      *conf,\n                                  const struct rd_kafka_property *prop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_prop_desensitize
      Src: /src/librdkafka/src/rdkafka_conf.c:2652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - scope
    - conf
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2645
    functionDepth: 2
    functionLinenumber: 2645
    functionLinenumberEnd: 2654
    functionName: rd_kafka_anyconf_desensitize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_prop_desensitize
    linkageType: ''
    returnType: void
    signature: void rd_kafka_anyconf_desensitize(int scope, void *conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_desensitize
      Src: /src/librdkafka/src/rdkafka_conf.c:2661,1
    - Dst: rd_kafka_anyconf_desensitize
      Src: /src/librdkafka/src/rdkafka_conf.c:2662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2659
    functionDepth: 3
    functionLinenumber: 2659
    functionLinenumberEnd: 2663
    functionName: rd_kafka_conf_desensitize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_desensitize
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_desensitize(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_desensitize
      Src: /src/librdkafka/src/rdkafka_conf.c:2669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tconf
    argTypes:
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2668
    functionDepth: 3
    functionLinenumber: 2668
    functionLinenumberEnd: 2670
    functionName: rd_kafka_topic_conf_desensitize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_desensitize
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_conf_desensitize(rd_kafka_topic_conf_t *tconf)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_prop_desensitize
      Src: /src/librdkafka/src/rdkafka_conf.c:2677,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2681,1
    - Dst: struct rd_kafka_property*::set
      Src: /src/librdkafka/src/rdkafka_conf.c:2685,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:2689,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2696,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2698,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2705,1
    - Dst: rd_kafka_pattern_list_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2707,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2713,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2714,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2717,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2720,1
    - Dst: struct rd_kafka_property*::dtor
      Src: /src/librdkafka/src/rdkafka_conf.c:2732,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - scope
    - conf
    - prop
    argTypes:
    - int
    - void*
    - struct rd_kafka_property*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2673
    functionDepth: 6
    functionLinenumber: 2673
    functionLinenumberEnd: 2733
    functionName: rd_kafka_anyconf_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_pattern_list_destroy
    - _RK_PTR
    - strcmp
    - struct rd_kafka_property*::set
    - rd_kafkap_str_destroy
    - rd_kafka_topic_conf_destroy
    - struct rd_kafka_property*::dtor
    - rd_kafka_anyconf_prop_desensitize
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_anyconf_clear(int scope,\n                                   void
      *conf,\n                                   const struct rd_kafka_property *prop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_interceptors_on_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2740,1
    - Dst: rd_kafka_anyconf_clear
      Src: /src/librdkafka/src/rdkafka_conf.c:2746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - scope
    - conf
    argTypes:
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2735
    functionDepth: 7
    functionLinenumber: 2735
    functionLinenumberEnd: 2748
    functionName: rd_kafka_anyconf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_anyconf_clear
    - rd_kafka_interceptors_on_conf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_anyconf_destroy(int scope, void *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2752,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:2754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2751
    functionDepth: 8
    functionLinenumber: 2751
    functionLinenumberEnd: 2755
    functionName: rd_kafka_conf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 37
    functionsReached:
    - rd_free
    - rd_kafka_anyconf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_destroy(rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:2758,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:2759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - topic_conf
    argTypes:
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2757
    functionDepth: 8
    functionLinenumber: 2757
    functionLinenumberEnd: 2760
    functionName: rd_kafka_topic_conf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 6
    functionsReached:
    - rd_free
    - rd_kafka_anyconf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_conf_destroy(rd_kafka_topic_conf_t *topic_conf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:2788,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2793,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:2795,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2797,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2806,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:2808,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src/rdkafka_conf.c:2809,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2814,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2824,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:2828,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_conf.c:2829,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:2830,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:2836,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_conf.c:2837,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:2838,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2843,1
    - Dst: struct rd_kafka_property*::copy
      Src: /src/librdkafka/src/rdkafka_conf.c:2857,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2858,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:2859,1
    - Dst: rd_kafka_anyconf_set_prop0
      Src: /src/librdkafka/src/rdkafka_conf.c:2862,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 5
    argNames:
    - scope
    - dst
    - src
    - filter_cnt
    - filter
    argTypes:
    - int
    - void*
    - void*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2764
    functionDepth: 19
    functionLinenumber: 2764
    functionLinenumberEnd: 2865
    functionName: rd_kafka_anyconf_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - _RK_PTR
    - rd_kafka_topic_conf_dup
    - strcmp
    - rd_kafka_anyconf_is_modified
    - rd_alloca
    - struct rd_kafka_property*::copy
    - rd_kafka_anyconf_set_prop0
    - strncmp
    - strlen
    - rd_kafka_anyconf_get0
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_anyconf_copy(int scope,\n                                  void
      *dst,\n                                  const void *src,\n                                  size_t
      filter_cnt,\n                                  const char **filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2868
    functionDepth: 21
    functionLinenumber: 2868
    functionLinenumberEnd: 2876
    functionName: rd_kafka_conf_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 40
    functionsReached:
    - rd_kafka_conf_new
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: rd_kafka_conf_t *rd_kafka_conf_dup(const rd_kafka_conf_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - conf
    - filter_cnt
    - filter
    argTypes:
    - rd_kafka_conf_t*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2888
      start: 2878
    functionDepth: 21
    functionLinenumber: 2878
    functionLinenumberEnd: 2888
    functionName: rd_kafka_conf_dup_filter
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_new
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: "rd_kafka_conf_t *rd_kafka_conf_dup_filter(const rd_kafka_conf_t *conf,\n
      \                                         size_t filter_cnt,\n                                          const
      char **filter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2898
      start: 2891
    functionDepth: 21
    functionLinenumber: 2891
    functionLinenumberEnd: 2898
    functionName: rd_kafka_topic_conf_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 6
    functionsReached:
    - rd_kafka_topic_conf_new
    linkageType: ''
    returnType: rd_kafka_topic_conf_t
    signature: 'rd_kafka_topic_conf_t *

      rd_kafka_topic_conf_dup(const rd_kafka_topic_conf_t *conf)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src/rdkafka_conf.c:2902,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:2904,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2905
      start: 2900
    functionDepth: 22
    functionLinenumber: 2900
    functionLinenumberEnd: 2905
    functionName: rd_kafka_default_topic_conf_dup
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_conf_dup
    - rd_kafka_topic_conf_new
    linkageType: ''
    returnType: rd_kafka_topic_conf_t
    signature: rd_kafka_topic_conf_t *rd_kafka_default_topic_conf_dup(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:2909,1
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - conf
    - events
    argTypes:
    - rd_kafka_conf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 2911
    functionName: rd_kafka_conf_set_events
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 12
    functionsReached:
    - rd_kafka_anyconf_set_internal
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_set_events(rd_kafka_conf_t *conf, int events)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2918
    functionName: rd_kafka_conf_set_background_event_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_background_event_cb(\n    rd_kafka_conf_t *conf,\n
      \   void (*event_cb)(rd_kafka_t *rk, rd_kafka_event_t *rkev, void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2929
    functionName: rd_kafka_conf_set_dr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 12
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_dr_cb(rd_kafka_conf_t *conf,\n                             void
      (*dr_cb)(rd_kafka_t *rk,\n                                           void *payload,\n
      \                                          size_t len,\n                                           rd_kafka_resp_err_t
      err,\n                                           void *opaque,\n                                           void
      *msg_opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2932
    functionDepth: 0
    functionLinenumber: 2932
    functionLinenumberEnd: 2938
    functionName: rd_kafka_conf_set_dr_msg_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 58
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_dr_msg_cb(\n    rd_kafka_conf_t *conf,\n    void
      (*dr_msg_cb)(rd_kafka_t *rk,\n                      const rd_kafka_message_t
      *rkmessage,\n                      void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2946
      start: 2941
    functionDepth: 0
    functionLinenumber: 2941
    functionLinenumberEnd: 2946
    functionName: rd_kafka_conf_set_consume_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_consume_cb(\n    rd_kafka_conf_t *conf,\n    void
      (*consume_cb)(rd_kafka_message_t *rkmessage, void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2948
    functionDepth: 0
    functionLinenumber: 2948
    functionLinenumberEnd: 2956
    functionName: rd_kafka_conf_set_rebalance_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 8
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_rebalance_cb(\n    rd_kafka_conf_t *conf,\n
      \   void (*rebalance_cb)(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2966
    functionName: rd_kafka_conf_set_offset_commit_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 4
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_offset_commit_cb(\n    rd_kafka_conf_t *conf,\n
      \   void (*offset_commit_cb)(rd_kafka_t *rk,\n                             rd_kafka_resp_err_t
      err,\n                             rd_kafka_topic_partition_list_t *offsets,\n
      \                            void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 2976
    functionName: rd_kafka_conf_set_error_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 8
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_error_cb(rd_kafka_conf_t *conf,\n                                void
      (*error_cb)(rd_kafka_t *rk,\n                                                 int
      err,\n                                                 const char *reason,\n
      \                                                void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2987
    functionName: rd_kafka_conf_set_throttle_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_throttle_cb(rd_kafka_conf_t *conf,\n                                   void
      (*throttle_cb)(rd_kafka_t *rk,\n                                                       const
      char *broker_name,\n                                                       int32_t
      broker_id,\n                                                       int throttle_time_ms,\n
      \                                                      void *opaque))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:2997,1
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:2999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3000
    functionName: rd_kafka_conf_set_log_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 6
    functionsReached:
    - rd_assert
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_log_cb(rd_kafka_conf_t *conf,\n                              void
      (*log_cb)(const rd_kafka_t *rk,\n                                             int
      level,\n                                             const char *fac,\n                                             const
      char *buf))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3009
    functionName: rd_kafka_conf_set_stats_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 4
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_stats_cb(rd_kafka_conf_t *conf,\n                                int
      (*stats_cb)(rd_kafka_t *rk,\n                                                char
      *json,\n                                                size_t json_len,\n                                                void
      *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3011
    functionDepth: 0
    functionLinenumber: 3011
    functionLinenumberEnd: 3021
    functionName: rd_kafka_conf_set_oauthbearer_token_refresh_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_oauthbearer_token_refresh_cb(\n    rd_kafka_conf_t
      *conf,\n    void (*oauthbearer_token_refresh_cb)(rd_kafka_t *rk,\n                                         const
      char *oauthbearer_config,\n                                         void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - enable
    argTypes:
    - rd_kafka_conf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3026
    functionName: rd_kafka_conf_enable_sasl_queue
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_enable_sasl_queue(rd_kafka_conf_t *conf, int enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3032
    functionName: rd_kafka_conf_set_socket_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_socket_cb(\n    rd_kafka_conf_t *conf,\n    int
      (*socket_cb)(int domain, int type, int protocol, void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3042
    functionName: rd_kafka_conf_set_connect_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_connect_cb(rd_kafka_conf_t *conf,\n                                  int
      (*connect_cb)(int sockfd,\n                                                    const
      struct sockaddr *addr,\n                                                    int
      addrlen,\n                                                    const char *id,\n
      \                                                   void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3047,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3049
    functionName: rd_kafka_conf_set_closesocket_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_closesocket_cb(rd_kafka_conf_t *conf,\n                                      int
      (*closesocket_cb)(int sockfd,\n                                                            void
      *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3060
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3060
    functionName: rd_kafka_conf_set_open_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_open_cb(rd_kafka_conf_t *conf,\n                               int
      (*open_cb)(const char *pathname,\n                                              int
      flags,\n                                              mode_t mode,\n                                              void
      *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3072
    functionName: rd_kafka_conf_set_resolve_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_resolve_cb(\n    rd_kafka_conf_t *conf,\n    int
      (*resolve_cb)(const char *node,\n                      const char *service,\n
      \                     const struct addrinfo *hints,\n                      struct
      addrinfo **res,\n                      void *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3093
      start: 3074
    functionDepth: 0
    functionLinenumber: 3074
    functionLinenumberEnd: 3093
    functionName: rd_kafka_conf_set_ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_conf_set_ssl_cert_verify_cb(\n    rd_kafka_conf_t
      *conf,\n    int (*ssl_cert_verify_cb)(rd_kafka_t *rk,\n                              const
      char *broker_name,\n                              int32_t broker_id,\n                              int
      *x509_set_error,\n                              int depth,\n                              const
      char *buf,\n                              size_t size,\n                              char
      *errstr,\n                              size_t errstr_size,\n                              void
      *opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - opaque
    argTypes:
    - rd_kafka_conf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3098
    functionName: rd_kafka_conf_set_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 13
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_set_opaque(rd_kafka_conf_t *conf, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conf
    - callback_data
    argTypes:
    - rd_kafka_conf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3105
    functionName: rd_kafka_conf_set_engine_callback_data
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_engine_callback_data(rd_kafka_conf_t *conf,\n
      \                                           void *callback_data)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_is_any_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:3111,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:3113,1
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - conf
    - tconf
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3108
    functionDepth: 9
    functionLinenumber: 3108
    functionLinenumberEnd: 3118
    functionName: rd_kafka_conf_set_default_topic_conf
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 5
    functionsReached:
    - rd_kafka_anyconf_is_any_modified
    - rd_kafka_topic_conf_destroy
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_conf_set_default_topic_conf(rd_kafka_conf_t *conf,\n
      \                                         rd_kafka_topic_conf_t *tconf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3123
    functionName: rd_kafka_conf_get_default_topic_conf
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_conf_t
    signature: 'rd_kafka_topic_conf_t *

      rd_kafka_conf_get_default_topic_conf(rd_kafka_conf_t *conf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topic_conf
    argTypes:
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3136
    functionName: rd_kafka_topic_conf_set_partitioner_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 3
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_conf_set_partitioner_cb(\n    rd_kafka_topic_conf_t
      *topic_conf,\n    int32_t (*partitioner)(const rd_kafka_topic_t *rkt,\n                           const
      void *keydata,\n                           size_t keylen,\n                           int32_t
      partition_cnt,\n                           void *rkt_opaque,\n                           void
      *msg_opaque))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topic_conf
    argTypes:
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3144
    functionName: rd_kafka_topic_conf_set_msg_order_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_conf_set_msg_order_cmp(\n    rd_kafka_topic_conf_t
      *topic_conf,\n    int (*msg_order_cmp)(const rd_kafka_message_t *a,\n                         const
      rd_kafka_message_t *b))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_set_internal
      Src: /src/librdkafka/src/rdkafka_conf.c:3148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topic_conf
    - opaque
    argTypes:
    - rd_kafka_topic_conf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3149
    functionName: rd_kafka_topic_conf_set_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_anyconf_set_internal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_conf_set_opaque(rd_kafka_topic_conf_t *topic_conf,\n
      \                                   void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:3183,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:3194,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3197,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 6
    argNames:
    - dest
    - dest_size
    - delim
    - prop
    - ival
    - include_unsupported
    argTypes:
    - char*
    - size_t
    - char*
    - struct rd_kafka_property*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3169
    functionDepth: 1
    functionLinenumber: 3169
    functionLinenumberEnd: 3208
    functionName: rd_kafka_conf_flags2str
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_snprintf
    - RD_ARRAYSIZE
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_conf_flags2str(char *dest,\n                                      size_t
      dest_size,\n                                      const char *delim,\n                                      const
      struct rd_kafka_property *prop,\n                                      int ival,\n
      \                                     rd_bool_t include_unsupported)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3226,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3231,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3238,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3240,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3246,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3250,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3251,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3256,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3257,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:3262,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3264,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3272,1
    - Dst: rd_kafka_conf_flags2str
      Src: /src/librdkafka/src/rdkafka_conf.c:3274,1
    - Dst: _RK_PTR
      Src: /src/librdkafka/src/rdkafka_conf.c:3287,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:3306,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_conf.c:3309,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_conf.c:3310,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 4
    argNames:
    - conf
    - prop
    - dest
    - dest_size
    argTypes:
    - void*
    - struct rd_kafka_property*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3214
    functionDepth: 2
    functionLinenumber: 3214
    functionLinenumberEnd: 3318
    functionName: rd_kafka_anyconf_get0
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - RD_MIN
    - _RK_PTR
    - RD_ARRAYSIZE
    - strlen
    - rd_kafka_conf_flags2str
    - memcpy
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_anyconf_get0(const void *conf,\n                      const
      struct rd_kafka_property *prop,\n                      char *dest,\n                      size_t
      *dest_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:3330,1
    - Dst: rd_kafka_anyconf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:3334,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:3337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - scope
    - conf
    - name
    - dest
    - dest_size
    argTypes:
    - int
    - void*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3321
    functionDepth: 3
    functionLinenumber: 3321
    functionLinenumberEnd: 3343
    functionName: rd_kafka_anyconf_get
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_anyconf_get
    - strcmp
    - rd_kafka_anyconf_get0
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_anyconf_get(int scope,\n                                                const
      void *conf,\n                                                const char *name,\n
      \                                               char *dest,\n                                                size_t
      *dest_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:3349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - conf
    - name
    - dest
    - dest_size
    argTypes:
    - rd_kafka_topic_conf_t*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3345
    functionDepth: 4
    functionLinenumber: 3345
    functionLinenumberEnd: 3350
    functionName: rd_kafka_topic_conf_get
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 3
    functionsReached:
    - rd_kafka_anyconf_get
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_topic_conf_get(const rd_kafka_topic_conf_t
      *conf,\n                                            const char *name,\n                                            char
      *dest,\n                                            size_t *dest_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:3357,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:3364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - conf
    - name
    - dest
    - dest_size
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3352
    functionDepth: 5
    functionLinenumber: 3352
    functionLinenumberEnd: 3365
    functionName: rd_kafka_conf_get
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 5
    functionsReached:
    - rd_kafka_topic_conf_get
    - rd_kafka_anyconf_get
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_conf_get(const rd_kafka_conf_t *conf,\n
      \                                     const char *name,\n                                      char
      *dest,\n                                      size_t *dest_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_conf.c:3377,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:3377,1
    - Dst: rd_kafka_anyconf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:3386,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:3395,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:3398,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_conf.c:3404,1
    - Dst: rd_kafka_anyconf_get0
      Src: /src/librdkafka/src/rdkafka_conf.c:3405,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:3408,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3368
    functionDepth: 3
    functionLinenumber: 3368
    functionLinenumberEnd: 3415
    functionName: rd_kafka_anyconf_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - rd_kafka_anyconf_is_modified
    - RD_ARRAYSIZE
    - rd_malloc
    - rd_strdup
    - rd_kafka_anyconf_get0
    linkageType: ''
    returnType: char
    signature: "char **rd_kafka_anyconf_dump(int scope,\n                                          const
      void *conf,\n                                          size_t *cntp,\n                                          rd_bool_t
      only_modified,\n                                          rd_bool_t redact_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_dump
      Src: /src/librdkafka/src/rdkafka_conf.c:3419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3418
    functionDepth: 4
    functionLinenumber: 3418
    functionLinenumberEnd: 3421
    functionName: rd_kafka_conf_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_anyconf_dump
    linkageType: ''
    returnType: char
    signature: char **rd_kafka_conf_dump(rd_kafka_conf_t *conf, size_t *cntp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_dump
      Src: /src/librdkafka/src/rdkafka_conf.c:3425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3423
    functionDepth: 4
    functionLinenumber: 3423
    functionLinenumberEnd: 3427
    functionName: rd_kafka_topic_conf_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_anyconf_dump
    linkageType: ''
    returnType: char
    signature: "char **rd_kafka_topic_conf_dump(rd_kafka_topic_conf_t *conf,\n                                      size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3435,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - arr
    - cnt
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3438
      start: 3429
    functionDepth: 1
    functionLinenumber: 3429
    functionLinenumberEnd: 3438
    functionName: rd_kafka_conf_dump_free
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_dump_free(const char **arr, size_t cnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_dump
      Src: /src/librdkafka/src/rdkafka_conf.c:3454,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_conf.c:3457,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_conf.c:3459,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - scope
    - conf
    - description
    argTypes:
    - rd_kafka_t*
    - int
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3445
    functionDepth: 4
    functionLinenumber: 3445
    functionLinenumberEnd: 3462
    functionName: rd_kafka_anyconf_dump_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_dump_free
    - rd_kafka_dbg
    - rd_kafka_anyconf_dump
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_anyconf_dump_dbg(rd_kafka_t *rk,\n                               int
      scope,\n                               const void *conf,\n                               const
      char *description)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3487,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3491,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3502,1
    - Dst: rd_kafka_conf_prop_find
      Src: /src/librdkafka/src/rdkafka_conf.c:3508,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:3509,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3513,1
    - Dst: rd_kafka_conf_flags2str
      Src: /src/librdkafka/src/rdkafka_conf.c:3527,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3530,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3533,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3539,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3544,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3546,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3550,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3552,1
    - Dst: rd_kafka_conf_flags2str
      Src: /src/librdkafka/src/rdkafka_conf.c:3556,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3559,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:3561,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3563,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_conf.c:3567,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3568,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:3575,1
    - Dst: rd_kafka_conf_flags2str
      Src: /src/librdkafka/src/rdkafka_conf.c:3578,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3581,1
    - Dst: rd_kafka_conf_flags2str
      Src: /src/librdkafka/src/rdkafka_conf.c:3582,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3585,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3593,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3604,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3607,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3612,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3617,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3619,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3621,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3622,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3464
    functionDepth: 2
    functionLinenumber: 3464
    functionLinenumberEnd: 3623
    functionName: rd_kafka_conf_properties_show
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - fprintf
    - rd_assert
    - rd_snprintf
    - strcmp
    - RD_ARRAYSIZE
    - rd_kafka_conf_flags2str
    - rd_kafka_conf_prop_find
    linkageType: ''
    returnType: void
    signature: void rd_kafka_conf_properties_show(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - confval
    - name
    - vmin
    - vmax
    - vdef
    argTypes:
    - rd_kafka_confval_t*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3641
    functionDepth: 0
    functionLinenumber: 3641
    functionLinenumberEnd: 3653
    functionName: rd_kafka_confval_init_int
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_confval_init_int(rd_kafka_confval_t *confval,\n                               const
      char *name,\n                               int vmin,\n                               int
      vmax,\n                               int vdef)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - confval
    - name
    argTypes:
    - rd_kafka_confval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3665
      start: 3660
    functionDepth: 0
    functionLinenumber: 3660
    functionLinenumberEnd: 3665
    functionName: rd_kafka_confval_init_ptr
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_confval_init_ptr(rd_kafka_confval_t *confval, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - confval
    - name
    argTypes:
    - rd_kafka_confval_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3675
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3675
    functionName: rd_kafka_confval_disable
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_confval_disable(rd_kafka_confval_t *confval, const char
      *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3696,1
    - Dst: strtol
      Src: /src/librdkafka/src/rdkafka_conf.c:3719,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3721,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3729,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3739,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:3759,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3765,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:3772,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:3776,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3786,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:3788,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_conf.c:3796,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 5
    argNames:
    - confval
    - valuetype
    - valuep
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_confval_t*
    - rd_kafka_confval_type_t
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3689
    functionDepth: 1
    functionLinenumber: 3689
    functionLinenumberEnd: 3801
    functionName: rd_kafka_confval_set_type
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strtol
    - rd_snprintf
    - RD_NOTREACHED
    - strlen
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_confval_set_type(rd_kafka_confval_t *confval,\n
      \                                             rd_kafka_confval_type_t valuetype,\n
      \                                             const void *valuep,\n                                              char
      *errstr,\n                                              size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:3805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - confval
    argTypes:
    - rd_kafka_confval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3804
    functionDepth: 0
    functionLinenumber: 3804
    functionLinenumberEnd: 3807
    functionName: rd_kafka_confval_get_int
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: int
    signature: int rd_kafka_confval_get_int(const rd_kafka_confval_t *confval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:3811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - confval
    argTypes:
    - rd_kafka_confval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3813
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3813
    functionName: rd_kafka_confval_get_str
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_confval_get_str(const rd_kafka_confval_t *confval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:3816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - confval
    argTypes:
    - rd_kafka_confval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3818
    functionName: rd_kafka_confval_get_ptr
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_confval_get_ptr(const rd_kafka_confval_t *confval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3824
      start: 3821
    functionDepth: 0
    functionLinenumber: 3821
    functionLinenumberEnd: 3824
    functionName: _is_alphanum
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _is_alphanum(C)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_conf.c:3837,1
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3837,1
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3842,1
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3848
      start: 3828
    functionDepth: 1
    functionLinenumber: 3828
    functionLinenumberEnd: 3848
    functionName: rd_kafka_sw_str_is_safe
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - _is_alphanum
    - unlikely
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_sw_str_is_safe(const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3861,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_conf.c:3867,1
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3867,1
    - Dst: _is_alphanum
      Src: /src/librdkafka/src/rdkafka_conf.c:3877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3857
    functionDepth: 1
    functionLinenumber: 3857
    functionLinenumberEnd: 3879
    functionName: rd_kafka_sw_str_sanitize_inplace
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - _is_alphanum
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sw_str_sanitize_inplace(char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_conf.c:3906,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:3913,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_conf.c:3917,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_conf.c:3921,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_conf.c:3923,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_conf.c:3927,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_conf.c:3933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3941
      start: 3898
    functionDepth: 1
    functionLinenumber: 3898
    functionLinenumberEnd: 3941
    functionName: rd_kafka_conf_kv_split
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 3
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    - strchr
    linkageType: ''
    returnType: char
    signature: char **rd_kafka_conf_kv_split(const char **input, size_t incnt, size_t
      *cntp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdkafka_conf.c:3958,1
    - Dst: rd_kafka_conf_kv_split
      Src: /src/librdkafka/src/rdkafka_conf.c:3961,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:3965,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_conf.c:3966,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3970,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:3971,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - config
    - key
    - pairs_sep
    argTypes:
    - char*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3973
      start: 3948
    functionDepth: 2
    functionLinenumber: 3948
    functionLinenumberEnd: 3973
    functionName: rd_kafka_conf_kv_get
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_string_split
    - rd_strcmp
    - rd_kafka_conf_kv_split
    - rd_strdup
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_conf_kv_get(const char *config,\n                           const
      char *key,\n                           const char pairs_sep)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4035,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4044,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4054,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4088
      start: 3975
    functionDepth: 3
    functionLinenumber: 3975
    functionLinenumberEnd: 4088
    functionName: rd_kafka_conf_finalize_oauthbearer_oidc_grant_type
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_is_modified
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_conf_finalize_oauthbearer_oidc_grant_type(rd_kafka_conf_t *conf)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_kv_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4108,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_conf.c:4115,1
    - Dst: rd_kafka_conf_finalize_oauthbearer_oidc_grant_type
      Src: /src/librdkafka/src/rdkafka_conf.c:4124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4090
    functionDepth: 4
    functionLinenumber: 4090
    functionLinenumberEnd: 4137
    functionName: rd_kafka_conf_finalize_oauthbearer_oidc
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_kv_get
    - rd_free
    - rd_kafka_conf_finalize_oauthbearer_oidc_grant_type
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_conf_finalize_oauthbearer_oidc(rd_kafka_conf_t *conf)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4151,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4154,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/src/rdkafka_conf.c:4155,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_conf.c:4161,1
    - Dst: rd_kafka_sw_str_sanitize_inplace
      Src: /src/librdkafka/src/rdkafka_conf.c:4162,1
    - Dst: rd_kafka_sw_str_sanitize_inplace
      Src: /src/librdkafka/src/rdkafka_conf.c:4163,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4186,1
    - Dst: rd_file_stat
      Src: /src/librdkafka/src/rdkafka_conf.c:4187,1
    - Dst: CURL_AT_LEAST_VERSION
      Src: /src/librdkafka/src/rdkafka_conf.c:4191,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4201,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4205,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4210,1
    - Dst: rd_kafka_conf_finalize_oauthbearer_oidc
      Src: /src/librdkafka/src/rdkafka_conf.c:4217,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4233,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4240,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4248,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4254,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4266,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_conf.c:4272,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_conf.c:4272,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4281,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_conf.c:4289,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4301,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4311,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_conf.c:4313,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4325,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_conf.c:4336,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4341,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4351,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4367,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4373,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_conf.c:4375,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4380,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_conf.c:4393,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_conf.c:4393,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4395,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4400,1
    - Dst: rd_strcasestr
      Src: /src/librdkafka/src/rdkafka_conf.c:4401,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4407,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4425,1
    - Dst: rd_kafka_topic_conf_finalize
      Src: /src/librdkafka/src/rdkafka_conf.c:4437,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 131
    argCount: 2
    argNames:
    - cltype
    - conf
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4450
      start: 4146
    functionDepth: 5
    functionLinenumber: 4146
    functionLinenumberEnd: 4450
    functionName: rd_kafka_conf_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_version_str
    - rd_assert
    - rd_kafka_conf_set
    - RD_MAX
    - CURL_AT_LEAST_VERSION
    - RD_MIN
    - rd_kafka_conf_finalize_oauthbearer_oidc
    - rd_strcmp
    - rd_strcasecmp
    - rd_kafka_conf_is_modified
    - rd_kafka_sw_str_sanitize_inplace
    - rd_strcasestr
    - rd_kafka_topic_conf_finalize
    - rd_file_stat
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_conf_finalize(rd_kafka_type_t cltype,\n                                   rd_kafka_conf_t
      *conf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4469,1
    - Dst: rd_kafka_topic_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4478,1
    - Dst: rd_kafka_topic_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4490,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4503,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - cltype
    - conf
    - tconf
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_conf_t*
    - rd_kafka_topic_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4460
    functionDepth: 3
    functionLinenumber: 4460
    functionLinenumberEnd: 4507
    functionName: rd_kafka_topic_conf_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_conf_is_modified
    - rd_kafka_conf_is_modified
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_topic_conf_finalize(rd_kafka_type_t cltype,\n                                         const
      rd_kafka_conf_t *conf,\n                                         rd_kafka_topic_conf_t
      *tconf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_conf.c:4528,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_conf.c:4531,1
    - Dst: rd_kafka_anyconf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4531,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4535,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - rk
    - scope
    - conf
    argTypes:
    - rd_kafka_t*
    - rd_kafka_conf_scope_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4559
      start: 4515
    functionDepth: 2
    functionLinenumber: 4515
    functionLinenumberEnd: 4559
    functionName: rd_kafka_anyconf_warn_deprecated
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - likely
    - rd_kafka_anyconf_is_modified
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_anyconf_warn_deprecated(rd_kafka_t *rk,\n                                            rd_kafka_conf_scope_t
      scope,\n                                            const void *conf)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_anyconf_warn_deprecated
      Src: /src/librdkafka/src/rdkafka_conf.c:4574,1
    - Dst: rd_kafka_anyconf_warn_deprecated
      Src: /src/librdkafka/src/rdkafka_conf.c:4576,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4580,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4588,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4598,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4602,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4615,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4625,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4628,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4637,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4638,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4639,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4640,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4645,1
    - Dst: rd_kafka_sw_str_is_safe
      Src: /src/librdkafka/src/rdkafka_conf.c:4646,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4647,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4652,1
    - Dst: rd_kafka_sw_str_is_safe
      Src: /src/librdkafka/src/rdkafka_conf.c:4654,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4655,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4660,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_conf.c:4661,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4667
      start: 4571
    functionDepth: 3
    functionLinenumber: 4571
    functionLinenumberEnd: 4667
    functionName: rd_kafka_conf_warn
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_anyconf_warn_deprecated
    - strcmp
    - rd_atomic32_get
    - rd_kafka_conf_is_modified
    - strncmp
    - rd_kafka_sw_str_is_safe
    linkageType: ''
    returnType: int
    signature: int rd_kafka_conf_warn(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4670
    functionDepth: 0
    functionLinenumber: 4670
    functionLinenumberEnd: 4672
    functionName: rd_kafka_conf
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_conf_t
    signature: rd_kafka_conf_t *rd_kafka_conf(rd_kafka_t *rk)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:4689,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:4690,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4692,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4694,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4695,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4722,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4723,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:4741,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.c:4746,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4766,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4770,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4774,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4779,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4783,1
    - Dst: rd_kafka_topic_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4786,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_conf.c:4790,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4796,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4802,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4805,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4809,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4809,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4815,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_conf.c:4821,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4822,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4832,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4833,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4835,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4835,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4838,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_conf.c:4838,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:4843,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:4844,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_conf.c:4848,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4849,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4851,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_conf.c:4852,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4854,1
    - Dst: rd_kafka_conf_finalize
      Src: /src/librdkafka/src/rdkafka_conf.c:4856,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4857,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4861,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4862,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4863,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4863,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_conf.c:4865,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src/rdkafka_conf.c:4868,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4870,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_conf.c:4871,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_conf.c:4871,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_conf.c:4873,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src/rdkafka_conf.c:4875,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_conf.c:4877,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (is_modified == exp_is_modified)
      pos:
        line_end: 4820
        line_start: 4820
        source_file: /src/librdkafka/src/rdkafka_conf.c
    constantsTouched: []
    func_position:
      end: 4878
      start: 4678
    functionDepth: 22
    functionLinenumber: 4678
    functionLinenumberEnd: 4878
    functionName: unittest_conf
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_topic_conf_get
    - rd_kafka_conf_set
    - rd_kafka_topic_conf_new
    - rd_snprintf
    - RD_NOTREACHED
    - strcmp
    - RD_UT_ASSERT
    - rd_kafka_topic_conf_set
    - rd_kafka_topic_conf_destroy
    - rd_kafka_conf_is_modified
    - RD_UT_PASS
    - RD_UT_SAY
    - rd_kafka_conf_get
    - rd_kafka_topic_conf_is_modified
    - assert
    - rd_kafka_conf_destroy
    - rd_kafka_conf_finalize
    linkageType: ''
    returnType: int
    signature: int unittest_conf(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_segment_t*::seg_free
      Src: /src/librdkafka/src/rdbuf.c:50,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdbuf.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - seg
    argTypes:
    - rd_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: rd_segment_destroy
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_segment_t*::seg_free
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_segment_destroy(rd_segment_t *seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - seg
    - mem
    - size
    argTypes:
    - rd_segment_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: rd_segment_init
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void rd_segment_init(rd_segment_t *seg, void *mem, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdbuf.c:75,1
    - Dst: rd_buf_get_writable0
      Src: /src/librdkafka/src/rdbuf.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rbuf
    - seg
    argTypes:
    - rd_buf_t*
    - rd_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: rd_buf_append_segment
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_TAIL
    - rd_buf_get_writable0
    linkageType: ''
    returnType: rd_segment_t
    signature: rd_segment_t *rd_buf_append_segment(rd_buf_t *rbuf, rd_segment_t *seg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ROUNDUP
      Src: /src/librdkafka/src/rdbuf.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rbuf
    - size
    argTypes:
    - rd_buf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: extra_alloc
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - RD_ROUNDUP
    linkageType: ''
    returnType: void
    signature: void *extra_alloc(rd_buf_t *rbuf, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extra_alloc
      Src: /src/librdkafka/src/rdbuf.c:126,1
    - Dst: rd_segment_init
      Src: /src/librdkafka/src/rdbuf.c:127,1
    - Dst: extra_alloc
      Src: /src/librdkafka/src/rdbuf.c:129,1
    - Dst: rd_segment_init
      Src: /src/librdkafka/src/rdbuf.c:130,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbuf.c:130,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbuf.c:134,1
    - Dst: rd_segment_init
      Src: /src/librdkafka/src/rdbuf.c:135,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rbuf
    - size
    argTypes:
    - rd_buf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: rd_buf_alloc_segment0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - rd_segment_init
    - rd_assert
    - extra_alloc
    linkageType: ''
    returnType: rd_segment_t
    signature: rd_segment_t *rd_buf_alloc_segment0(rd_buf_t *rbuf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdbuf.c:159,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdbuf.c:160,1
    - Dst: rd_buf_alloc_segment0
      Src: /src/librdkafka/src/rdbuf.c:162,1
    - Dst: rd_buf_append_segment
      Src: /src/librdkafka/src/rdbuf.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rbuf
    - min_size
    - max_size
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: rd_buf_alloc_segment
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_buf_alloc_segment0
    - RD_MAX
    - rd_buf_append_segment
    linkageType: ''
    returnType: rd_segment_t
    signature: 'rd_segment_t *

      rd_buf_alloc_segment(rd_buf_t *rbuf, size_t min_size, size_t max_size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_segment_write_remains
      Src: /src/librdkafka/src/rdbuf.c:180,1
    - Dst: rd_buf_alloc_segment
      Src: /src/librdkafka/src/rdbuf.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rbuf
    - size
    argTypes:
    - rd_buf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 175
    functionDepth: 4
    functionLinenumber: 175
    functionLinenumberEnd: 192
    functionName: rd_buf_write_ensure_contig
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - rd_segment_write_remains
    - rd_buf_alloc_segment
    linkageType: ''
    returnType: void
    signature: void rd_buf_write_ensure_contig(rd_buf_t *rbuf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_write_remains
      Src: /src/librdkafka/src/rdbuf.c:202,1
    - Dst: rd_buf_alloc_segment
      Src: /src/librdkafka/src/rdbuf.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rbuf
    - min_size
    - max_size
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 205
    functionName: rd_buf_write_ensure
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_buf_write_remains
    - rd_buf_alloc_segment
    linkageType: ''
    returnType: void
    signature: void rd_buf_write_ensure(rd_buf_t *rbuf, size_t min_size, size_t max_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:219,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdbuf.c:224,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:229,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:229,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - rbuf
    - hint
    - absof
    argTypes:
    - rd_buf_t*
    - rd_segment_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 235
    functionName: rd_buf_get_segment_at_offset
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_buf_len
    - TAILQ_FIRST
    - rd_dassert
    - TAILQ_NEXT
    - unlikely
    linkageType: ''
    returnType: rd_segment_t
    signature: "rd_segment_t *rd_buf_get_segment_at_offset(const rd_buf_t *rbuf,\n
      \                                          const rd_segment_t *hint,\n                                           size_t
      absof)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:259,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:260,1
    - Dst: rd_buf_alloc_segment0
      Src: /src/librdkafka/src/rdbuf.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - rbuf
    - seg
    - absof
    argTypes:
    - rd_buf_t*
    - rd_segment_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 284
    functionName: rd_segment_split
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_buf_alloc_segment0
    linkageType: ''
    returnType: rd_segment_t
    signature: 'rd_segment_t *

      rd_segment_split(rd_buf_t *rbuf, rd_segment_t *seg, size_t absof)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:293,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdbuf.c:296,1
    - Dst: rd_segment_destroy
      Src: /src/librdkafka/src/rdbuf.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rbuf
    - seg
    argTypes:
    - rd_buf_t*
    - rd_segment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 304
    functionName: rd_buf_destroy_segment
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_segment_destroy
    - TAILQ_REMOVE
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_buf_destroy_segment(rd_buf_t *rbuf, rd_segment_t *seg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/rdbuf.c:321,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdbuf.c:328,1
    - Dst: rd_segment_destroy
      Src: /src/librdkafka/src/rdbuf.c:329,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdbuf.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: rd_buf_destroy
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - rd_segment_destroy
    - TAILQ_FOREACH_SAFE
    - printf
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_buf_destroy(rd_buf_t *rbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:341,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdbuf.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 343
    functionName: rd_buf_destroy_free
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_buf_destroy
    linkageType: ''
    returnType: void
    signature: void rd_buf_destroy_free(rd_buf_t *rbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:354,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdbuf.c:355,1
    - Dst: assert
      Src: /src/librdkafka/src/rdbuf.c:358,1
    - Dst: RD_ROUNDUP
      Src: /src/librdkafka/src/rdbuf.c:365,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbuf.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - rbuf
    - fixed_seg_cnt
    - buf_size
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts:
    - condition: (!buf_size)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/librdkafka/src/rdbuf.c
    constantsTouched: []
    func_position:
      end: 372
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 372
    functionName: rd_buf_init
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - memset
    - rd_malloc
    - RD_ROUNDUP
    - TAILQ_INIT
    - assert
    linkageType: ''
    returnType: void
    signature: void rd_buf_init(rd_buf_t *rbuf, size_t fixed_seg_cnt, size_t buf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbuf.c:380,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fixed_seg_cnt
    - buf_size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: rd_buf_new
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - rd_buf_init
    - rd_malloc
    linkageType: ''
    returnType: rd_buf_t
    signature: rd_buf_t *rd_buf_new(size_t fixed_seg_cnt, size_t buf_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:399,1
    - Dst: rd_segment_write_remains
      Src: /src/librdkafka/src/rdbuf.c:400,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - rbuf
    - segp
    - p
    argTypes:
    - rd_buf_t*
    - rd_segment_t**
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 423
    functionName: rd_buf_get_writable0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - TAILQ_NEXT
    - rd_segment_write_remains
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_buf_get_writable0(rd_buf_t *rbuf, rd_segment_t **segp, void
      **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_writable0
      Src: /src/librdkafka/src/rdbuf.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rbuf
    - p
    argTypes:
    - rd_buf_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: rd_buf_get_writable
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_buf_get_writable0
    linkageType: ''
    returnType: size_t
    signature: size_t rd_buf_get_writable(rd_buf_t *rbuf, void **p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdbuf.c:456,1
    - Dst: rd_buf_get_writable0
      Src: /src/librdkafka/src/rdbuf.c:461,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdbuf.c:462,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:464,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:465,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:466,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdbuf.c:470,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - rbuf
    - payload
    - size
    argTypes:
    - rd_buf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 482
    functionName: rd_buf_write
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 6
    functionsReached:
    - rd_assert
    - rd_buf_get_writable0
    - RD_MIN
    - rd_dassert
    - rd_buf_write_ensure
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: size_t rd_buf_write(rd_buf_t *rbuf, const void *payload, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdbuf.c:498,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:500,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rbuf
    - slice
    argTypes:
    - rd_buf_t*
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 493
    functionDepth: 6
    functionLinenumber: 493
    functionLinenumberEnd: 506
    functionName: rd_buf_write_slice
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_buf_write
    - rd_slice_reader
    linkageType: ''
    returnType: size_t
    signature: size_t rd_buf_write_slice(rd_buf_t *rbuf, rd_slice_t *slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:527,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:529,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdbuf.c:530,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:531,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdbuf.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - seg
    - absof
    - payload
    - size
    argTypes:
    - rd_segment_t*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 536
    functionName: rd_segment_write_update
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - memcpy
    - rd_assert
    - RD_MIN
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_segment_write_update(rd_segment_t *seg,\n                                      size_t
      absof,\n                                      const void *payload,\n                                      size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:556,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:557,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:559,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:560,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:560,1
    - Dst: rd_segment_write_update
      Src: /src/librdkafka/src/rdbuf.c:561,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rbuf
    - absof
    - payload
    - size
    argTypes:
    - rd_buf_t*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 569
    functionName: rd_buf_write_update
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_segment_write_update
    - rd_buf_len
    - rd_buf_get_segment_at_offset
    - rd_dassert
    - TAILQ_NEXT
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_buf_write_update(rd_buf_t *rbuf,\n                           size_t
      absof,\n                           const void *payload,\n                           size_t
      size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_segment_write_remains
      Src: /src/librdkafka/src/rdbuf.c:584,1
    - Dst: rd_segment_split
      Src: /src/librdkafka/src/rdbuf.c:587,1
    - Dst: rd_buf_alloc_segment0
      Src: /src/librdkafka/src/rdbuf.c:591,1
    - Dst: rd_buf_append_segment
      Src: /src/librdkafka/src/rdbuf.c:599,1
    - Dst: rd_buf_append_segment
      Src: /src/librdkafka/src/rdbuf.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - rbuf
    - payload
    - size
    - writable
    argTypes:
    - rd_buf_t*
    - void*
    - size_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 576
    functionDepth: 4
    functionLinenumber: 576
    functionLinenumberEnd: 603
    functionName: rd_buf_push0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_segment_write_remains
    - rd_buf_alloc_segment0
    - rd_segment_split
    - rd_buf_append_segment
    linkageType: ''
    returnType: void
    signature: "void rd_buf_push0(rd_buf_t *rbuf,\n                  const void *payload,\n
      \                 size_t size,\n                  void (*free_cb)(void *),\n
      \                 rd_bool_t writable)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:619,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdbuf.c:644,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:648,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:652,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:655,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdbuf.c:656,1
    - Dst: likely
      Src: /src/librdkafka/src/rdbuf.c:658,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdbuf.c:659,1
    - Dst: rd_buf_destroy_segment
      Src: /src/librdkafka/src/rdbuf.c:671,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:676,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:677,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - rbuf
    - absof
    - size
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 684
    functionName: rd_buf_erase
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - RD_BUG
    - RD_MIN
    - rd_buf_get_segment_at_offset
    - rd_buf_destroy_segment
    - memmove
    - TAILQ_NEXT
    - likely
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_buf_erase(rd_buf_t *rbuf, size_t absof, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:700,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:701,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:705,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdbuf.c:711,1
    - Dst: TAILQ_PREV
      Src: /src/librdkafka/src/rdbuf.c:714,1
    - Dst: rd_buf_destroy_segment
      Src: /src/librdkafka/src/rdbuf.c:716,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - rbuf
    - absof
    argTypes:
    - rd_buf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 696
    functionDepth: 3
    functionLinenumber: 696
    functionLinenumberEnd: 727
    functionName: rd_buf_write_seek
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - TAILQ_LAST
    - rd_buf_get_segment_at_offset
    - TAILQ_PREV
    - rd_buf_destroy_segment
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rd_buf_write_seek(rd_buf_t *rbuf, size_t absof)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:753,1
    - Dst: rd_segment_write_remains
      Src: /src/librdkafka/src/rdbuf.c:757,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - rbuf
    - iovs
    - iovcntp
    - iov_max
    - size_max
    argTypes:
    - rd_buf_t*
    - struct iovec*
    - size_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 770
    functionName: rd_buf_get_write_iov
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - TAILQ_NEXT
    - rd_segment_write_remains
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_buf_get_write_iov(const rd_buf_t *rbuf,\n                            struct
      iovec *iovs,\n                            size_t *iovcntp,\n                            size_t
      iov_max,\n                            size_t size_max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:793,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:802,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:805,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - slice
    - rbuf
    - seg
    - rof
    - size
    argTypes:
    - rd_slice_t*
    - rd_buf_t*
    - rd_segment_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 808
    functionName: rd_slice_init_seg
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_buf_len
    - rd_assert
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_slice_init_seg(rd_slice_t *slice,\n                      const
      rd_buf_t *rbuf,\n                      const rd_segment_t *seg,\n                      size_t
      rof,\n                      size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:821,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:822,1
    - Dst: rd_slice_init_seg
      Src: /src/librdkafka/src/rdbuf.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - slice
    - rbuf
    - absof
    - size
    argTypes:
    - rd_slice_t*
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 827
    functionName: rd_slice_init
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_buf_get_segment_at_offset
    - rd_slice_init_seg
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_slice_init(rd_slice_t *slice,\n                  const rd_buf_t
      *rbuf,\n                  size_t absof,\n                  size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdbuf.c:833,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:833,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slice
    - rbuf
    argTypes:
    - rd_slice_t*
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 832
    functionDepth: 3
    functionLinenumber: 832
    functionLinenumberEnd: 835
    functionName: rd_slice_init_full
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 4
    functionsReached:
    - rd_slice_init
    - rd_buf_len
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_slice_init_full(rd_slice_t *slice, const rd_buf_t *rbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:850,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:853,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdbuf.c:857,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:857,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - slice
    - p
    - update_pos
    argTypes:
    - rd_slice_t*
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 871
    functionName: rd_slice_reader0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_remains
    - RD_MIN
    - TAILQ_NEXT
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_reader0(rd_slice_t *slice, const void **p, int update_pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_reader0
      Src: /src/librdkafka/src/rdbuf.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slice
    - p
    argTypes:
    - rd_slice_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 887
    functionName: rd_slice_reader
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_slice_reader0
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_reader(rd_slice_t *slice, const void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_reader0
      Src: /src/librdkafka/src/rdbuf.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slice
    - p
    argTypes:
    - rd_slice_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: rd_slice_peeker
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_slice_reader0
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_peeker(const rd_slice_t *slice, const void **p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:918,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:918,1
    - Dst: rd_slice_abs_offset
      Src: /src/librdkafka/src/rdbuf.c:922,1
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdbuf.c:924,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:925,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdbuf.c:927,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdbuf.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - slice
    - dst
    - size
    argTypes:
    - rd_slice_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 939
    functionName: rd_slice_read
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 5
    functionsReached:
    - rd_slice_remains
    - rd_slice_reader
    - rd_dassert
    - memcpy
    - rd_slice_abs_offset
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_read(rd_slice_t *slice, void *dst, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:952,1
    - Dst: rd_slice_seek
      Src: /src/librdkafka/src/rdbuf.c:952,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - slice
    - offset
    - dst
    - size
    argTypes:
    - rd_slice_t*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 948
    functionDepth: 4
    functionLinenumber: 948
    functionLinenumberEnd: 956
    functionName: rd_slice_peek
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_read
    - unlikely
    - rd_slice_seek
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_peek(const rd_slice_t *slice, size_t offset, void *dst,
      size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:974,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - slice
    - nump
    argTypes:
    - rd_slice_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1004
    functionName: rd_slice_read_uvarint
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - TAILQ_NEXT
    - unlikely
    linkageType: ''
    returnType: size_t
    signature: size_t rd_slice_read_uvarint(rd_slice_t *slice, uint64_t *nump)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:1017,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1017,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1023,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - slice
    - size
    argTypes:
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1026
    functionName: rd_slice_ensure_contig
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_remains
    - unlikely
    - rd_slice_read
    linkageType: ''
    returnType: void
    signature: void *rd_slice_ensure_contig(rd_slice_t *slice, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:1041,1
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:1044,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1045,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - slice
    - offset
    argTypes:
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1053
    functionName: rd_slice_seek
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 2
    functionsReached:
    - rd_buf_get_segment_at_offset
    - rd_assert
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rd_slice_seek(rd_slice_t *slice, size_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:1069,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1073,1
    - Dst: rd_slice_abs_offset
      Src: /src/librdkafka/src/rdbuf.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - slice
    - save_slice
    - size
    argTypes:
    - rd_slice_t*
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1075
    functionName: rd_slice_narrow
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_abs_offset
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rd_slice_narrow(rd_slice_t *slice, rd_slice_t *save_slice, size_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_narrow
      Src: /src/librdkafka/src/rdbuf.c:1084,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - slice
    - save_slice
    - relsize
    argTypes:
    - rd_slice_t*
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1086
    functionName: rd_slice_narrow_relative
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_narrow
    - rd_slice_offset
    linkageType: ''
    returnType: int
    signature: "int rd_slice_narrow_relative(rd_slice_t *slice,\n                             rd_slice_t
      *save_slice,\n                             size_t relsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - slice
    - save_slice
    argTypes:
    - rd_slice_t*
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1096
    functionName: rd_slice_widen
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_slice_widen(rd_slice_t *slice, const rd_slice_t *save_slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.c:1111,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1115,1
    - Dst: rd_slice_abs_offset
      Src: /src/librdkafka/src/rdbuf.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - orig
    - new_slice
    - size
    argTypes:
    - rd_slice_t*
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1117
    functionName: rd_slice_narrow_copy
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_abs_offset
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_slice_narrow_copy(const rd_slice_t *orig,\n                         rd_slice_t
      *new_slice,\n                         size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_narrow_copy
      Src: /src/librdkafka/src/rdbuf.c:1126,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - orig
    - new_slice
    - relsize
    argTypes:
    - rd_slice_t*
    - rd_slice_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 2
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: rd_slice_narrow_copy_relative
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_offset
    - rd_slice_narrow_copy
    linkageType: ''
    returnType: int
    signature: "int rd_slice_narrow_copy_relative(const rd_slice_t *orig,\n                                  rd_slice_t
      *new_slice,\n                                  size_t relsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdbuf.c:1158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - slice
    - iovs
    - iovcntp
    - iov_max
    - size_max
    argTypes:
    - rd_slice_t*
    - struct iovec*
    - size_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1145
    functionDepth: 3
    functionLinenumber: 1145
    functionLinenumberEnd: 1168
    functionName: rd_slice_get_iov
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 1
    functionsReached:
    - rd_slice_reader
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_slice_get_iov(const rd_slice_t *slice,\n                        struct
      iovec *iovs,\n                        size_t *iovcntp,\n                        size_t
      iov_max,\n                        size_t size_max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_crc32_init
      Src: /src/librdkafka/src/rdbuf.c:1184,1
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdbuf.c:1186,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdbuf.c:1187,1
    - Dst: rd_crc32_finalize
      Src: /src/librdkafka/src/rdbuf.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - slice
    argTypes:
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1179
    functionDepth: 3
    functionLinenumber: 1179
    functionLinenumberEnd: 1190
    functionName: rd_slice_crc32
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_crc32_init
    - rd_slice_reader
    - rd_crc32_finalize
    - rd_crc32_update
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rd_slice_crc32(rd_slice_t *slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdbuf.c:1204,1
    - Dst: rd_crc32c
      Src: /src/librdkafka/src/rdbuf.c:1205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - slice
    argTypes:
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1208
    functionName: rd_slice_crc32c
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_crc32c
    - rd_slice_reader
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rd_slice_crc32c(rd_slice_t *slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdbuf.c:1222,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1229,1
    - Dst: rd_hexdump
      Src: /src/librdkafka/src/rdbuf.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - seg
    - ind
    - relof
    - do_hexdump
    argTypes:
    - rd_segment_t*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 1
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: rd_segment_dump
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_hexdump
    - fprintf
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_segment_dump(const rd_segment_t *seg,\n                            const
      char *ind,\n                            size_t relof,\n                            int
      do_hexdump)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdbuf.c:1238,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdbuf.c:1246,1
    - Dst: rd_segment_dump
      Src: /src/librdkafka/src/rdbuf.c:1247,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdbuf.c:1253,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdbuf.c:1255,1
    - Dst: rd_segment_dump
      Src: /src/librdkafka/src/rdbuf.c:1256,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - rbuf
    - do_hexdump
    argTypes:
    - rd_buf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1261
    functionName: rd_buf_dump
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TAILQ_FOREACH
    - rd_segment_dump
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_buf_dump(const rd_buf_t *rbuf, int do_hexdump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdbuf.c:1267,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1273,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1275,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1276,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdbuf.c:1279,1
    - Dst: rd_segment_dump
      Src: /src/librdkafka/src/rdbuf.c:1280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - slice
    - do_hexdump
    argTypes:
    - rd_slice_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1283
    functionName: rd_slice_dump
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_slice_offset
    - rd_slice_size
    - rd_buf_len
    - rd_segment_dump
    - TAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: void rd_slice_dump(const rd_slice_t *slice, int do_hexdump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1307,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1308,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1309,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1310,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1311,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:1313,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1318,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1319,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1320,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1321,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1323,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1324,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1325,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1326,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1329,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1330,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1331,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1332,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdbuf.c:1339,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1341,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1342,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1344,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1345,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1347,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1349,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1349,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1350,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1350,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1351,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1351,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1352,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1352,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:1355,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdbuf.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1297
    functionDepth: 6
    functionLinenumber: 1297
    functionLinenumberEnd: 1358
    functionName: do_unittest_write_read
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_buf_write
    - rd_slice_remains
    - rd_buf_init
    - memcmp
    - RD_UT_ASSERT
    - rd_buf_destroy
    - memset
    - RD_UT_PASS
    - rd_slice_read
    - rd_buf_write_pos
    linkageType: ''
    returnType: int
    signature: int do_unittest_write_read(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b
    - ','
    - absof
    - ','
    - len
    - ','
    - verify
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1373
    functionName: do_unittest_read_verify
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_unittest_read_verify(b, absof, len, verify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1384,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdbuf.c:1387,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1388,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1390,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1391,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1394,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1396,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1396,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1398,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1399,1
    - Dst: rd_slice_seek
      Src: /src/librdkafka/src/rdbuf.c:1403,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1404,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1405,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1406,1
    - Dst: rd_slice_pos
      Src: /src/librdkafka/src/rdbuf.c:1410,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1411,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1412,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1414,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1415,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1417,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1418,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1423,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1424,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1427,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1429,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1429,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdbuf.c:1431,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1432,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1432,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1434,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1435,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 4
    argNames:
    - b
    - absof
    - len
    - verify
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1441
    functionName: do_unittest_read_verify0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_offset
    - rd_slice_remains
    - rd_slice_size
    - memcmp
    - RD_UT_ASSERT
    - rd_slice_init
    - rd_slice_seek
    - rd_slice_pos
    - rd_slice_read
    linkageType: ''
    returnType: int
    signature: "int do_unittest_read_verify0(const rd_buf_t *b,\n                                    size_t
      absof,\n                                    size_t len,\n                                    const
      char *verify)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1457,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1458,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1459,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1460,1
    - Dst: memset
      Src: /src/librdkafka/src/rdbuf.c:1461,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:1463,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1468,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1469,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1470,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1471,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1473,1
    - Dst: rd_buf_write_seek
      Src: /src/librdkafka/src/rdbuf.c:1478,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1479,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1480,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1481,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1483,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1484,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1485,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1486,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1488,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1489,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1492,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1493,1
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:1497,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1498,1
    - Dst: rd_segment_split
      Src: /src/librdkafka/src/rdbuf.c:1499,1
    - Dst: rd_buf_append_segment
      Src: /src/librdkafka/src/rdbuf.c:1500,1
    - Dst: rd_buf_get_segment_at_offset
      Src: /src/librdkafka/src/rdbuf.c:1501,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1502,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1503,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1504,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdbuf.c:1507,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1508,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1511,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1512,1
    - Dst: rd_buf_write_seek
      Src: /src/librdkafka/src/rdbuf.c:1516,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1517,1
    - Dst: do_unittest_read_verify
      Src: /src/librdkafka/src/rdbuf.c:1518,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:1520,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdbuf.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1447
    functionDepth: 6
    functionLinenumber: 1447
    functionLinenumberEnd: 1523
    functionName: do_unittest_write_split_seek
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_buf_write
    - rd_segment_split
    - rd_buf_append_segment
    - rd_buf_init
    - rd_buf_get_segment_at_offset
    - RD_UT_ASSERT
    - rd_buf_destroy
    - memset
    - RD_UT_PASS
    - do_unittest_read_verify
    - rd_buf_write_seek
    - rd_buf_write_pos
    linkageType: ''
    returnType: int
    signature: int do_unittest_write_split_seek(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_crc32_init
      Src: /src/librdkafka/src/rdbuf.c:1540,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdbuf.c:1541,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:1543,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdbuf.c:1545,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1546,1
    - Dst: rd_crc32_finalize
      Src: /src/librdkafka/src/rdbuf.c:1549,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1551,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1552,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdbuf.c:1559,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1561,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1562,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1562,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1564,1
    - Dst: rd_crc32_init
      Src: /src/librdkafka/src/rdbuf.c:1573,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdbuf.c:1574,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdbuf.c:1579,1
    - Dst: rd_slice_peek
      Src: /src/librdkafka/src/rdbuf.c:1582,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1585,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1587,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1592,1
    - Dst: rd_crc32_finalize
      Src: /src/librdkafka/src/rdbuf.c:1598,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1600,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1606,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1607,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:1610,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdbuf.c:1612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1529
    functionDepth: 6
    functionLinenumber: 1529
    functionLinenumberEnd: 1613
    functionName: do_unittest_write_read_payload_correctness
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_buf_write
    - rd_buf_len
    - rd_slice_remains
    - rd_buf_init
    - rd_slice_peek
    - rd_crc32_init
    - RD_UT_ASSERT
    - rd_buf_destroy
    - RD_UT_PASS
    - rd_crc32_finalize
    - rd_slice_read
    - rd_crc32_update
    linkageType: ''
    returnType: int
    signature: int do_unittest_write_read_payload_correctness(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1620
    functionName: do_unittest_iov_verify
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_unittest_iov_verify(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.c:1628,1
    - Dst: rd_buf_get_write_iov
      Src: /src/librdkafka/src/rdbuf.c:1631,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1632,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1635,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1642,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1644,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1649,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - b
    - exp_iovcnt
    - exp_totsize
    argTypes:
    - rd_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1620
    functionDepth: 2
    functionLinenumber: 1620
    functionLinenumberEnd: 1658
    functionName: do_unittest_iov_verify0
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - RD_UT_ASSERT
    - rd_buf_get_write_iov
    linkageType: ''
    returnType: int
    signature: int do_unittest_iov_verify0(rd_buf_t *b, size_t exp_iovcnt, size_t
      exp_totsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:1667,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdbuf.c:1668,1
    - Dst: do_unittest_iov_verify
      Src: /src/librdkafka/src/rdbuf.c:1670,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdbuf.c:1673,1
    - Dst: do_unittest_iov_verify
      Src: /src/librdkafka/src/rdbuf.c:1675,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:1678,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdbuf.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1664
    functionDepth: 5
    functionLinenumber: 1664
    functionLinenumberEnd: 1681
    functionName: do_unittest_write_iov
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_buf_init
    - do_unittest_iov_verify
    - rd_buf_destroy
    - RD_UT_PASS
    - rd_buf_write_ensure
    linkageType: ''
    returnType: int
    signature: int do_unittest_write_iov(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdbuf.c:1798,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdbuf.c:1804,1
    - Dst: rd_buf_push_writable
      Src: /src/librdkafka/src/rdbuf.c:1808,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdbuf.c:1808,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdbuf.c:1809,1
    - Dst: rd_buf_erase
      Src: /src/librdkafka/src/rdbuf.c:1813,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1815,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdbuf.c:1824,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdbuf.c:1825,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1827,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1827,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1831,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdbuf.c:1834,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1834,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1835,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1835,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1836,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdbuf.c:1838,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1842,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1842,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.c:1845,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbuf.c:1847,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdbuf.c:1849,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1850,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1855,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdbuf.c:1855,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdbuf.c:1859,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdbuf.c:1861,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1861,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdbuf.c:1864,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdbuf.c:1866,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdbuf.c:1870,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1686
    functionDepth: 6
    functionLinenumber: 1686
    functionLinenumberEnd: 1871
    functionName: do_unittest_erase
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_buf_write
    - rd_buf_len
    - rd_slice_size
    - rd_slice_remains
    - rd_buf_init
    - memcmp
    - RD_UT_ASSERT
    - rd_buf_destroy
    - rd_malloc
    - rd_slice_init
    - rd_buf_push_writable
    - RD_UT_PASS
    - strlen
    - rd_strdup
    - rd_buf_erase
    - rd_slice_read
    linkageType: ''
    returnType: int
    signature: int do_unittest_erase(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_unittest_write_read
      Src: /src/librdkafka/src/rdbuf.c:1877,1
    - Dst: do_unittest_write_split_seek
      Src: /src/librdkafka/src/rdbuf.c:1878,1
    - Dst: do_unittest_write_read_payload_correctness
      Src: /src/librdkafka/src/rdbuf.c:1879,1
    - Dst: do_unittest_write_iov
      Src: /src/librdkafka/src/rdbuf.c:1880,1
    - Dst: do_unittest_erase
      Src: /src/librdkafka/src/rdbuf.c:1881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1874
    functionDepth: 7
    functionLinenumber: 1874
    functionLinenumberEnd: 1884
    functionName: unittest_rdbuf
    functionSourceFile: /src/librdkafka/src/rdbuf.c
    functionUses: 0
    functionsReached:
    - do_unittest_write_split_seek
    - do_unittest_erase
    - do_unittest_write_iov
    - do_unittest_write_read_payload_correctness
    - do_unittest_write_read
    linkageType: ''
    returnType: int
    signature: int unittest_rdbuf(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: rd_kafka_broker_is_addrless
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_is_addrless(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: rd_kafka_broker_needs_persistent_connection
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_needs_persistent_connection(rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:121,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_broker.c:122,1
    - Dst: rd_kafka_broker_needs_persistent_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: rd_kafka_broker_needs_connection
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_fatal_error_code
    - rd_kafka_broker_or_instance_terminating
    - rd_kafka_broker_needs_persistent_connection
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_needs_connection(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: rd_kafka_broker_terminating
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_terminating(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - dsize
    - name
    - port
    argTypes:
    - char*
    - size_t
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: rd_kafka_mk_nodename
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mk_nodename(char *dest,\n                                 size_t
      dsize,\n                                 const char *name,\n                                 uint16_t
      port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:161,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:171,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - dest
    - dsize
    - proto
    - nodename
    - nodeid
    - source
    argTypes:
    - char*
    - size_t
    - rd_kafka_secproto_t
    - char*
    - int32_t
    - rd_kafka_confsource_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 178
    functionName: rd_kafka_mk_brokername
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mk_brokername(char *dest,\n                                   size_t
      dsize,\n                                   rd_kafka_secproto_t proto,\n                                   const
      char *nodename,\n                                   int32_t nodeid,\n                                   rd_kafka_confsource_t
      source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:193,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_broker.c:195,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_broker.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkb
    - features
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: rd_kafka_broker_feature_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_features2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_feature_enable(rd_kafka_broker_t *rkb,\n                                           int
      features)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:212,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_broker.c:214,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_broker.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkb
    - features
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: rd_kafka_broker_feature_disable
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_features2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_feature_disable(rd_kafka_broker_t *rkb,\n                                            int
      features)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:232,1
    - Dst: rd_kafka_features2str
      Src: /src/librdkafka/src/rdkafka_broker.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkb
    - features
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: rd_kafka_broker_features_set
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_features2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_features_set(rd_kafka_broker_t *rkb, int features)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:260,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:267,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_broker.c:272,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - rkb
    - ApiKey
    - minver
    - maxver
    - featuresp
    - do_lock
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - int16_t
    - int16_t
    - int*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 292
    functionName: rd_kafka_broker_ApiVersion_supported0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - bsearch
    linkageType: ''
    returnType: int16_t
    signature: "int16_t rd_kafka_broker_ApiVersion_supported0(rd_kafka_broker_t *rkb,\n
      \                                             int16_t ApiKey,\n                                              int16_t
      minver,\n                                              int16_t maxver,\n                                              int
      *featuresp,\n                                              rd_bool_t do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported0
      Src: /src/librdkafka/src/rdkafka_broker.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rkb
    - ApiKey
    - minver
    - maxver
    - featuresp
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - int16_t
    - int16_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: rd_kafka_broker_ApiVersion_supported
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_ApiVersion_supported0
    linkageType: ''
    returnType: int16_t
    signature: "int16_t rd_kafka_broker_ApiVersion_supported(rd_kafka_broker_t *rkb,\n
      \                                            int16_t ApiKey,\n                                             int16_t
      minver,\n                                             int16_t maxver,\n                                             int
      *featuresp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported0
      Src: /src/librdkafka/src/rdkafka_broker.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkb
    - ApiKey
    - minver
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: rd_kafka_broker_ApiVersion_at_least
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_ApiVersion_supported0
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_broker_ApiVersion_at_least(rd_kafka_broker_t *rkb,\n
      \                                             int16_t ApiKey,\n                                              int16_t
      minver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported0
      Src: /src/librdkafka/src/rdkafka_broker.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkb
    - ApiKey
    - minver
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: rd_kafka_broker_ApiVersion_at_least_no_lock
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_ApiVersion_supported0
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_broker_ApiVersion_at_least_no_lock(rd_kafka_broker_t
      *rkb,\n                                                      int16_t ApiKey,\n
      \                                                     int16_t minver)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:356,1
    - Dst: rd_kafka_broker_state_is_down
      Src: /src/librdkafka/src/rdkafka_broker.c:361,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:367,1
    - Dst: rd_kafka_broker_state_is_down
      Src: /src/librdkafka/src/rdkafka_broker.c:369,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_broker.c:371,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:375,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:376,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:377,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:379,1
    - Dst: rd_kafka_rebootstrap
      Src: /src/librdkafka/src/rdkafka_broker.c:380,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_broker.c:381,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:384,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:385,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:386,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:390,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_broker.c:392,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:393,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:397,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:398,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:400,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:401,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:417,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:418,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:420,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:421,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:433,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:438,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:441,1
    - Dst: rd_kafka_reset_any_broker_down_reported
      Src: /src/librdkafka/src/rdkafka_broker.c:444,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:445,1
    - Dst: rd_kafka_broker_trigger_monitors
      Src: /src/librdkafka/src/rdkafka_broker.c:449,1
    - Dst: rd_kafka_interceptors_on_broker_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:452,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:457,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 2
    argNames:
    - rkb
    - state
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 348
    functionDepth: 4
    functionLinenumber: 348
    functionLinenumberEnd: 458
    functionName: rd_kafka_broker_set_state
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_err
    - rd_kafka_interceptors_on_broker_state_change
    - rd_kafka_rebootstrap
    - rd_kafka_brokers_broadcast_state_change
    - rd_kafka_terminating
    - rd_atomic32_set
    - rd_kafka_reset_any_broker_down_reported
    - rd_atomic32_sub
    - rd_atomic32_get
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_state_is_up
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_kafka_broker_state_is_down
    - rd_atomic32_add
    - rd_clock
    - rd_kafka_broker_trigger_monitors
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_set_state(rd_kafka_broker_t *rkb, int state)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:483,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:488,1
    - Dst: rd_kafka_broker_is_addrless
      Src: /src/librdkafka/src/rdkafka_broker.c:490,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:491,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:498,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:500,1
    - Dst: rd_kafka_transport_error_disconnected
      Src: /src/librdkafka/src/rdkafka_broker.c:507,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:515,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:525,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:545,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:559,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_broker.c:560,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:565,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:569,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:577,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:588,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:591,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:599,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_broker.c:600,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:605,1
    - Dst: rd_kafka_q_op_err
      Src: /src/librdkafka/src/rdkafka_broker.c:610,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 5
    argNames:
    - rkb
    - level
    - err
    - fmt
    - ap
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_kafka_resp_err_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 474
    functionDepth: 2
    functionLinenumber: 474
    functionLinenumberEnd: 613
    functionName: rd_kafka_broker_set_error
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_broker_is_addrless
    - rd_kafka_err2name
    - rd_snprintf
    - rd_strlcpy
    - rd_kafka_terminating
    - strcmp
    - rd_rkb_dbg
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_vsnprintf
    - rd_interval
    - rd_kafka_transport_error_disconnected
    - rd_clock
    - rd_kafka_q_op_err
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_set_error(rd_kafka_broker_t *rkb,\n                                      int
      level,\n                                      rd_kafka_resp_err_t err,\n                                      const
      char *fmt,\n                                      va_list ap)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:636,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:636,1
    - Dst: rd_kafka_transport_close
      Src: /src/librdkafka/src/rdkafka_broker.c:639,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:643,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:649,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_broker.c:655,1
    - Dst: rd_kafka_broker_set_error
      Src: /src/librdkafka/src/rdkafka_broker.c:656,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_broker.c:657,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:659,1
    - Dst: rd_kafka_broker_feature_disable
      Src: /src/librdkafka/src/rdkafka_broker.c:666,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:671,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_broker.c:675,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:679,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_broker.c:681,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_broker.c:682,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:690,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:691,1
    - Dst: rd_kafka_bufq_concat
      Src: /src/librdkafka/src/rdkafka_broker.c:692,1
    - Dst: rd_kafka_bufq_concat
      Src: /src/librdkafka/src/rdkafka_broker.c:693,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_broker.c:694,1
    - Dst: rd_kafka_bufq_purge
      Src: /src/librdkafka/src/rdkafka_broker.c:698,1
    - Dst: rd_kafka_bufq_purge
      Src: /src/librdkafka/src/rdkafka_broker.c:702,1
    - Dst: rd_kafka_bufq_connection_reset
      Src: /src/librdkafka/src/rdkafka_broker.c:714,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:718,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:719,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:720,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_broker.c:723,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:724,1
    - Dst: rd_kafka_bufq_dump
      Src: /src/librdkafka/src/rdkafka_broker.c:726,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:731,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:732,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:733,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:736,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:739,1
    - Dst: rd_kafka_toppar_delegate_to_leader
      Src: /src/librdkafka/src/rdkafka_broker.c:742,1
    - Dst: rd_kafka_broker_termination_in_progress
      Src: /src/librdkafka/src/rdkafka_broker.c:743,1
    - Dst: rd_kafka_toppar_undelegate
      Src: /src/librdkafka/src/rdkafka_broker.c:748,1
    - Dst: rd_kafka_toppar_forget_leader
      Src: /src/librdkafka/src/rdkafka_broker.c:749,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:755,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:757,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:760,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:764,1
    - Dst: rd_kafka_metadata_refresh_known_topics
      Src: /src/librdkafka/src/rdkafka_broker.c:770,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 4
    argNames:
    - rkb
    - level
    - err
    - fmt
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 626
    functionDepth: 5
    functionLinenumber: 626
    functionLinenumberEnd: 772
    functionName: rd_kafka_broker_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 4
    functionsReached:
    - rd_atomic64_set
    - rd_kafka_toppar_lock
    - rd_kafka_bufq_purge
    - rd_kafka_bufq_concat
    - unlikely
    - TAILQ_FOREACH
    - rd_kafka_broker_feature_disable
    - rd_atomic32_init
    - rd_kafka_terminating
    - va_start
    - rd_kafka_timer_stop
    - mtx_unlock
    - rd_kafka_toppar_delegate_to_leader
    - rd_kafka_broker_set_error
    - rd_kafka_toppar_forget_leader
    - rd_kafka_bufq_connection_reset
    - mtx_lock
    - rd_kafka_metadata_refresh_known_topics
    - rd_kafka_bufq_cnt
    - rd_kafka_broker_unlock
    - rd_kafka_broker_termination_in_progress
    - rd_kafka_bufq_dump
    - va_end
    - rd_kafka_toppar_unlock
    - rd_kafka_bufq_init
    - rd_kafka_buf_destroy
    - rd_kafka_broker_destroy
    - rd_kafka_broker_set_state
    - rd_kafka_broker_terminating
    - rd_kafka_transport_close
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_broker_lock
    - rd_refcnt_get
    - rd_kafka_toppar_undelegate
    - rd_kafka_assert
    - rd_atomic32_add
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_fail(rd_kafka_broker_t *rkb,\n                          int
      level,\n                          rd_kafka_resp_err_t err,\n                          const
      char *fmt,\n                          ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - RKB
    - ','
    - ERR
    - ','
    - FMT
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: rd_kafka_broker_planned_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_planned_fail(RKB, ERR, FMT, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:811,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_broker.c:813,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:816,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:817,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_broker.c:820,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - rkb
    - err
    - errstr
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 786
    functionDepth: 6
    functionLinenumber: 786
    functionLinenumberEnd: 830
    functionName: rd_kafka_broker_conn_closed
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - RD_MAX
    - rd_kafka_bufq_cnt
    - rd_kafka_broker_fail
    - rd_atomic64_get
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_conn_closed(rd_kafka_broker_t *rkb,\n                                 rd_kafka_resp_err_t
      err,\n                                 const char *errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:851,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_broker.c:853,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_broker.c:860,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:863,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - rkb
    - rkbq
    - ApiKey
    - rktp
    - err
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_bufq_t*
    - int64_t
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 870
    functionName: rd_kafka_broker_bufq_purge_by_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_offset
    - TAILQ_FOREACH_SAFE
    - rd_kafka_buf_callback
    - rd_kafka_bufq_deq
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_bufq_purge_by_toppar(rd_kafka_broker_t *rkb,\n
      \                                               rd_kafka_bufq_t *rkbq,\n                                                int64_t
      ApiKey,\n                                                rd_kafka_toppar_t *rktp,\n
      \                                               rd_kafka_resp_err_t err)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.c:904,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_broker.c:906,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:911,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_broker.c:917,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:926,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.c:938,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:939,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:947,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_broker.c:957,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:961,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:968,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:969,1
    - Dst: rd_kafka_broker_get_state
      Src: /src/librdkafka/src/rdkafka_broker.c:971,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:973,1
    - Dst: rd_kafka_broker_get_state
      Src: /src/librdkafka/src/rdkafka_broker.c:981,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 9
    argNames:
    - rkb
    - is_waitresp_q
    - rkbq
    - partial_cntp
    - ApiKey
    - err
    - now
    - description
    - log_first_n
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_kafka_bufq_t*
    - int*
    - int16_t
    - rd_kafka_resp_err_t
    - rd_ts_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 889
    functionDepth: 5
    functionLinenumber: 889
    functionLinenumberEnd: 994
    functionName: rd_kafka_broker_bufq_timeout_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_slice_offset
    - TAILQ_FOREACH_SAFE
    - rd_snprintf
    - rd_kafka_brokers_broadcast_state_change
    - TAILQ_FIRST
    - rd_kafka_buf_callback
    - rd_kafka_bufq_deq
    - rd_kafka_broker_get_state
    - rd_rkb_log
    - likely
    - rd_kafka_ApiKey2str
    - rd_atomic32_sub
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_bufq_timeout_scan(rd_kafka_broker_t *rkb,\n                                             int
      is_waitresp_q,\n                                             rd_kafka_bufq_t
      *rkbq,\n                                             int *partial_cntp,\n                                             int16_t
      ApiKey,\n                                             rd_kafka_resp_err_t err,\n
      \                                            rd_ts_t now,\n                                             const
      char *description,\n                                             int log_first_n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1006,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:1006,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:1009,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:1013,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:1019,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_broker.c:1024,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1030,1
    - Dst: rd_avg_calc
      Src: /src/librdkafka/src/rdkafka_broker.c:1044,1
    - Dst: rd_avg_calc
      Src: /src/librdkafka/src/rdkafka_broker.c:1045,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:1049,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:1055,1
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:1063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - rkb
    - now
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1002
    functionDepth: 6
    functionLinenumber: 1002
    functionLinenumberEnd: 1070
    functionName: rd_kafka_broker_timeout_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_avg_calc
    - rd_snprintf
    - rd_atomic64_add
    - rd_kafka_broker_bufq_timeout_scan
    - thrd_is_current
    - rd_kafka_assert
    - rd_kafka_broker_planned_fail
    - rd_rkb_log
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_timeout_scan(rd_kafka_broker_t *rkb, rd_ts_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1078,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1080,1
    - Dst: rd_kafka_transport_send
      Src: /src/librdkafka/src/rdkafka_broker.c:1082,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:1086,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1088,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1092,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - rkb
    - slice
    argTypes:
    - rd_kafka_broker_t*
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1095
    functionName: rd_kafka_broker_send
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assert
    - rd_kafka_broker_fail
    - rd_kafka_transport_send
    - rd_atomic64_add
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t rd_kafka_broker_send(rd_kafka_broker_t *rkb, rd_slice_t *slice)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:1106,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:1116,1
    - Dst: rd_sockaddr_list_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:1123,1
    - Dst: rd_getaddrinfo
      Src: /src/librdkafka/src/rdkafka_broker.c:1129,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:1136,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:1141,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - rkb
    - nodename
    - reset_cached_addr
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1099
    functionDepth: 6
    functionLinenumber: 1099
    functionLinenumberEnd: 1149
    functionName: rd_kafka_broker_resolve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_getaddrinfo
    - rd_sockaddr_list_destroy
    - rd_kafka_broker_fail
    - rd_kafka_broker_planned_fail
    - rd_clock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_resolve(rd_kafka_broker_t *rkb,\n                                   const
      char *nodename,\n                                   rd_bool_t reset_cached_addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1156,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:1156,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1163,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:1164,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1166,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:1169,1
    - Dst: rd_kafka_buf_calc_timeout
      Src: /src/librdkafka/src/rdkafka_broker.c:1174,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:1176,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_broker.c:1178,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:1191,1
    - Dst: TAILQ_INSERT_AFTER
      Src: /src/librdkafka/src/rdkafka_broker.c:1199,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_broker.c:1202,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1206,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1208,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:1209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1152
    functionDepth: 5
    functionLinenumber: 1152
    functionLinenumberEnd: 1210
    functionName: rd_kafka_broker_buf_enq0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - likely
    - rd_kafka_broker_set_state
    - rd_kafka_buf_calc_timeout
    - TAILQ_INSERT_AFTER
    - thrd_is_current
    - TAILQ_INSERT_HEAD
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - TAILQ_INSERT_TAIL
    - rd_kafka_msgq_len
    - rd_kafka_assert
    - rd_atomic32_add
    - rd_clock
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_buf_enq0(rd_kafka_broker_t *rkb,\n                                     rd_kafka_buf_t
      *rkbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1219,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_broker.c:1223,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_broker.c:1227,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_broker.c:1230,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_broker.c:1236,1
    - Dst: rd_kafka_buf_update_i16
      Src: /src/librdkafka/src/rdkafka_broker.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rk
    - rkbuf
    argTypes:
    - rd_kafka_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1216
    functionDepth: 4
    functionLinenumber: 1216
    functionLinenumberEnd: 1240
    functionName: rd_kafka_buf_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_assert
    - rd_slice_init_full
    - rd_buf_len
    - rd_kafka_buf_update_i16
    - rd_kafka_buf_update_i32
    linkageType: ''
    returnType: void
    signature: void rd_kafka_buf_finalize(rd_kafka_t *rk, rd_kafka_buf_t *rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_finalize
      Src: /src/librdkafka/src/rdkafka_broker.c:1252,1
    - Dst: rd_kafka_broker_buf_enq0
      Src: /src/librdkafka/src/rdkafka_broker.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rkb
    - rkbuf
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1243
    functionDepth: 6
    functionLinenumber: 1243
    functionLinenumberEnd: 1255
    functionName: rd_kafka_broker_buf_enq1
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_buf_enq0
    - rd_kafka_buf_finalize
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_buf_enq1(rd_kafka_broker_t *rkb,\n                              rd_kafka_buf_t
      *rkbuf,\n                              rd_kafka_resp_cb_t *resp_cb,\n                              void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:1266,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:1268,1
    - Dst: rd_kafka_broker_buf_enq0
      Src: /src/librdkafka/src/rdkafka_broker.c:1274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1264
    functionDepth: 6
    functionLinenumber: 1264
    functionLinenumberEnd: 1277
    functionName: rd_kafka_broker_buf_enq2
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_buf_enq0
    - rd_kafka_buf_callback
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_buf_enq2(rd_kafka_broker_t *rkb,\n                                    rd_kafka_buf_t
      *rkbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1293,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:1299,1
    - Dst: rd_kafka_buf_finalize
      Src: /src/librdkafka/src/rdkafka_broker.c:1304,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:1306,1
    - Dst: rd_kafka_broker_buf_enq2
      Src: /src/librdkafka/src/rdkafka_broker.c:1307,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:1310,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:1312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - rkb
    - rkbuf
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts:
    - condition: (rkbuf->rkbuf_rkb == rkb)
      pos:
        line_end: 1292
        line_start: 1292
        source_file: /src/librdkafka/src/rdkafka_broker.c
    constantsTouched: []
    func_position:
      end: 1314
      start: 1287
    functionDepth: 7
    functionLinenumber: 1287
    functionLinenumberEnd: 1314
    functionName: rd_kafka_broker_buf_enq_replyq
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_finalize
    - rd_kafka_q_enq
    - rd_kafka_broker_buf_enq2
    - thrd_is_current
    - rd_dassert
    - rd_kafka_op_new
    - assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_buf_enq_replyq(rd_kafka_broker_t *rkb,\n                                    rd_kafka_buf_t
      *rkbuf,\n                                    rd_kafka_replyq_t replyq,\n                                    rd_kafka_resp_cb_t
      *resp_cb,\n                                    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1327,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1331
    functionName: rd_kafka_brokers_get_state_version
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int rd_kafka_brokers_get_state_version(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1355,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/rdkafka_broker.c:1359,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - stored_version
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1364
    functionName: rd_kafka_brokers_wait_state_change
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - cnd_timedwait_ms
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_brokers_wait_state_change(rd_kafka_t *rk,\n                                       int
      stored_version,\n                                       int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1383,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_broker.c:1388,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1389,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - stored_version
    - eonce
    argTypes:
    - rd_kafka_t*
    - int
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1379
    functionDepth: 3
    functionLinenumber: 1379
    functionLinenumberEnd: 1394
    functionName: rd_kafka_brokers_wait_state_change_async
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_list_add
    - mtx_lock
    - rd_kafka_enq_once_add_source
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_brokers_wait_state_change_async(rd_kafka_t *rk,\n                                             int
      stored_version,\n                                             rd_kafka_enq_once_t
      *eonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_broker.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1407
    functionName: rd_kafka_broker_state_change_trigger_eonce
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_state_change_trigger_eonce(void *elem,\n                                                      void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:1417,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1419,1
    - Dst: rd_list_apply
      Src: /src/librdkafka/src/rdkafka_broker.c:1425,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_broker.c:1429,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1415
    functionDepth: 2
    functionLinenumber: 1415
    functionLinenumberEnd: 1432
    functionName: rd_kafka_brokers_broadcast_state_change
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 3
    functionsReached:
    - mtx_lock
    - cnd_broadcast
    - rd_list_apply
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_brokers_broadcast_state_change(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:1467,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:1468,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:1469,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1472,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:1473,1
    - Dst: filter
      Src: /src/librdkafka/src/rdkafka_broker.c:1475,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_broker.c:1479,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:1481,1
    - Dst: rd_kafka_broker_keep_fl
      Src: /src/librdkafka/src/rdkafka_broker.c:1482,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1489,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 7
    argNames:
    - func
    - line
    - rk
    - is_up
    - state
    - filtered_cnt
    - opaque
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - rd_bool_t
    - int
    - int*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1496
    functionName: rd_kafka_broker_random0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep_fl
    - rd_jitter
    - rd_kafka_broker_destroy
    - filter
    - rd_kafka_broker_state_is_up
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - TAILQ_FOREACH
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_random0(const char *func,\n                                           int
      line,\n                                           rd_kafka_t *rk,\n                                           rd_bool_t
      is_up,\n                                           int state,\n                                           int
      *filtered_cnt,\n                                           int (*filter)(rd_kafka_broker_t
      *rk,\n                                                         void *opaque),\n
      \                                          void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:1523,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:1525,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1528,1
    - Dst: weight_cb
      Src: /src/librdkafka/src/rdkafka_broker.c:1532,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1533,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_broker.c:1544,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:1546,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:1547,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - rk
    - features
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1515
    functionDepth: 2
    functionLinenumber: 1515
    functionLinenumberEnd: 1554
    functionName: rd_kafka_broker_weighted
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_jitter
    - rd_kafka_broker_destroy
    - weight_cb
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - TAILQ_FOREACH
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *\nrd_kafka_broker_weighted(rd_kafka_t *rk,\n                         int
      (*weight_cb)(rd_kafka_broker_t *rkb),\n                         int features)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.c:1580,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:1581,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:1586,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:1586,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_broker.c:1587,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:1588,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:1603,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1607
    functionName: rd_kafka_broker_weight_usable
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - RD_MIN
    - rd_atomic32_get
    - rd_kafka_broker_state_is_up
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_atomic64_get
    - rd_clock
    - likely
    linkageType: ''
    returnType: int
    signature: int rd_kafka_broker_weight_usable(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_random
      Src: /src/librdkafka/src/rdkafka_broker.c:1630,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka_broker.c:1636,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - rk
    - state
    - opaque
    - reason
    argTypes:
    - rd_kafka_t*
    - int
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1622
    functionDepth: 1
    functionLinenumber: 1622
    functionLinenumberEnd: 1640
    functionName: rd_kafka_broker_any
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_random
    - rd_kafka_connect_any
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_any(rd_kafka_t *rk,\n                                       int
      state,\n                                       int (*filter)(rd_kafka_broker_t
      *rkb,\n                                                     void *opaque),\n
      \                                      void *opaque,\n                                       const
      char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_random0
      Src: /src/librdkafka/src/rdkafka_broker.c:1662,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka_broker.c:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - rk
    - filtered_cnt
    - opaque
    - reason
    argTypes:
    - rd_kafka_t*
    - int*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1654
    functionDepth: 3
    functionLinenumber: 1654
    functionLinenumberEnd: 1674
    functionName: rd_kafka_broker_any_up
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_connect_any
    - rd_kafka_broker_random0
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_any_up(rd_kafka_t *rk,\n                                          int
      *filtered_cnt,\n                                          int (*filter)(rd_kafka_broker_t
      *rkb,\n                                                        void *opaque),\n
      \                                         void *opaque,\n                                          const
      char *reason)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_broker.c:1695,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka_broker.c:1700,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1703,1
    - Dst: rd_kafka_broker_weighted
      Src: /src/librdkafka/src/rdkafka_broker.c:1705,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka_broker.c:1712,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1716,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:1721,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_broker.c:1722,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:1725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - rk
    - timeout_ms
    - do_lock
    - features
    - reason
    argTypes:
    - rd_kafka_t*
    - int
    - rd_dolock_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1690
    functionDepth: 3
    functionLinenumber: 1690
    functionLinenumberEnd: 1729
    functionName: rd_kafka_broker_any_usable
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_broker_weighted
    - rd_kafka_rdunlock
    - rd_timeout_expired
    - rd_kafka_connect_any
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_brokers_get_state_version
    - rd_timeout_remains
    - rd_timeout_init
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_any_usable(rd_kafka_t *rk,\n                                              int
      timeout_ms,\n                                              rd_dolock_t do_lock,\n
      \                                             int features,\n                                              const
      char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka_broker.c:1755,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1757,1
    - Dst: rd_kafka_broker_find_by_nodeid0
      Src: /src/librdkafka/src/rdkafka_broker.c:1758,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1760,1
    - Dst: rd_kafka_brokers_wait_state_change_async
      Src: /src/librdkafka/src/rdkafka_broker.c:1765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rk
    - broker_id
    - state
    - eonce
    argTypes:
    - rd_kafka_t*
    - int32_t
    - int
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1747
    functionDepth: 4
    functionLinenumber: 1747
    functionLinenumberEnd: 1768
    functionName: rd_kafka_broker_get_async
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_broker_find_by_nodeid0
    - rd_kafka_brokers_wait_state_change_async
    - rd_kafka_brokers_get_state_version
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_get_async(rd_kafka_t *rk,\n                                             int32_t
      broker_id,\n                                             int state,\n                                             rd_kafka_enq_once_t
      *eonce)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka_broker.c:1791,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1793,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:1794,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:1796,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:1797,1
    - Dst: rd_list_set_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:1801,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_broker.c:1805,1
    - Dst: rd_list_init_int32
      Src: /src/librdkafka/src/rdkafka_broker.c:1806,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:1809,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:1810,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:1813,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:1815,1
    - Dst: rd_list_set_int32
      Src: /src/librdkafka/src/rdkafka_broker.c:1816,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1819,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1821,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_broker.c:1823,1
    - Dst: rd_kafka_brokers_wait_state_change_async
      Src: /src/librdkafka/src/rdkafka_broker.c:1825,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:1828,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - rk
    - eonce
    argTypes:
    - rd_kafka_t*
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1784
    functionDepth: 4
    functionLinenumber: 1784
    functionLinenumberEnd: 1831
    functionName: rd_kafka_brokers_get_nodeids_async
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_list_init_int32
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - rd_atomic32_get
    - rd_kafka_brokers_wait_state_change_async
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_list_set_int32
    - rd_kafka_brokers_get_state_version
    - rd_kafka_broker_or_instance_terminating
    - TAILQ_FOREACH
    - rd_list_set_cnt
    - rd_list_empty
    linkageType: ''
    returnType: rd_list_t
    signature: "rd_list_t *rd_kafka_brokers_get_nodeids_async(rd_kafka_t *rk,\n                                              rd_kafka_enq_once_t
      *eonce)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1847,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1850,1
    - Dst: rd_kafka_metadata_refresh_brokers
      Src: /src/librdkafka/src/rdkafka_broker.c:1851,1
    - Dst: rd_kafka_broker_find_by_nodeid0
      Src: /src/librdkafka/src/rdkafka_broker.c:1856,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - state
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1843
    functionDepth: 1
    functionLinenumber: 1843
    functionLinenumberEnd: 1862
    functionName: rd_kafka_broker_controller_nowait
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_metadata_refresh_brokers
    - rd_kafka_broker_find_by_nodeid0
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_controller_nowait(rd_kafka_t *rk,\n
      \                                                           int state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka_broker.c:1886,1
    - Dst: rd_kafka_broker_controller_nowait
      Src: /src/librdkafka/src/rdkafka_broker.c:1888,1
    - Dst: rd_kafka_brokers_wait_state_change_async
      Src: /src/librdkafka/src/rdkafka_broker.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - state
    - eonce
    argTypes:
    - rd_kafka_t*
    - int
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1878
    functionDepth: 4
    functionLinenumber: 1878
    functionLinenumberEnd: 1895
    functionName: rd_kafka_broker_controller_async
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_brokers_get_state_version
    - rd_kafka_broker_controller_nowait
    - rd_kafka_brokers_wait_state_change_async
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *\nrd_kafka_broker_controller_async(rd_kafka_t *rk,\n
      \                                int state,\n                                 rd_kafka_enq_once_t
      *eonce)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka_broker.c:1911,1
    - Dst: rd_kafka_broker_controller_nowait
      Src: /src/librdkafka/src/rdkafka_broker.c:1915,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:1919,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_broker.c:1920,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:1923,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - state
    - abs_timeout
    argTypes:
    - rd_kafka_t*
    - int
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1907
    functionDepth: 3
    functionLinenumber: 1907
    functionLinenumberEnd: 1925
    functionName: rd_kafka_broker_controller
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_controller_nowait
    - rd_timeout_expired
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_brokers_get_state_version
    - rd_timeout_remains
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: 'rd_kafka_broker_t *

      rd_kafka_broker_controller(rd_kafka_t *rk, int state, rd_ts_t abs_timeout)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:1935,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1937,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:1937,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:1939,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1943,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1944,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1950,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1956,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1963,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:1972,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:1973,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:1975,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - rkb
    - corrid
    argTypes:
    - rd_kafka_broker_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1979
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1979
    functionName: rd_kafka_waitresp_find
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_brokers_broadcast_state_change
    - thrd_is_current
    - rd_kafka_bufq_deq
    - rd_kafka_assert
    - rd_clock
    - TAILQ_FOREACH
    - rd_avg_add
    - rd_atomic32_sub
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: "rd_kafka_buf_t *rd_kafka_waitresp_find(rd_kafka_broker_t *rkb,\n                                              int32_t
      corrid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:1991,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:1991,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:1995,1
    - Dst: rd_kafka_waitresp_find
      Src: /src/librdkafka/src/rdkafka_broker.c:1995,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:1998,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:1999,1
    - Dst: rd_kafka_interceptors_on_response_received
      Src: /src/librdkafka/src/rdkafka_broker.c:2003,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_broker.c:2004,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:2007,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2011,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2014,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_broker.c:2027,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_broker.c:2029,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_broker.c:2035,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:2039,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2041,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:2044,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2049,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:2050,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:2051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 1986
    functionDepth: 5
    functionLinenumber: 1986
    functionLinenumberEnd: 2053
    functionName: rd_kafka_req_response
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_assert
    - rd_buf_len
    - rd_kafka_buf_destroy
    - rd_atomic64_add
    - rd_kafka_broker_name
    - rd_kafka_buf_skip_tags
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_ApiKey2str
    - rd_kafka_buf_callback
    - rd_slice_init
    - rd_kafka_assert
    - rd_kafka_interceptors_on_response_received
    - unlikely
    - rd_kafka_waitresp_find
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_req_response(rd_kafka_broker_t *rkb,\n                                 rd_kafka_buf_t
      *rkbuf)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_broker.c:2076,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdkafka_broker.c:2081,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:2085,1
    - Dst: rd_buf_write_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:2085,1
    - Dst: rd_kafka_transport_recv
      Src: /src/librdkafka/src/rdkafka_broker.c:2087,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2089,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2093,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_broker.c:2097,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:2097,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2102,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_broker.c:2102,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2109,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_broker.c:2118,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_broker.c:2122,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_broker.c:2123,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:2133,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2140,1
    - Dst: rd_buf_write_ensure_contig
      Src: /src/librdkafka/src/rdkafka_broker.c:2151,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_broker.c:2156,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2160,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2161,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_broker.c:2162,1
    - Dst: rd_kafka_req_response
      Src: /src/librdkafka/src/rdkafka_broker.c:2163,1
    - Dst: rd_kafka_transport_error_disconnected
      Src: /src/librdkafka/src/rdkafka_broker.c:2171,1
    - Dst: rd_kafka_broker_conn_closed
      Src: /src/librdkafka/src/rdkafka_broker.c:2172,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2057
    functionDepth: 7
    functionLinenumber: 2057
    functionLinenumberEnd: 2177
    functionName: rd_kafka_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_atomic64_set
    - rd_assert
    - rd_snprintf
    - rd_kafka_transport_recv
    - rd_atomic64_add
    - rd_kafka_req_response
    - unlikely
    - rd_kafka_transport_error_disconnected
    - rd_buf_write_pos
    - rd_buf_write_ensure_contig
    - rd_dassert
    - rd_buf_write_ensure
    - rd_kafka_buf_read_i32
    - rd_clock
    - rd_kafka_broker_conn_closed
    - rd_kafka_broker_fail
    - rd_slice_init
    - rd_buf_write_remains
    - rd_kafka_buf_new
    linkageType: ''
    returnType: int
    signature: int rd_kafka_recv(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/librdkafka/src/rdkafka_broker.c:2185,1
    - Dst: rd_kafka_socket_cb_generic
      Src: /src/librdkafka/src/rdkafka_broker.c:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - opaque
    argTypes:
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2183
    functionDepth: 1
    functionLinenumber: 2183
    functionLinenumberEnd: 2189
    functionName: rd_kafka_socket_cb_linux
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_socket_cb_generic
    - socket
    linkageType: ''
    returnType: int
    signature: int rd_kafka_socket_cb_linux(int domain, int type, int protocol, void
      *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/librdkafka/src/rdkafka_broker.c:2201,1
    - Dst: fcntl
      Src: /src/librdkafka/src/rdkafka_broker.c:2205,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:2206,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_broker.c:2209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - opaque
    argTypes:
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2212
    functionName: rd_kafka_socket_cb_generic
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - fcntl
    - fprintf
    - socket
    - rd_strerror
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_socket_cb_generic(int domain,\n                               int
      type,\n                               int protocol,\n                               void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_broker.c:2238,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:2242,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:2246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rkb
    - conf
    - now
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_conf_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2224
    functionDepth: 2
    functionLinenumber: 2224
    functionLinenumberEnd: 2248
    functionName: rd_kafka_broker_update_reconnect_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - RD_MIN
    - rd_jitter
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_update_reconnect_backoff(rd_kafka_broker_t *rkb,\n
      \                                        const rd_kafka_conf_t *conf,\n                                         rd_ts_t
      now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rkb
    - now
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2272
    functionName: rd_kafka_broker_reconnect_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_reconnect_backoff(const rd_kafka_broker_t
      *rkb, rd_ts_t now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2289,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2292,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2294,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:2295,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:2304,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2305,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2308,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:2313,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:2314,1
    - Dst: rd_kafka_broker_resolve
      Src: /src/librdkafka/src/rdkafka_broker.c:2316,1
    - Dst: rd_sockaddr_list_next
      Src: /src/librdkafka/src/rdkafka_broker.c:2319,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2321,1
    - Dst: rd_kafka_transport_connect
      Src: /src/librdkafka/src/rdkafka_broker.c:2323,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2325,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:2330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2283
    functionDepth: 7
    functionLinenumber: 2283
    functionLinenumberEnd: 2333
    functionName: rd_kafka_broker_connect
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_update_reconnect_backoff
    - rd_kafka_transport_connect
    - rd_sockaddr_list_next
    - rd_kafka_broker_set_state
    - rd_rkb_dbg
    - rd_kafka_broker_resolve
    - rd_kafka_broker_fail
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_assert
    - rd_atomic32_add
    - rd_strlcpy
    - rd_clock
    linkageType: ''
    returnType: int
    signature: int rd_kafka_broker_connect(rd_kafka_broker_t *rkb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2348,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:2349,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2350,1
    - Dst: rd_kafka_metadata_refresh_known_topics
      Src: /src/librdkafka/src/rdkafka_broker.c:2355,1
    - Dst: rd_kafka_metadata_refresh_brokers
      Src: /src/librdkafka/src/rdkafka_broker.c:2358,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_broker.c:2360,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:2367,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:2368,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:2370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2342
    functionDepth: 5
    functionLinenumber: 2342
    functionLinenumberEnd: 2372
    functionName: rd_kafka_broker_connect_up
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_q_enq
    - rd_kafka_broker_set_state
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_op_new
    - rd_kafka_metadata_refresh_known_topics
    - rd_kafka_metadata_refresh_brokers
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_connect_up(rd_kafka_broker_t *rkb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_is_any_err_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:2397,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_broker.c:2403,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_broker.c:2404,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2407,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:2411,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_broker.c:2412,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_broker.c:2417,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:2419,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:2420,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2426,1
    - Dst: rd_kafka_broker_connect_auth
      Src: /src/librdkafka/src/rdkafka_broker.c:2435,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2441,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2445,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2384
    functionDepth: 6
    functionLinenumber: 2384
    functionLinenumberEnd: 2446
    functionName: rd_kafka_broker_handle_SaslHandshake
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_connect_auth
    - rd_kafka_buf_parse_fail
    - RD_MIN
    - rd_snprintf
    - rd_alloca
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_buf_read_i16
    - rd_kafka_broker_fail
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_str
    - rd_kafka_broker_is_any_err_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_handle_SaslHandshake(rd_kafka_t *rk,\n                                                 rd_kafka_broker_t
      *rkb,\n                                                 rd_kafka_resp_err_t
      err,\n                                                 rd_kafka_buf_t *rkbuf,\n
      \                                                rd_kafka_buf_t *request,\n
      \                                                void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2463,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2474,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:2475,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2477,1
    - Dst: rd_kafka_SaslHandshakeRequest
      Src: /src/librdkafka/src/rdkafka_broker.c:2479,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2489,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:2490,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2495,1
    - Dst: rd_kafka_sasl_client_new
      Src: /src/librdkafka/src/rdkafka_broker.c:2497,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2500,1
    - Dst: rd_kafka_broker_connect_up
      Src: /src/librdkafka/src/rdkafka_broker.c:2514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2458
    functionDepth: 6
    functionLinenumber: 2458
    functionLinenumberEnd: 2515
    functionName: rd_kafka_broker_connect_auth
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_sasl_client_new
    - rd_kafka_broker_connect_up
    - rd_kafka_broker_set_state
    - rd_rkb_dbg
    - rd_kafka_broker_fail
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_kafka_SaslHandshakeRequest
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_connect_auth(rd_kafka_broker_t *rkb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:2536,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2540,1
    - Dst: rd_kafka_get_legacy_ApiVersions
      Src: /src/librdkafka/src/rdkafka_broker.c:2546,1
    - Dst: rd_kafka_ApiVersions_copy
      Src: /src/librdkafka/src/rdkafka_broker.c:2551,1
    - Dst: rd_kafka_broker_features_set
      Src: /src/librdkafka/src/rdkafka_broker.c:2558,1
    - Dst: rd_kafka_features_check
      Src: /src/librdkafka/src/rdkafka_broker.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rkb
    - apis
    - api_cnt
    argTypes:
    - rd_kafka_broker_t*
    - struct rd_kafka_ApiVersion*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2560
    functionName: rd_kafka_broker_set_api_versions
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_get_legacy_ApiVersions
    - rd_rkb_dbg
    - rd_kafka_ApiVersions_copy
    - rd_kafka_broker_features_set
    - rd_kafka_features_check
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_set_api_versions(rd_kafka_broker_t *rkb,\n                                             struct
      rd_kafka_ApiVersion *apis,\n                                             size_t
      api_cnt)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_is_any_err_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:2576,1
    - Dst: rd_kafka_handle_ApiVersion
      Src: /src/librdkafka/src/rdkafka_broker.c:2579,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:2592,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_broker.c:2604,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:2617,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2621,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_broker.c:2626,1
    - Dst: rd_kafka_ApiVersionRequest
      Src: /src/librdkafka/src/rdkafka_broker.c:2628,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2637,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2642,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2646,1
    - Dst: rd_kafka_broker_set_api_versions
      Src: /src/librdkafka/src/rdkafka_broker.c:2647,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2648,1
    - Dst: rd_kafka_broker_connect_auth
      Src: /src/librdkafka/src/rdkafka_broker.c:2650,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2651
      start: 2566
    functionDepth: 7
    functionLinenumber: 2566
    functionLinenumberEnd: 2651
    functionName: rd_kafka_broker_handle_ApiVersion
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2name
    - rd_free
    - rd_kafka_broker_set_api_versions
    - rd_kafka_broker_connect_auth
    - RD_MIN
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_ApiVersionRequest
    - rd_kafka_broker_fail
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_handle_ApiVersion
    - rd_rkb_log
    - rd_kafka_broker_is_any_err_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_handle_ApiVersion(rd_kafka_t *rk,\n                                              rd_kafka_broker_t
      *rkb,\n                                              rd_kafka_resp_err_t err,\n
      \                                             rd_kafka_buf_t *rkbuf,\n                                              rd_kafka_buf_t
      *request,\n                                              void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:2665,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2672,1
    - Dst: rd_kafka_transport_poll_set
      Src: /src/librdkafka/src/rdkafka_broker.c:2678,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:2680,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_broker.c:2683,1
    - Dst: rd_kafka_broker_feature_enable
      Src: /src/librdkafka/src/rdkafka_broker.c:2685,1
    - Dst: rd_kafka_broker_set_api_versions
      Src: /src/librdkafka/src/rdkafka_broker.c:2696,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:2705,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2707,1
    - Dst: rd_kafka_ApiVersionRequest
      Src: /src/librdkafka/src/rdkafka_broker.c:2709,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:2714,1
    - Dst: rd_kafka_broker_connect_auth
      Src: /src/librdkafka/src/rdkafka_broker.c:2717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - rkb
    - errstr
    argTypes:
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2661
    functionDepth: 7
    functionLinenumber: 2661
    functionLinenumberEnd: 2719
    functionName: rd_kafka_broker_connect_done
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_set_api_versions
    - rd_kafka_broker_connect_auth
    - rd_kafka_broker_set_state
    - rd_rkb_dbg
    - rd_kafka_ApiVersionRequest
    - rd_kafka_broker_fail
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_broker_feature_enable
    - rd_kafka_transport_poll_set
    - rd_interval_immediate
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_connect_done(rd_kafka_broker_t *rkb, const char
      *errstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2735,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_broker.c:2748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2755
    functionName: rd_kafka_broker_request_supported
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - bsearch
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_broker_request_supported(rd_kafka_broker_t *rkb,\n
      \                                                      rd_kafka_buf_t *rkbuf)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2767,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:2767,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:2770,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.c:2771,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_broker.c:2773,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2776,1
    - Dst: rd_kafka_buf_t*::rkbuf_make_req_cb
      Src: /src/librdkafka/src/rdkafka_broker.c:2781,1
    - Dst: rd_kafka_buf_t*::rkbuf_free_make_opaque_cb
      Src: /src/librdkafka/src/rdkafka_broker.c:2789,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2794,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:2795,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2796,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2799,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2801,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:2802,1
    - Dst: rd_kafka_buf_finalize
      Src: /src/librdkafka/src/rdkafka_broker.c:2807,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:2811,1
    - Dst: rd_kafka_broker_request_supported
      Src: /src/librdkafka/src/rdkafka_broker.c:2811,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:2812,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2813,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2821,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:2824,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2841,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_broker.c:2841,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_broker.c:2843,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:2847,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2852,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2857,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_broker.c:2859,1
    - Dst: rd_kafka_broker_send
      Src: /src/librdkafka/src/rdkafka_broker.c:2862,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:2865,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_broker.c:2866,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:2869,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2870,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2877,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_broker.c:2879,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2884,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2888,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_broker.c:2890,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2893,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:2897,1
    - Dst: rd_kafka_transport_request_sent
      Src: /src/librdkafka/src/rdkafka_broker.c:2898,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:2901,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2908,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2910,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2916,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:2917,1
    - Dst: rd_kafka_bufq_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:2922,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_broker.c:2924,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2763
    functionDepth: 7
    functionLinenumber: 2763
    functionLinenumberEnd: 2931
    functionName: rd_kafka_send
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_request_supported
    - rd_assert
    - rd_atomic64_set
    - rd_slice_remains
    - rd_atomic64_add
    - rd_kafka_brokers_broadcast_state_change
    - rd_kafka_buf_update_i32
    - unlikely
    - rd_kafka_ApiKey2str
    - rd_slice_offset
    - rd_kafka_buf_finalize
    - rd_kafka_err2str
    - rd_kafka_transport_request_sent
    - rd_kafka_bufq_deq
    - rd_slice_size
    - rd_kafka_buf_t*::rkbuf_make_req_cb
    - rd_kafka_bufq_cnt
    - rd_kafka_bufq_enq
    - rd_clock
    - rd_avg_add
    - rd_kafka_broker_send
    - rd_rkb_dbg
    - TAILQ_FIRST
    - thrd_is_current
    - rd_kafka_buf_callback
    - rd_kafka_assert
    - rd_atomic32_add
    - likely
    - rd_kafka_buf_t*::rkbuf_free_make_opaque_cb
    linkageType: ''
    returnType: int
    signature: int rd_kafka_send(rd_kafka_broker_t *rkb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_replyq_clear
      Src: /src/librdkafka/src/rdkafka_broker.c:2944,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:2949,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:2950,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:2952,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:2956,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_broker.c:2960,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_broker.c:2962,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:2966,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_broker.c:2985,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:2992,1
    - Dst: rd_slice_seek
      Src: /src/librdkafka/src/rdkafka_broker.c:3000,1
    - Dst: rd_kafka_bufq_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:3003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - rkb
    - rkbuf
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3004
      start: 2937
    functionDepth: 3
    functionLinenumber: 2937
    functionLinenumberEnd: 3004
    functionName: rd_kafka_broker_buf_retry
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_slice_size
    - rd_kafka_q_enq
    - rd_jitter
    - rd_atomic64_add
    - rd_rkb_dbg
    - rd_kafka_op_new
    - rd_kafka_replyq_clear
    - thrd_is_current
    - rd_kafka_bufq_enq
    - rd_slice_seek
    - rd_clock
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_buf_retry(rd_kafka_broker_t *rkb, rd_kafka_buf_t
      *rkbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:3013,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.c:3017,1
    - Dst: rd_kafka_bufq_deq
      Src: /src/librdkafka/src/rdkafka_broker.c:3024,1
    - Dst: rd_kafka_broker_buf_enq0
      Src: /src/librdkafka/src/rdkafka_broker.c:3026,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - rkb
    - next_wakeup
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3011
    functionDepth: 6
    functionLinenumber: 3011
    functionLinenumberEnd: 3033
    functionName: rd_kafka_broker_retry_bufs_move
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_buf_enq0
    - rd_rkb_dbg
    - TAILQ_FIRST
    - rd_kafka_bufq_deq
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_retry_bufs_move(rd_kafka_broker_t *rkb,\n                                            rd_ts_t
      *next_wakeup)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3051,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3051,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_broker.c:3054,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:3055,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3056,1
    - Dst: rd_kafka_interceptors_on_acknowledgement_queue
      Src: /src/librdkafka/src/rdkafka_broker.c:3059,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:3070,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:3072,1
    - Dst: rd_kafka_Produce_result_copy
      Src: /src/librdkafka/src/rdkafka_broker.c:3075,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:3076,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_broker.c:3079,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:3081,1
    - Dst: rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_broker.c:3087,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - rkt
    - rkmq
    - err
    - presult
    argTypes:
    - rd_kafka_topic_t*
    - rd_kafka_msgq_t*
    - rd_kafka_resp_err_t
    - rd_kafka_Produce_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3045
    functionDepth: 5
    functionLinenumber: 3045
    functionLinenumberEnd: 3089
    functionName: rd_kafka_dr_msgq0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Produce_result_copy
    - rd_kafka_q_enq
    - rd_kafka_topic_keep
    - rd_atomic64_add
    - rd_kafka_msgq_move
    - rd_kafka_op_new
    - rd_kafka_msgq_init
    - rd_kafka_is_transactional
    - rd_kafka_interceptors_on_acknowledgement_queue
    - rd_kafka_msgq_purge
    - rd_kafka_msgq_len
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_dr_msgq0(rd_kafka_topic_t *rkt,\n                       rd_kafka_msgq_t
      *rkmq,\n                       rd_kafka_resp_err_t err,\n                       const
      rd_kafka_Produce_result_t *presult)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_broker.c:3101,1
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_broker.c:3102,1
    - Dst: rd_kafka_msgq_move_acked
      Src: /src/librdkafka/src/rdkafka_broker.c:3108,1
    - Dst: rd_kafka_msgq_move_acked
      Src: /src/librdkafka/src/rdkafka_broker.c:3110,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3113,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3116,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3119,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:3126,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3127,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_broker.c:3128,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_broker.c:3129,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - rkb
    - rktp
    - last_msgid
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3098
    functionDepth: 2
    functionLinenumber: 3098
    functionLinenumberEnd: 3134
    functionName: rd_kafka_dr_implicit_ack
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_first
    - rd_kafka_dr_msgq
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_msgq_insert_msgq
    - rd_kafka_msgq_len
    - rd_kafka_msgq_last
    - rd_kafka_msgq_move_acked
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_dr_implicit_ack(rd_kafka_broker_t *rkb,\n                              rd_kafka_toppar_t
      *rktp,\n                              uint64_t last_msgid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_broker.c:3141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3142
    functionName: rd_kafka_broker_cmp_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_broker_cmp_by_id(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3153,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:3155,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_broker.c:3156,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkb
    - logname
    argTypes:
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3151
    functionDepth: 1
    functionLinenumber: 3151
    functionLinenumberEnd: 3158
    functionName: rd_kafka_broker_set_logname
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_free
    - rd_strdup
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_set_logname(rd_kafka_broker_t *rkb,\n                                        const
      char *logname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_monitor_del
      Src: /src/librdkafka/src/rdkafka_broker.c:3173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3174
    functionName: rd_kafka_broker_prepare_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_monitor_del
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_prepare_destroy(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3176
    functionDepth: 1
    functionLinenumber: 3176
    functionLinenumberEnd: 3179
    functionName: rd_kafka_broker_destroy_error
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_terminating
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_broker_destroy_error(rd_kafka_t *rk)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3195,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:3195,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3203,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3204,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:3206,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3207,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:3210,1
    - Dst: rd_kafka_mk_brokername
      Src: /src/librdkafka/src/rdkafka_broker.c:3216,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:3219,1
    - Dst: rd_kafka_broker_set_logname
      Src: /src/librdkafka/src/rdkafka_broker.c:3221,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3223,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:3226,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3229,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3230,1
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:3233,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:3238,1
    - Dst: rd_kafka_broker_buf_enq2
      Src: /src/librdkafka/src/rdkafka_broker.c:3243,1
    - Dst: rd_kafka_broker_buf_retry
      Src: /src/librdkafka/src/rdkafka_broker.c:3252,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3261,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3264,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3266,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3273,1
    - Dst: rd_kafka_broker_termination_in_progress
      Src: /src/librdkafka/src/rdkafka_broker.c:3275,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3279,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3281,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3287,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_broker.c:3295,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:3300,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:3303,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3306,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3307,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3312,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3317,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3319,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:3322,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3323,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_broker.c:3324,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3326,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3328,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:3329,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:3330,1
    - Dst: rd_kafka_broker_active_toppar_add
      Src: /src/librdkafka/src/rdkafka_broker.c:3333,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_broker.c:3335,1
    - Dst: rd_kafka_idemp_drain_toppar
      Src: /src/librdkafka/src/rdkafka_broker.c:3339,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3349,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3352,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:3354,1
    - Dst: rd_kafka_topic_get_error
      Src: /src/librdkafka/src/rdkafka_broker.c:3365,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3367,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3371,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3372,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_broker.c:3380,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3382,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3385,1
    - Dst: rd_kafka_toppar_fetch_decide
      Src: /src/librdkafka/src/rdkafka_broker.c:3388,1
    - Dst: rd_kafka_broker_bufq_purge_by_toppar
      Src: /src/librdkafka/src/rdkafka_broker.c:3393,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3399,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3401,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3406,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_broker.c:3408,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3414,1
    - Dst: rd_kafka_broker_active_toppar_del
      Src: /src/librdkafka/src/rdkafka_broker.c:3419,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3421,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_broker.c:3422,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3424,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3425,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3427,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3432,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:3438,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3441,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3447,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3448,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3448,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3450,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3452,1
    - Dst: rd_kafka_toppar_purge_internal_fetch_queue_maybe
      Src: /src/librdkafka/src/rdkafka_broker.c:3459,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3464,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3465,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:3467,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3472,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_broker.c:3477,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:3479,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:3480,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:3481,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:3486,1
    - Dst: rd_kafka_broker_destroy_error
      Src: /src/librdkafka/src/rdkafka_broker.c:3487,1
    - Dst: rd_kafka_broker_prepare_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3490,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:3492,1
    - Dst: rd_kafka_broker_handle_purge_queues
      Src: /src/librdkafka/src/rdkafka_broker.c:3501,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3509,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3512,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:3513,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3515,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3524,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3527,1
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:3530,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3543,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3549,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:3550,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3551,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:3557,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_broker.c:3562,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 176
    argCount: 2
    argNames:
    - rkb
    - rko
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3565
      start: 3189
    functionDepth: 7
    functionLinenumber: 3189
    functionLinenumberEnd: 3565
    functionName: rd_kafka_broker_op_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_wrlock
    - rd_kafka_brokers_broadcast_state_change
    - rd_kafka_broker_active_toppar_del
    - rd_kafka_dr_msgq
    - rd_kafka_broker_handle_purge_queues
    - rd_kafka_topic_get_error
    - rd_kafka_broker_set_logname
    - rd_kafka_toppar_fetch_decide
    - rd_kafka_toppar_purge_internal_fetch_queue_maybe
    - rd_kafka_msgq_insert_msgq
    - rd_kafka_broker_planned_fail
    - rd_strlcpy
    - rd_kafka_broker_buf_retry
    - rd_kafka_toppar_destroy
    - unlikely
    - rd_kafka_q_keep
    - rd_kafka_broker_active_toppar_add
    - rd_kafka_broker_prepare_destroy
    - rd_kafka_terminating
    - rd_kafka_q_destroy
    - rd_kafka_broker_name
    - rd_kafka_is_idempotent
    - rd_kafka_op_reply
    - rd_kafka_broker_keep
    - TAILQ_REMOVE
    - rd_kafka_q_enq
    - strcmp
    - rd_kafka_bufq_cnt
    - rd_kafka_broker_unlock
    - rd_kafka_broker_termination_in_progress
    - TAILQ_INSERT_TAIL
    - rd_kafka_idemp_drain_toppar
    - rd_kafka_msgq_len
    - rd_kafka_toppar_unlock
    - rd_kafka_broker_or_instance_terminating
    - rd_kafka_wrunlock
    - rd_kafka_broker_buf_enq2
    - rd_kafka_broker_destroy
    - rd_kafka_broker_set_state
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_broker_destroy_error
    - rd_kafka_broker_fail
    - rd_kafka_broker_lock
    - rd_refcnt_get
    - rd_kafka_toppar_keep
    - rd_kafka_broker_bufq_purge_by_toppar
    - rd_kafka_assert
    - rd_kafka_mk_brokername
    linkageType: ''
    returnType: RD_WARN_UNUSED_RESULT
    signature: RD_WARN_UNUSED_RESULT rd_kafka_broker_op_serve(rd_kafka_broker_t *rkb,
      rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka_broker.c:3578,1
    - Dst: rd_kafka_broker_op_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - rkb
    - timeout_us
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3573
    functionDepth: 8
    functionLinenumber: 3573
    functionLinenumberEnd: 3583
    functionName: rd_kafka_broker_ops_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_pop
    - rd_kafka_broker_op_serve
    linkageType: ''
    returnType: RD_WARN_UNUSED_RESULT
    signature: RD_WARN_UNUSED_RESULT rd_kafka_broker_ops_serve(rd_kafka_broker_t *rkb,
      rd_ts_t timeout_us)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3609,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3609,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:3610,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3611,1
    - Dst: rd_kafka_broker_needs_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:3611,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3613,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:3615,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:3618,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_broker.c:3627,1
    - Dst: rd_kafka_transport_io_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3630,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:3632,1
    - Dst: rd_kafka_broker_ops_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3639,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka_broker.c:3639,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_broker.c:3641,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3645,1
    - Dst: rd_kafka_broker_needs_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:3645,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3647,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:3648,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3650,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:3655,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_broker.c:3656,1
    - Dst: rd_kafka_broker_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - rkb
    - abs_timeout
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3660
      start: 3604
    functionDepth: 9
    functionLinenumber: 3604
    functionLinenumberEnd: 3660
    functionName: rd_kafka_broker_ops_io_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    - rd_timeout_remains_us
    - rd_kafka_broker_timeout_scan
    - rd_kafka_transport_io_serve
    - rd_kafka_broker_ops_serve
    - rd_atomic64_add
    - rd_kafka_broker_set_state
    - rd_interval
    - rd_kafka_broker_lock
    - rd_timeout_remains
    - rd_kafka_broker_unlock
    - rd_kafka_broker_needs_connection
    - rd_clock
    - likely
    - unlikely
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: RD_WARN_UNUSED_RESULT
    signature: RD_WARN_UNUSED_RESULT rd_kafka_broker_ops_io_serve(rd_kafka_broker_t
      *rkb, rd_ts_t abs_timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_broker.c:3675,1
    - Dst: rd_kafka_broker_consumer_toppar_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3685
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3685
    functionName: rd_kafka_broker_consumer_toppars_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_consumer_toppar_serve
    - TAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: rd_ts_t
    signature: rd_ts_t rd_kafka_broker_consumer_toppars_serve(rd_kafka_broker_t *rkb)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_broker.c:3704,1
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_broker.c:3705,1
    - Dst: rd_kafka_msgq_age_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3712,1
    - Dst: rd_kafka_msgq_age_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3717,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:3723,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3727,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_broker.c:3730,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_broker.c:3731,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:3733,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - rkb
    - rktp
    - now
    - abs_next_timeout
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_ts_t
    - rd_ts_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3746
      start: 3700
    functionDepth: 2
    functionLinenumber: 3700
    functionLinenumberEnd: 3746
    functionName: rd_kafka_broker_toppar_msgq_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_first
    - rd_kafka_dr_msgq
    - rd_rkb_dbg
    - rd_kafka_msgq_age_scan
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_msgq_insert_msgq
    - likely
    - rd_kafka_msgq_last
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_toppar_msgq_scan(rd_kafka_broker_t *rkb,\n                                            rd_kafka_toppar_t
      *rktp,\n                                            rd_ts_t now,\n                                            rd_ts_t
      *abs_next_timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:3763,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3766,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3768,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3771,1
    - Dst: rd_kafka_broker_toppar_msgq_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3776,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rkb
    - now
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3758
    functionDepth: 3
    functionLinenumber: 3758
    functionLinenumberEnd: 3785
    functionName: rd_kafka_broker_toppars_timeout_scan
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_broker_toppar_msgq_scan
    - unlikely
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_ts_t
    signature: "rd_ts_t rd_kafka_broker_toppars_timeout_scan(rd_kafka_broker_t *rkb,\n
      \                                                   rd_ts_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_consumer_toppars_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3799,1
    - Dst: rd_kafka_broker_ops_io_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3801,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3803,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_broker.c:3805,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:3805,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:3811,1
    - Dst: rd_kafka_broker_toppars_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3815,1
    - Dst: rd_kafka_broker_ops_io_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:3818,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:3819,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:3821,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka_broker.c:3823,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_broker.c:3823,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - rkb
    - abs_timeout
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3825
      start: 3791
    functionDepth: 10
    functionLinenumber: 3791
    functionLinenumberEnd: 3825
    functionName: rd_kafka_broker_internal_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_timeout_expired
    - RD_MIN
    - rd_kafka_broker_terminating
    - rd_kafka_broker_toppars_timeout_scan
    - rd_kafka_broker_consumer_toppars_serve
    - rd_timeout_remains
    - rd_clock
    - rd_kafka_broker_ops_io_serve
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_internal_serve(rd_kafka_broker_t *rkb,\n                                           rd_ts_t
      abs_timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:3836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3838
      start: 3833
    functionDepth: 1
    functionLinenumber: 3833
    functionLinenumberEnd: 3838
    functionName: rd_kafka_broker_outbufs_space
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: RD_INLINE unsigned
    signature: RD_INLINE unsigned rd_kafka_broker_outbufs_space(rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - next_wakeup_ptr
    - ','
    - maybe_next_wakeup
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3856
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3856
    functionName: rd_kafka_set_next_wakeup
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_set_next_wakeup(next_wakeup_ptr, maybe_next_wakeup)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_outbufs_space
      Src: /src/librdkafka/src/rdkafka_broker.c:3899,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:3901,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3903,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3906,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3910,1
    - Dst: rd_kafka_broker_toppar_msgq_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:3916,1
    - Dst: rd_kafka_set_next_wakeup
      Src: /src/librdkafka/src/rdkafka_broker.c:3919,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_broker.c:3921,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_broker.c:3922,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3925,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3936,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_broker.c:3938,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3949,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3952,1
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka_broker.c:3952,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3955,1
    - Dst: RD_KAFKA_TOPPAR_IS_PAUSED
      Src: /src/librdkafka/src/rdkafka_broker.c:3955,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3958,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_broker.c:3958,1
    - Dst: rd_kafka_txn_toppar_may_send_msg
      Src: /src/librdkafka/src/rdkafka_broker.c:3959,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_broker.c:3967,1
    - Dst: rd_kafka_msgq_allow_wakeup_at
      Src: /src/librdkafka/src/rdkafka_broker.c:3976,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:3990,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_broker.c:3993,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:3998,1
    - Dst: rd_kafka_pid_eq
      Src: /src/librdkafka/src/rdkafka_broker.c:3998,1
    - Dst: rd_kafka_broker_bufq_purge_by_toppar
      Src: /src/librdkafka/src/rdkafka_broker.c:4001,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_broker.c:4006,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4007,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:4014,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4018,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4020,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4029,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:4036,1
    - Dst: rd_kafka_broker_bufq_purge_by_toppar
      Src: /src/librdkafka/src/rdkafka_broker.c:4043,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4051,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:4055,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_broker.c:4063,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_broker.c:4076,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4078,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:4082,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.c:4085,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:4086,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_broker.c:4088,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4091,1
    - Dst: rd_kafka_pid_eq
      Src: /src/librdkafka/src/rdkafka_broker.c:4091,1
    - Dst: rd_kafka_toppar_pid_change
      Src: /src/librdkafka/src/rdkafka_broker.c:4095,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4100,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4105,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4108,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4110,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:4114,1
    - Dst: rd_kafka_ProduceRequest
      Src: /src/librdkafka/src/rdkafka_broker.c:4131,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:4132,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4141,1
    - Dst: rd_kafka_msgq_allow_wakeup_at
      Src: /src/librdkafka/src/rdkafka_broker.c:4142,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4149,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 100
    argCount: 8
    argNames:
    - rkb
    - rktp
    - pid
    - now
    - next_wakeup
    - do_timeout_scan
    - may_send
    - flushing
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_pid_t
    - rd_ts_t
    - rd_ts_t*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 3875
    functionDepth: 6
    functionLinenumber: 3875
    functionLinenumberEnd: 4153
    functionName: rd_kafka_toppar_producer_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_pid_change
    - rd_kafka_broker_toppar_msgq_scan
    - rd_kafka_is_transactional
    - rd_kafka_msgq_allow_wakeup_at
    - rd_kafka_msgq_insert_msgq
    - RD_KAFKA_TOPPAR_IS_PAUSED
    - unlikely
    - rd_kafka_pid_valid
    - rd_kafka_set_next_wakeup
    - RD_MIN
    - rd_kafka_broker_outbufs_space
    - rd_atomic32_get
    - rd_kafka_fatal_error_code
    - rd_kafka_txn_toppar_may_send_msg
    - rd_kafka_is_idempotent
    - rd_kafka_ProduceRequest
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_kafka_idemp_drain_epoch_bump
    - rd_kafka_toppar_unlock
    - rd_rkb_dbg
    - TAILQ_FIRST
    - rd_kafka_msgq_verify_order
    - rd_kafka_pid_eq
    - rd_kafka_broker_bufq_purge_by_toppar
    - likely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_producer_serve(rd_kafka_broker_t *rkb,\n                                          rd_kafka_toppar_t
      *rktp,\n                                          const rd_kafka_pid_t pid,\n
      \                                         rd_ts_t now,\n                                          rd_ts_t
      *next_wakeup,\n                                          rd_bool_t do_timeout_scan,\n
      \                                         rd_bool_t may_send,\n                                          rd_bool_t
      flushing)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4178,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_broker.c:4181,1
    - Dst: rd_kafka_idemp_get_pid
      Src: /src/librdkafka/src/rdkafka_broker.c:4183,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_broker.c:4190,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_broker.c:4192,1
    - Dst: rd_kafka_txn_may_send_msg
      Src: /src/librdkafka/src/rdkafka_broker.c:4193,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4200,1
    - Dst: rd_kafka_toppar_producer_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4206,1
    - Dst: rd_kafka_set_next_wakeup
      Src: /src/librdkafka/src/rdkafka_broker.c:4210,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_broker.c:4212,1
    - Dst: rd_kafka_broker_active_toppar_next
      Src: /src/librdkafka/src/rdkafka_broker.c:4217,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_broker.c:4219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - rkb
    - now
    - next_wakeup
    - do_timeout_scan
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    - rd_ts_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4224
      start: 4165
    functionDepth: 7
    functionLinenumber: 4165
    functionLinenumberEnd: 4224
    functionName: rd_kafka_broker_produce_toppars
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid_valid
    - rd_kafka_txn_may_send_msg
    - rd_kafka_set_next_wakeup
    - CIRCLEQ_LOOP_NEXT
    - rd_kafka_broker_active_toppar_next
    - rd_atomic32_get
    - unlikely
    - rd_kafka_is_transactional
    - rd_kafka_toppar_producer_serve
    - rd_kafka_is_idempotent
    - rd_kafka_idemp_get_pid
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_produce_toppars(rd_kafka_broker_t *rkb,\n                                           rd_ts_t
      now,\n                                           rd_ts_t *next_wakeup,\n                                           rd_bool_t
      do_timeout_scan)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4236,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4238,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:4238,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4240,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4242,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4244,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4249,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_broker.c:4255,1
    - Dst: rd_kafka_broker_produce_toppars
      Src: /src/librdkafka/src/rdkafka_broker.c:4258,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4262,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4262,1
    - Dst: rd_kafka_broker_retry_bufs_move
      Src: /src/librdkafka/src/rdkafka_broker.c:4263,1
    - Dst: rd_kafka_broker_ops_io_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4265,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4268,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - rkb
    - abs_timeout
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4272
      start: 4229
    functionDepth: 10
    functionLinenumber: 4229
    functionLinenumberEnd: 4272
    functionName: rd_kafka_broker_producer_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_interval_init
    - rd_kafka_broker_terminating
    - rd_kafka_broker_retry_bufs_move
    - thrd_is_current
    - rd_atomic32_get
    - rd_kafka_broker_produce_toppars
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_assert
    - rd_interval
    - rd_clock
    - unlikely
    - rd_kafka_broker_ops_io_serve
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_producer_serve(rd_kafka_broker_t *rkb,\n                                           rd_ts_t
      abs_timeout)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4284,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:4284,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4286,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4288,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4290,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4293,1
    - Dst: rd_kafka_broker_consumer_toppars_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4296,1
    - Dst: rd_kafka_broker_fetch_toppars
      Src: /src/librdkafka/src/rdkafka_broker.c:4314,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4317,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4327,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4327,1
    - Dst: rd_kafka_broker_retry_bufs_move
      Src: /src/librdkafka/src/rdkafka_broker.c:4328,1
    - Dst: rd_kafka_broker_ops_io_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4333,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4336,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - rkb
    - abs_timeout
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4340
      start: 4279
    functionDepth: 10
    functionLinenumber: 4279
    functionLinenumberEnd: 4340
    functionName: rd_kafka_broker_consumer_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_terminating
    - rd_kafka_broker_fetch_toppars
    - thrd_is_current
    - rd_rkb_dbg
    - rd_atomic32_get
    - rd_kafka_broker_consumer_toppars_serve
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_broker_retry_bufs_move
    - rd_kafka_assert
    - rd_clock
    - unlikely
    - rd_kafka_broker_ops_io_serve
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_consumer_serve(rd_kafka_broker_t *rkb,\n                                           rd_ts_t
      abs_timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4354,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4355,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_broker.c:4356,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:4359,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4363,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4366,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4368,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_broker.c:4374,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_broker.c:4377,1
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:4380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4353
    functionDepth: 2
    functionLinenumber: 4353
    functionLinenumberEnd: 4384
    functionName: rd_kafka_broker_idle_check
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - likely
    - RD_MAX
    - rd_jitter
    - rd_dassert
    - rd_atomic64_get
    - rd_kafka_broker_planned_fail
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_idle_check(rd_kafka_broker_t *rkb)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4459,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4459,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4465,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4467,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4476,1
    - Dst: rd_kafka_broker_internal_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4479,1
    - Dst: rd_kafka_broker_producer_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4484,1
    - Dst: rd_kafka_broker_consumer_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4486,1
    - Dst: rd_kafka_broker_idle_check
      Src: /src/librdkafka/src/rdkafka_broker.c:4490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - rkb
    - timeout_ms
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4456
    functionDepth: 11
    functionLinenumber: 4456
    functionLinenumberEnd: 4491
    functionName: rd_kafka_broker_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_broker_consumer_serve
    - rd_kafka_broker_producer_serve
    - rd_atomic32_get
    - unlikely
    - rd_kafka_broker_internal_serve
    - rd_kafka_broker_idle_check
    - rd_timeout_init
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_serve(rd_kafka_broker_t *rkb, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4501
    functionDepth: 0
    functionLinenumber: 4501
    functionLinenumberEnd: 4505
    functionName: rd_kafka_broker_addresses_exhausted
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_broker_addresses_exhausted(const rd_kafka_broker_t
      *rkb)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_thread_name
      Src: /src/librdkafka/src/rdkafka_broker.c:4513,1
    - Dst: rd_kafka_set_thread_sysname
      Src: /src/librdkafka/src/rdkafka_broker.c:4514,1
    - Dst: rd_kafka_interceptors_on_thread_start
      Src: /src/librdkafka/src/rdkafka_broker.c:4516,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:4518,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4526,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4527,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4529,1
    - Dst: rd_kafka_broker_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4531,1
    - Dst: rd_kafka_broker_needs_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:4543,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4544,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4552,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:4553,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4555,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4559,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:4561,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:4564,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4566,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4571,1
    - Dst: rd_kafka_broker_set_state
      Src: /src/librdkafka/src/rdkafka_broker.c:4572,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4574,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:4578,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4579,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4580,1
    - Dst: rd_kafka_sasl_ready
      Src: /src/librdkafka/src/rdkafka_broker.c:4584,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4586,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:4597,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4597,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4599,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4602,1
    - Dst: rd_kafka_broker_connect
      Src: /src/librdkafka/src/rdkafka_broker.c:4608,1
    - Dst: rd_kafka_broker_addresses_exhausted
      Src: /src/librdkafka/src/rdkafka_broker.c:4615,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4616,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4622,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4638,1
    - Dst: rd_kafka_broker_addresses_exhausted
      Src: /src/librdkafka/src/rdkafka_broker.c:4645,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:4646,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4647,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4657,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:4662,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4674,1
    - Dst: rd_kafka_sasl_ready
      Src: /src/librdkafka/src/rdkafka_broker.c:4674,1
    - Dst: rd_kafka_sasl_close
      Src: /src/librdkafka/src/rdkafka_broker.c:4680,1
    - Dst: rd_kafka_broker_connect_auth
      Src: /src/librdkafka/src/rdkafka_broker.c:4684,1
    - Dst: rd_kafka_broker_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4688,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:4692,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:4696,1
    - Dst: rd_kafka_broker_destroy_error
      Src: /src/librdkafka/src/rdkafka_broker.c:4698,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:4699,1
    - Dst: rd_kafka_broker_destroy_error
      Src: /src/librdkafka/src/rdkafka_broker.c:4701,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4702,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4710,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4712,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4713,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4714,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_broker.c:4725,1
    - Dst: rd_kafka_broker_ops_serve
      Src: /src/librdkafka/src/rdkafka_broker.c:4726,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:4729,1
    - Dst: rd_kafka_broker_destroy_error
      Src: /src/librdkafka/src/rdkafka_broker.c:4729,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:4732,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_broker.c:4738,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4740,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4741,1
    - Dst: rd_kafka_bufq_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:4742,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:4744,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4746,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_broker.c:4747,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:4749,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:4750,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_broker.c:4751,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:4753,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:4755,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4756,1
    - Dst: ERR_remove_thread_state
      Src: /src/librdkafka/src/rdkafka_broker.c:4765,1
    - Dst: rd_kafka_interceptors_on_thread_exit
      Src: /src/librdkafka/src/rdkafka_broker.c:4769,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:4771,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:4773,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:4777,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4780,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 117
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4783
      start: 4508
    functionDepth: 12
    functionLinenumber: 4508
    functionLinenumberEnd: 4783
    functionName: rd_kafka_broker_thread_main
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_update_reconnect_backoff
    - rd_kafka_set_thread_sysname
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_q_disable
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_atomic32_add
    - unlikely
    - rd_atomic32_sub
    - ERR_remove_thread_state
    - rd_kafka_broker_bufq_timeout_scan
    - rd_kafka_sasl_close
    - rd_atomic32_set
    - rd_kafka_op_new
    - rd_kafka_broker_addresses_exhausted
    - TAILQ_REMOVE
    - rd_kafka_q_enq
    - rd_kafka_broker_connect
    - rd_kafka_interceptors_on_thread_exit
    - rd_kafka_interceptors_on_thread_start
    - rd_kafka_sasl_ready
    - rd_dassert
    - rd_kafka_bufq_cnt
    - rd_kafka_broker_unlock
    - rd_kafka_broker_reconnect_backoff
    - rd_kafka_broker_needs_connection
    - rd_kafka_set_thread_name
    - rd_clock
    - rd_kafka_broker_or_instance_terminating
    - rd_kafka_broker_connect_auth
    - rd_kafka_wrunlock
    - rd_kafka_broker_destroy
    - rd_kafka_broker_set_state
    - rd_kafka_broker_terminating
    - rd_rkb_dbg
    - rd_kafka_broker_destroy_error
    - rd_kafka_broker_fail
    - rd_kafka_broker_lock
    - rd_refcnt_get
    - rd_kafka_broker_serve
    - rd_kafka_broker_ops_serve
    linkageType: ''
    returnType: int
    signature: int rd_kafka_broker_thread_main(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4791,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.c:4791,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4792,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.c:4792,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4793,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.c:4793,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4794,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.c:4794,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4795,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.c:4795,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:4796,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.c:4796,1
    - Dst: rd_kafka_sasl_broker_term
      Src: /src/librdkafka/src/rdkafka_broker.c:4802,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_broker.c:4805,1
    - Dst: rd_socket_close
      Src: /src/librdkafka/src/rdkafka_broker.c:4807,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4810,1
    - Dst: rd_sockaddr_list_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4813,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:4816,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:4817,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_broker.c:4819,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_broker.c:4820,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4822,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4823,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4824,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4825,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4826,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4827,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4828,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4829,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4830,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4832,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4836,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4838,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4841,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4843,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4848,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:4849,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4851,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4852,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_broker.c:4854,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4857,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:4859,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:4861,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4862
      start: 4789
    functionDepth: 2
    functionLinenumber: 4789
    functionLinenumberEnd: 4862
    functionName: rd_kafka_broker_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_assert
    - rd_kafka_sasl_broker_term
    - TAILQ_EMPTY
    - rd_socket_close
    - rd_kafka_buf_destroy
    - rd_free
    - mtx_lock
    - rd_sockaddr_list_destroy
    - rd_avg_destroy
    - thrd_is_current
    - rd_kafka_q_destroy_owner
    - mtx_destroy
    - rd_kafka_timer_stop
    - rd_refcnt_destroy
    - rd_kafka_q_purge
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_destroy_final(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:4871,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:4874,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:4875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4878
      start: 4868
    functionDepth: 1
    functionLinenumber: 4868
    functionLinenumberEnd: 4878
    functionName: rd_kafka_broker_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_keep
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: rd_kafka_broker_t *rd_kafka_broker_internal(rd_kafka_t *rk)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_broker.c:4901,1
    - Dst: rd_kafka_mk_nodename
      Src: /src/librdkafka/src/rdkafka_broker.c:4904,1
    - Dst: rd_kafka_mk_brokername
      Src: /src/librdkafka/src/rdkafka_broker.c:4906,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:4912,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_broker.c:4917,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_broker.c:4921,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4924,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4925,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_broker.c:4926,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_broker.c:4927,1
    - Dst: CIRCLEQ_INIT
      Src: /src/librdkafka/src/rdkafka_broker.c:4928,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_broker.c:4929,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4930,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4931,1
    - Dst: rd_kafka_bufq_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4932,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_broker.c:4933,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4934,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4936,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4938,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4940,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4942,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4945,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4948,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4951,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4954,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4957,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4962,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4966,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4971,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4974,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4979,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:4980,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4983,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4984,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4985,1
    - Dst: rd_atomic64_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4987,1
    - Dst: rd_atomic64_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4988,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4992,1
    - Dst: rd_interval_fixed
      Src: /src/librdkafka/src/rdkafka_broker.c:4993,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_broker.c:4999,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_broker.c:5000,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_broker.c:5001,1
    - Dst: sigemptyset
      Src: /src/librdkafka/src/rdkafka_broker.c:5011,1
    - Dst: sigfillset
      Src: /src/librdkafka/src/rdkafka_broker.c:5012,1
    - Dst: sigdelset
      Src: /src/librdkafka/src/rdkafka_broker.c:5014,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_broker.c:5015,1
    - Dst: rd_pipe_nonblocking
      Src: /src/librdkafka/src/rdkafka_broker.c:5028,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5029,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_broker.c:5032,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5040,1
    - Dst: rd_kafka_q_io_event_enable
      Src: /src/librdkafka/src/rdkafka_broker.c:5042,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5049,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:5050,1
    - Dst: thrd_create
      Src: /src/librdkafka/src/rdkafka_broker.c:5051,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5053,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5055,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka_broker.c:5059,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:5062,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_broker.c:5066,1
    - Dst: rd_kafka_sasl_broker_init
      Src: /src/librdkafka/src/rdkafka_broker.c:5076,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_broker.c:5082,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5083,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:5085,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5086,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_broker.c:5087,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5091,1
    - Dst: rd_kafka_interceptors_on_broker_state_change
      Src: /src/librdkafka/src/rdkafka_broker.c:5097,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5102,1
    - Dst: rd_kafka_broker_monitor_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5107,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_broker.c:5113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 100
    argCount: 6
    argNames:
    - rk
    - source
    - proto
    - name
    - port
    - nodeid
    argTypes:
    - rd_kafka_t*
    - rd_kafka_confsource_t
    - rd_kafka_secproto_t
    - char*
    - uint16_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5117
      start: 4889
    functionDepth: 4
    functionLinenumber: 4889
    functionLinenumberEnd: 5117
    functionName: rd_kafka_broker_add
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_interval_init
    - sigemptyset
    - rd_snprintf
    - RD_KAFKA_BROKER_IS_LOGICAL
    - sigdelset
    - mtx_init
    - rd_atomic32_add
    - rd_rkb_log
    - rd_kafka_interceptors_on_broker_state_change
    - rd_atomic32_init
    - rd_atomic64_init
    - rd_strerror
    - rd_kafka_broker_keep
    - rd_refcnt_init
    - rd_calloc
    - rd_kafka_sasl_broker_init
    - TAILQ_INSERT_HEAD
    - thrd_create
    - rd_kafka_broker_monitor_add
    - rd_kafka_broker_unlock
    - TAILQ_INIT
    - rd_pipe_nonblocking
    - rd_strdup
    - rd_interval_fixed
    - rd_clock
    - sigfillset
    - rd_kafka_q_new
    - rd_kafka_bufq_init
    - rd_kafka_log
    - rd_kafka_op_err
    - rd_avg_init
    - rd_free
    - rd_list_add
    - rd_list_sort
    - pthread_sigmask
    - rd_rkb_dbg
    - rd_kafka_q_io_event_enable
    - CIRCLEQ_INIT
    - rd_kafka_broker_lock
    - rd_kafka_mk_nodename
    - rd_kafka_mk_brokername
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_add(rd_kafka_t *rk,\n                                       rd_kafka_confsource_t
      source,\n                                       rd_kafka_secproto_t proto,\n
      \                                      const char *name,\n                                       uint16_t
      port,\n                                       int32_t nodeid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5147,1
    - Dst: rd_kafka_broker_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5148,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:5151,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5152,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5154,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:5156,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:5156,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:5157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rk
    - name
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5159
      start: 5143
    functionDepth: 5
    functionLinenumber: 5143
    functionLinenumberEnd: 5159
    functionName: rd_kafka_broker_add_logical
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - rd_kafka_broker_keep
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_dassert
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_add
    - rd_atomic32_add
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_add_logical(rd_kafka_t *rk,\n                                               const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:5187,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:5187,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:5189,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5193,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:5194,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5196,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5203,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:5204,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5205,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:5208,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5213,1
    - Dst: rd_kafka_mk_brokername
      Src: /src/librdkafka/src/rdkafka_broker.c:5217,1
    - Dst: rd_kafka_broker_set_logname
      Src: /src/librdkafka/src/rdkafka_broker.c:5220,1
    - Dst: rd_kafka_broker_schedule_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:5226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - rkb
    - from_rkb
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5227
      start: 5180
    functionDepth: 2
    functionLinenumber: 5180
    functionLinenumberEnd: 5227
    functionName: rd_kafka_broker_set_nodename
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_schedule_connection
    - rd_assert
    - strcmp
    - rd_rkb_dbg
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_kafka_broker_set_logname
    - rd_strlcpy
    - rd_kafka_mk_brokername
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_set_nodename(rd_kafka_broker_t *rkb,\n                                  rd_kafka_broker_t
      *from_rkb)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:5249,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_broker.c:5252,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5260,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5262,1
    - Dst: rd_kafka_broker_schedule_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:5268,1
    - Dst: rd_kafka_broker_keep_fl
      Src: /src/librdkafka/src/rdkafka_broker.c:5273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - func
    - line
    - rk
    - nodeid
    - state
    - do_connect
    argTypes:
    - char*
    - int
    - rd_kafka_t*
    - int32_t
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5275
      start: 5240
    functionDepth: 1
    functionLinenumber: 5240
    functionLinenumberEnd: 5275
    functionName: rd_kafka_broker_find_by_nodeid0_fl
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_schedule_connection
    - rd_kafka_broker_keep_fl
    - rd_kafka_terminating
    - rd_kafka_broker_unlock
    - rd_list_find
    - rd_kafka_broker_lock
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_find_by_nodeid0_fl(const char *func,\n
      \                                                     int line,\n                                                      rd_kafka_t
      *rk,\n                                                      int32_t nodeid,\n
      \                                                     int state,\n                                                      rd_bool_t
      do_connect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mk_nodename
      Src: /src/librdkafka/src/rdkafka_broker.c:5288,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:5290,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:5291,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_broker.c:5292,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5295,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:5297,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:5298,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5299,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - proto
    - name
    - port
    argTypes:
    - rd_kafka_t*
    - rd_kafka_secproto_t
    - char*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5306
      start: 5281
    functionDepth: 1
    functionLinenumber: 5281
    functionLinenumberEnd: 5306
    functionName: rd_kafka_broker_find
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - strcmp
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_mk_nodename
    - TAILQ_FOREACH
    - rd_kafka_broker_or_instance_terminating
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_broker_find(rd_kafka_t *rk,\n                                               rd_kafka_secproto_t
      proto,\n                                               const char *name,\n                                               uint16_t
      port)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_broker.c:5326,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_broker.c:5329,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_broker.c:5332,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_broker.c:5336,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5341,1
    - Dst: toupper
      Src: /src/librdkafka/src/rdkafka_broker.c:5350,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka_broker.c:5356,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5361,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5373,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_broker.c:5388,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rdkafka_broker.c:5405,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_broker.c:5406,1
    - Dst: atoi
      Src: /src/librdkafka/src/rdkafka_broker.c:5408,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - rk
    - name
    - proto
    - host
    - port
    argTypes:
    - rd_kafka_t*
    - char**
    - rd_kafka_secproto_t*
    - char**
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5419
      start: 5316
    functionDepth: 1
    functionLinenumber: 5316
    functionLinenumberEnd: 5419
    functionName: rd_kafka_broker_name_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_strdupa
    - strrchr
    - toupper
    - atoi
    - rd_strcasecmp
    - strstr
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_name_parse(rd_kafka_t *rk,\n                                      char
      **name,\n                                      rd_kafka_secproto_t *proto,\n
      \                                     const char **host,\n                                      uint16_t
      *port)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_find
      Src: /src/librdkafka/src/rdkafka_broker.c:5432,1
    - Dst: rd_kafka_broker_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5435,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:5443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - rk
    - proto
    - host
    - port
    - cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_secproto_t
    - char*
    - uint16_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5425
    functionDepth: 5
    functionLinenumber: 5425
    functionLinenumberEnd: 5444
    functionName: rd_kafka_find_or_add_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_destroy
    - rd_kafka_broker_find
    - rd_kafka_broker_add
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_find_or_add_broker(rd_kafka_t *rk,\n                                        rd_kafka_secproto_t
      proto,\n                                        const char *host,\n                                        uint16_t
      port,\n                                        int *cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_broker.c:5456,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5459,1
    - Dst: rd_kafka_broker_name_parse
      Src: /src/librdkafka/src/rdkafka_broker.c:5476,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5480,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5484,1
    - Dst: rd_getaddrinfo
      Src: /src/librdkafka/src/rdkafka_broker.c:5487,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_broker.c:5494,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5497,1
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_broker.c:5502,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5504,1
    - Dst: rd_kafka_find_or_add_broker
      Src: /src/librdkafka/src/rdkafka_broker.c:5509,1
    - Dst: rd_sockaddr_list_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:5513,1
    - Dst: rd_kafka_find_or_add_broker
      Src: /src/librdkafka/src/rdkafka_broker.c:5515,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5519,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_broker.c:5522,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5529,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka_broker.c:5530,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5531,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - rk
    - brokerlist
    - is_bootstrap_server_list
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5535
      start: 5453
    functionDepth: 6
    functionLinenumber: 5453
    functionLinenumberEnd: 5535
    functionName: rd_kafka_brokers_add0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_rdlock
    - rd_free
    - rd_kafka_rdunlock
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_sockaddr2str
    - rd_kafka_find_or_add_broker
    - rd_kafka_connect_any
    - rd_getaddrinfo
    - rd_sockaddr_list_destroy
    - rd_atomic32_get
    - rd_kafka_broker_name_parse
    - rd_strdup
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_brokers_add0(rd_kafka_t *rk,\n                          const
      char *brokerlist,\n                          rd_bool_t is_bootstrap_server_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_sockaddr2str
      Src: /src/librdkafka/src/rdkafka_broker.c:5502,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5504,1
    - Dst: rd_kafka_find_or_add_broker
      Src: /src/librdkafka/src/rdkafka_broker.c:5509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5511
      start: 5501
    functionDepth: 6
    functionLinenumber: 5501
    functionLinenumberEnd: 5511
    functionName: RD_SOCKADDR_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_sockaddr2str
    - rd_kafka_find_or_add_broker
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void RD_SOCKADDR_LIST_FOREACH(sinx, sockaddr_list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5539,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5540,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_broker.c:5540,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5541,1
    - Dst: rd_kafka_brokers_add0
      Src: /src/librdkafka/src/rdkafka_broker.c:5542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - brokerlist
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5543
      start: 5538
    functionDepth: 7
    functionLinenumber: 5538
    functionLinenumberEnd: 5543
    functionName: rd_kafka_brokers_add
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 3
    functionsReached:
    - rd_list_add
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_brokers_add0
    - rd_strdup
    linkageType: ''
    returnType: int
    signature: int rd_kafka_brokers_add(rd_kafka_t *rk, const char *brokerlist)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mk_nodename
      Src: /src/librdkafka/src/rdkafka_broker.c:5563,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5565,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:5566,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:5566,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5569,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_broker.c:5575,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_broker.c:5578,1
    - Dst: rd_kafka_broker_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5580,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:5582,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5585,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:5591,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_broker.c:5592,1
    - Dst: rd_kafka_op_err_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:5598,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_broker.c:5599,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:5606,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - rk
    - proto
    - mdb
    - rkbp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_secproto_t
    - struct rd_kafka_metadata_broker*
    - rd_kafka_broker_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5607
      start: 5555
    functionDepth: 5
    functionLinenumber: 5555
    functionLinenumberEnd: 5607
    functionName: rd_kafka_broker_update
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_wrlock
    - rd_kafka_op_err_destroy
    - rd_kafka_wrunlock
    - rd_kafka_broker_destroy
    - rd_kafka_terminating
    - strcmp
    - rd_kafka_op_new
    - rd_kafka_op_req
    - rd_kafka_broker_add
    - rd_kafka_mk_nodename
    - rd_strlcpy
    - unlikely
    - rd_kafka_broker_find_by_nodeid
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_update(rd_kafka_t *rk,\n                            rd_kafka_secproto_t
      proto,\n                            const struct rd_kafka_metadata_broker *mdb,\n
      \                           rd_kafka_broker_t **rkbp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:5616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5620
      start: 5615
    functionDepth: 0
    functionLinenumber: 5615
    functionLinenumberEnd: 5620
    functionName: rd_kafka_broker_id
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 5
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_broker_id(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5635,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_broker.c:5636,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5640
      start: 5630
    functionDepth: 0
    functionLinenumber: 5630
    functionLinenumberEnd: 5640
    functionName: rd_kafka_broker_name
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 15
    functionsReached:
    - mtx_unlock
    - rd_snprintf
    - mtx_lock
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_broker_name(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:5651,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_broker.c:5652,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:5653,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkb
    - reason
    argTypes:
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5650
    functionDepth: 1
    functionLinenumber: 5650
    functionLinenumberEnd: 5655
    functionName: rd_kafka_broker_wakeup
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_rkb_dbg
    - rd_kafka_q_enq
    - rd_kafka_op_set_prio
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_wakeup(rd_kafka_broker_t *rkb, const char *reason)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5671,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:5672,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5675,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5677,1
    - Dst: rd_kafka_broker_wakeup
      Src: /src/librdkafka/src/rdkafka_broker.c:5680,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5684,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - min_state
    - reason
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5694
      start: 5665
    functionDepth: 2
    functionLinenumber: 5665
    functionLinenumberEnd: 5694
    functionName: rd_kafka_all_brokers_wakeup
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 5
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_broker_wakeup
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - TAILQ_FOREACH
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_all_brokers_wakeup(rd_kafka_t *rk,\n                                int
      min_state,\n                                const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5702
      start: 5699
    functionDepth: 1
    functionLinenumber: 5699
    functionLinenumberEnd: 5702
    functionName: rd_kafka_broker_filter_never_connected
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_broker_filter_never_connected(rd_kafka_broker_t *rkb,\n
      \                                                 void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_broker.c:5707,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5711,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka_broker.c:5712,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5714
      start: 5704
    functionDepth: 1
    functionLinenumber: 5704
    functionLinenumberEnd: 5714
    functionName: rd_kafka_connect_any_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_terminating
    - rd_kafka_rdunlock
    - rd_kafka_rdlock
    - rd_kafka_connect_any
    linkageType: ''
    returnType: void
    signature: void rd_kafka_connect_any_timer_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5734,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5735,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5736,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:5740,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_broker.c:5742,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:5744,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5747,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_broker.c:5752,1
    - Dst: rd_kafka_broker_random
      Src: /src/librdkafka/src/rdkafka_broker.c:5762,1
    - Dst: rd_kafka_broker_random
      Src: /src/librdkafka/src/rdkafka_broker.c:5767,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5775,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5781,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:5784,1
    - Dst: rd_kafka_broker_schedule_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:5786,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:5788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - rk
    - reason
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5789
      start: 5726
    functionDepth: 1
    functionLinenumber: 5726
    functionLinenumberEnd: 5789
    functionName: rd_kafka_connect_any
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 5
    functionsReached:
    - rd_kafka_broker_schedule_connection
    - mtx_lock
    - rd_kafka_broker_destroy
    - rd_kafka_broker_random
    - rd_rkb_dbg
    - rd_atomic32_get
    - rd_kafka_timer_start_oneshot
    - rd_interval
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_connect_any(rd_kafka_t *rk, const char *reason)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:5802,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_broker.c:5803,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:5806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rkb
    - purge_flags
    - replyq
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5807
      start: 5799
    functionDepth: 1
    functionLinenumber: 5799
    functionLinenumberEnd: 5807
    functionName: rd_kafka_broker_purge_queues
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_op_set_prio
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_purge_queues(rd_kafka_broker_t *rkb,\n                                  int
      purge_flags,\n                                  rd_kafka_replyq_t replyq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5821,1
    - Dst: rd_kafka_purge_flags2str
      Src: /src/librdkafka/src/rdkafka_broker.c:5823,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:5833,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:5839,1
    - Dst: rd_kafka_broker_bufq_timeout_scan
      Src: /src/librdkafka/src/rdkafka_broker.c:5846,1
    - Dst: rd_kafka_broker_planned_fail
      Src: /src/librdkafka/src/rdkafka_broker.c:5854,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5861,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:5872,1
    - Dst: rd_kafka_toppar_purge_queues
      Src: /src/librdkafka/src/rdkafka_broker.c:5875,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5883,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_broker.c:5888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - rkb
    - rko
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5889
      start: 5816
    functionDepth: 6
    functionLinenumber: 5816
    functionLinenumberEnd: 5889
    functionName: rd_kafka_broker_handle_purge_queues
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_bufq_timeout_scan
    - rd_rkb_dbg
    - rd_kafka_purge_flags2str
    - rd_kafka_toppar_purge_queues
    - rd_kafka_broker_planned_fail
    - TAILQ_FOREACH
    - rd_kafka_op_reply
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_handle_purge_queues(rd_kafka_broker_t *rkb,\n
      \                                               rd_kafka_op_t *rko)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CIRCLEQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_broker.c:5909,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_broker.c:5915,1
    - Dst: rd_kafka_broker_active_toppar_next
      Src: /src/librdkafka/src/rdkafka_broker.c:5916,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5918,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:5922,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_broker.c:5925,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - rkb
    - rktp
    - reason
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5926
      start: 5901
    functionDepth: 1
    functionLinenumber: 5901
    functionLinenumberEnd: 5926
    functionName: rd_kafka_broker_active_toppar_add
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - rd_kafka_msgq_len
    - unlikely
    - rd_kafka_broker_active_toppar_next
    - CIRCLEQ_INSERT_TAIL
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_active_toppar_add(rd_kafka_broker_t *rkb,\n                                       rd_kafka_toppar_t
      *rktp,\n                                       const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CIRCLEQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_broker.c:5943,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:5944,1
    - Dst: rd_kafka_broker_active_toppar_next
      Src: /src/librdkafka/src/rdkafka_broker.c:5952,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_broker.c:5953,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:5957,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_broker.c:5961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - rkb
    - rktp
    - reason
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5965
      start: 5935
    functionDepth: 1
    functionLinenumber: 5935
    functionLinenumberEnd: 5965
    functionName: rd_kafka_broker_active_toppar_del
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - CIRCLEQ_LOOP_NEXT
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - CIRCLEQ_REMOVE
    - rd_kafka_assert
    - rd_kafka_broker_active_toppar_next
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_active_toppar_del(rd_kafka_broker_t *rkb,\n                                       rd_kafka_toppar_t
      *rktp,\n                                       const char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:5978,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_broker.c:5979,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:5980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5981
      start: 5976
    functionDepth: 1
    functionLinenumber: 5976
    functionLinenumberEnd: 5981
    functionName: rd_kafka_broker_schedule_connection
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 3
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_op_set_prio
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_schedule_connection(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:5994,1
    - Dst: rd_kafka_broker_schedule_connection
      Src: /src/librdkafka/src/rdkafka_broker.c:5996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rkb
    - acntp
    argTypes:
    - rd_kafka_broker_t*
    - rd_atomic32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5998
      start: 5991
    functionDepth: 2
    functionLinenumber: 5991
    functionLinenumberEnd: 5998
    functionName: rd_kafka_broker_persistent_connection_add
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - rd_atomic32_add
    - rd_kafka_broker_schedule_connection
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_persistent_connection_add(rd_kafka_broker_t *rkb,\n
      \                                              rd_atomic32_t *acntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_broker.c:6010,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:6011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - acntp
    argTypes:
    - rd_kafka_broker_t*
    - rd_atomic32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6012
      start: 6008
    functionDepth: 1
    functionLinenumber: 6008
    functionLinenumberEnd: 6012
    functionName: rd_kafka_broker_persistent_connection_del
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_persistent_connection_del(rd_kafka_broker_t *rkb,\n
      \                                              rd_atomic32_t *acntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_t*::rko_u::broker_monitor::cb
      Src: /src/librdkafka/src/rdkafka_broker.c:6027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6029
      start: 6023
    functionDepth: 0
    functionLinenumber: 6023
    functionLinenumberEnd: 6029
    functionName: rd_kafka_broker_monitor_op_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_t*::rko_u::broker_monitor::cb
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_broker_monitor_op_cb(rd_kafka_t *rk,\n
      \                                                      rd_kafka_q_t *rkq,\n
      \                                                      rd_kafka_op_t *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:6041,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_broker.c:6043,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:6045,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:6048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6050
      start: 6038
    functionDepth: 1
    functionLinenumber: 6038
    functionLinenumberEnd: 6050
    functionName: rd_kafka_broker_trigger_monitors
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_q_enq
    - rd_kafka_op_new_cb
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_trigger_monitors(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_broker.c:6075,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:6078,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_broker.c:6081,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:6083,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_broker.c:6084,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - rkbmon
    - rkb
    - rkq
    argTypes:
    - rd_kafka_broker_monitor_t*
    - rd_kafka_broker_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 6071
    functionDepth: 1
    functionLinenumber: 6071
    functionLinenumberEnd: 6086
    functionName: rd_kafka_broker_monitor_add
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_keep
    - rd_kafka_broker_keep
    - rd_assert
    - rd_kafka_broker_lock
    - TAILQ_INSERT_TAIL
    - rd_kafka_broker_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_monitor_add(rd_kafka_broker_monitor_t *rkbmon,\n
      \                                rd_kafka_broker_t *rkb,\n                                 rd_kafka_q_t
      *rkq,\n                                 void (*callback)(rd_kafka_broker_t *rkb))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.c:6106,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:6108,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_broker.c:6109,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6110,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:6112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkbmon
    argTypes:
    - rd_kafka_broker_monitor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6113
      start: 6100
    functionDepth: 1
    functionLinenumber: 6100
    functionLinenumberEnd: 6113
    functionName: rd_kafka_broker_monitor_del
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - TAILQ_REMOVE
    - rd_kafka_broker_destroy
    - rd_kafka_q_destroy
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_monitor_del(rd_kafka_broker_monitor_t *rkbmon)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_is_started
      Src: /src/librdkafka/src/rdkafka_broker.c:6127,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_broker.c:6129,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_broker.c:6135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rkb
    - connections_max_reauth_ms
    argTypes:
    - rd_kafka_broker_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6139
      start: 6122
    functionDepth: 1
    functionLinenumber: 6122
    functionLinenumberEnd: 6139
    functionName: rd_kafka_broker_start_reauth_timer
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_start_oneshot
    - rd_kafka_timer_is_started
    - rd_kafka_timer_stop
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_start_reauth_timer(rd_kafka_broker_t *rkb,\n
      \                                       int64_t connections_max_reauth_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_broker.c:6150,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:6151,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:6152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkts
    - _rkb
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6153
      start: 6147
    functionDepth: 1
    functionLinenumber: 6147
    functionLinenumberEnd: 6153
    functionName: rd_kafka_broker_start_reauth_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_kafka_q_enq
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_start_reauth_cb(rd_kafka_timers_t *rkts, void
      *_rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6161,1
    - Dst: malloc
      Src: /src/librdkafka/src/rdkafka_broker.c:6162,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_broker.c:6162,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_broker.c:6164,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - cntp
    argTypes:
    - rd_kafka_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6171
      start: 6155
    functionDepth: 1
    functionLinenumber: 6155
    functionLinenumberEnd: 6171
    functionName: rd_kafka_brokers_learned_ids
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 2
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_list_cnt
    - RD_LIST_FOREACH
    - malloc
    linkageType: ''
    returnType: int32_t
    signature: int32_t *rd_kafka_brokers_learned_ids(rd_kafka_t *rk, size_t *cntp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.c:6191,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_broker.c:6194,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_broker.c:6198,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_broker.c:6201,1
    - Dst: rd_list_remove
      Src: /src/librdkafka/src/rdkafka_broker.c:6204,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6205,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_broker.c:6207,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_broker.c:6208,1
    - Dst: pthread_kill
      Src: /src/librdkafka/src/rdkafka_broker.c:6213,1
    - Dst: rd_kafka_cgrp_coord_dead
      Src: /src/librdkafka/src/rdkafka_broker.c:6220,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_broker.c:6226,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_broker.c:6226,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_broker.c:6228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkb
    - wait_thrds
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6229
      start: 6187
    functionDepth: 5
    functionLinenumber: 6187
    functionLinenumberEnd: 6229
    functionName: rd_kafka_broker_decommission
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_kafka_cgrp_coord_dead
    - rd_kafka_q_enq
    - rd_kafka_wrunlock
    - rd_kafka_wrlock
    - rd_list_remove
    - rd_kafka_op_new
    - rd_atomic32_get
    - rd_malloc
    - rd_kafka_broker_name
    - rd_atomic32_add
    - pthread_kill
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_decommission(rd_kafka_t *rk,\n                                  rd_kafka_broker_t
      *rkb,\n                                  rd_list_t *wait_thrds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6244,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6245,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6246,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6249,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6250,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6251,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6254,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6255,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6256,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6259,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6260,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6261,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6264,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6265,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6266,1
    - Dst: rd_kafka_broker_update_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6269,1
    - Dst: rd_kafka_broker_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6270,1
    - Dst: RD_UT_ASSERT_RANGE
      Src: /src/librdkafka/src/rdkafka_broker.c:6271,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_broker.c:6273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6274
      start: 6234
    functionDepth: 3
    functionLinenumber: 6234
    functionLinenumberEnd: 6274
    functionName: rd_ut_reconnect_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_update_reconnect_backoff
    - RD_UT_PASS
    - rd_kafka_broker_reconnect_backoff
    - RD_UT_ASSERT_RANGE
    linkageType: ''
    returnType: int
    signature: int rd_ut_reconnect_backoff(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_broker.c:6281,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6292,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6293,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6295,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6296,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6298,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6299,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6301,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6302,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6304,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6305,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6307,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6308,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6312,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6313,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_broker.c:6315,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6316,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_broker.c:6319,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_broker.c:6320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6321
      start: 6279
    functionDepth: 3
    functionLinenumber: 6279
    functionLinenumberEnd: 6321
    functionName: rd_ut_ApiVersion_at_least
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - RD_UT_ASSERT
    - rd_kafka_broker_ApiVersion_at_least
    - RD_UT_PASS
    - mtx_destroy
    - mtx_init
    linkageType: ''
    returnType: int
    signature: int rd_ut_ApiVersion_at_least(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_ut_reconnect_backoff
      Src: /src/librdkafka/src/rdkafka_broker.c:6331,1
    - Dst: rd_ut_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_broker.c:6332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6335
      start: 6328
    functionDepth: 4
    functionLinenumber: 6328
    functionLinenumberEnd: 6335
    functionName: unittest_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.c
    functionUses: 0
    functionsReached:
    - rd_ut_reconnect_backoff
    - rd_ut_ApiVersion_at_least
    linkageType: ''
    returnType: int
    signature: int unittest_broker(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:95,1
    - Dst: sasl_client_step
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:96,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:98,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:102,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:109,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:120,1
    - Dst: sasl_errdetail
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:122,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:139,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:154,1
    - Dst: sasl_getprop
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:155,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:158,1
    - Dst: sasl_getprop
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:160,1
    - Dst: sasl_getprop
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:164,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:168,1
    - Dst: rd_kafka_sasl_auth_done
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:173,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 5
    argNames:
    - rktrans
    - buf
    - size
    - errstr
    - errstr_size
    argTypes:
    - struct rd_kafka_transport_s*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 176
    functionName: rd_kafka_sasl_cyrus_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - sasl_getprop
    - sasl_errdetail
    - mtx_lock
    - rd_snprintf
    - rd_kafka_sasl_send
    - rd_kafka_sasl_auth_done
    - rd_rkb_dbg
    - sasl_client_step
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_recv(struct rd_kafka_transport_s *rktrans,\n
      \                                   const void *buf,\n                                    size_t
      size,\n                                    char *errstr,\n                                    size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - key
    - buf
    - size
    - opaque
    argTypes:
    - char*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 6
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: render_callback
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_get
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t render_callback(const char *key, char *buf, size_t size, void
      *opaque)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_string_render
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:212,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:215,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:223,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:226,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:230,1
    - Dst: system
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:231,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:232,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:234,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:236,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:242,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:243,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:246,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:252,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:258,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:260,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:261,1
    - Dst: WIFSIGNALED
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:264,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:265,1
    - Dst: WTERMSIG
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:268,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:269,1
    - Dst: WIFEXITED
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:271,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:271,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:272,1
    - Dst: WEXITSTATUS
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:275,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:276,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:280,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:282,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 285
    functionName: rd_kafka_sasl_cyrus_kinit_refresh
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_string_render
    - rd_kafka_log
    - rd_free
    - WEXITSTATUS
    - mtx_lock
    - WIFEXITED
    - rd_kafka_all_brokers_wakeup
    - WTERMSIG
    - rd_atomic32_add
    - rd_strerror
    - system
    - mtx_unlock
    - rd_clock
    - WIFSIGNALED
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_cyrus_kinit_refresh(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_cyrus_kinit_refresh
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 4
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: rd_kafka_sasl_cyrus_kinit_refresh_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_cyrus_kinit_refresh
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_cyrus_kinit_refresh_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                    void *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:314,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:316,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:320,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - context
    - plugin_name
    - option
    - result
    - len
    argTypes:
    - void*
    - char*
    - char*
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 327
    functionName: rd_kafka_sasl_cyrus_cb_getopt
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcmp
    - rd_rkb_dbg
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_sasl_cyrus_cb_getopt(void *context,\n                                                   const
      char *plugin_name,\n                                                   const
      char *option,\n                                                   const char
      **result,\n                                                   unsigned *len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:335,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:336,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:344,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:345,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - context
    - level
    - message
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 352
    functionName: rd_kafka_sasl_cyrus_cb_log
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_rkb_log
    - strstr
    - rd_rkb_dbg
    - strncmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_cyrus_cb_log(void *context, int level, const char
      *message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:379,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:381,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - context
    - id
    - result
    - len
    argTypes:
    - void*
    - int
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 385
    functionName: rd_kafka_sasl_cyrus_cb_getsimple
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_cb_getsimple(void *context,\n                                            int
      id,\n                                            const char **result,\n                                            unsigned
      *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:401,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:402,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:404,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - conn
    - context
    - id
    - psecret
    argTypes:
    - sasl_conn_t*
    - void*
    - int
    - sasl_secret_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 412
    functionName: rd_kafka_sasl_cyrus_cb_getsecret
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_realloc
    - memcpy
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_cb_getsecret(sasl_conn_t *conn,\n                                            void
      *context,\n                                            int id,\n                                            sasl_secret_t
      **psecret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:424,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - context
    - id
    - challenge
    - prompt
    - defres
    - result
    - len
    argTypes:
    - void*
    - int
    - char*
    - char*
    - char*
    - char**
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 432
    functionName: rd_kafka_sasl_cyrus_cb_chalprompt
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_cb_chalprompt(void *context,\n                                             int
      id,\n                                             const char *challenge,\n                                             const
      char *prompt,\n                                             const char *defres,\n
      \                                            const char **result,\n                                             unsigned
      *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - context
    - id
    - availrealms
    - result
    argTypes:
    - void*
    - int
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 446
    functionName: rd_kafka_sasl_cyrus_cb_getrealm
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_cb_getrealm(void *context,\n                                           int
      id,\n                                           const char **availrealms,\n
      \                                          const char **result)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:460,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:462,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:465,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:468,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 9
    argNames:
    - conn
    - context
    - in
    - inlen
    - flags
    - user_realm
    - out
    - out_max
    - out_len
    argTypes:
    - sasl_conn_t*
    - void*
    - char*
    - unsigned
    - unsigned
    - char*
    - char*
    - unsigned
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 478
    functionName: rd_kafka_sasl_cyrus_cb_canon
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_rkb_dbg
    - strcmp
    - strstr
    - rd_snprintf
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_sasl_cyrus_cb_canon(sasl_conn_t *conn,\n                                                  void
      *context,\n                                                  const char *in,\n
      \                                                 unsigned inlen,\n                                                  unsigned
      flags,\n                                                  const char *user_realm,\n
      \                                                 char *out,\n                                                  unsigned
      out_max,\n                                                  unsigned *out_len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:488,1
    - Dst: sasl_dispose
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:489,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:490,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - struct rd_kafka_transport_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 494
    functionName: rd_kafka_sasl_cyrus_close
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - sasl_dispose
    - mtx_unlock
    - mtx_lock
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_cyrus_close(struct rd_kafka_transport_s *rktrans)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:526,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:530,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:545,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:547,1
    - Dst: sasl_client_new
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:548,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:551,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:553,1
    - Dst: sasl_errstring
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:554,1
    - Dst: sasl_listmech
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:560,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:562,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:571,1
    - Dst: sasl_client_start
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:572,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:574,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:577,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:590,1
    - Dst: sasl_errdetail
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - rktrans
    - hostname
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 597
    functionName: rd_kafka_sasl_cyrus_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - sasl_errdetail
    - mtx_lock
    - sasl_client_new
    - rd_snprintf
    - sasl_client_start
    - strcmp
    - rd_calloc
    - rd_kafka_sasl_send
    - rd_rkb_dbg
    - sasl_errstring
    - sasl_listmech
    - memcpy
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_client_new(rd_kafka_transport_t *rktrans,\n
      \                                         const char *hostname,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: rd_kafka_sasl_cyrus_ready
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_sasl_cyrus_ready(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:622,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:625,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:628,1
    - Dst: rd_kafka_timer_override_once
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 638
    functionName: rd_kafka_sasl_cyrus_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_start
    - strcmp
    - rd_calloc
    - rd_kafka_timer_override_once
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_cyrus_init(rd_kafka_t *rk, char *errstr, size_t errstr_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:650,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 653
    functionName: rd_kafka_sasl_cyrus_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_timer_stop
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_cyrus_term(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:660,1
    - Dst: rd_string_render
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:667,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:671,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 681
    functionName: rd_kafka_sasl_cyrus_conf_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - rd_string_render
    - rd_free
    - strcmp
    - rd_snprintf
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_cyrus_conf_validate(rd_kafka_t *rk,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 692
    functionName: rd_kafka_sasl_cyrus_global_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - mtx_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_cyrus_global_term(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:701,1
    - Dst: sasl_client_init
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:703,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:705,1
    - Dst: sasl_errstring
      Src: /src/librdkafka/src/rdkafka_sasl_cyrus.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 711
    functionName: rd_kafka_sasl_cyrus_global_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    functionUses: 0
    functionsReached:
    - sasl_errstring
    - fprintf
    - mtx_init
    - sasl_client_init
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_cyrus_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: rd_kafka_assert
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_assert(rk, cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: RD_KAFKA_OFFSET_IS_LOGICAL
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_OFFSET_IS_LOGICAL(OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - 'OFF'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: RD_KAFKA_OFFSET_IS_LOGICAL
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_OFFSET_IS_LOGICAL(OFF)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - rd_kafka_idemp_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: rd_kafka_idemp_state2str
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_idemp_state2str(rd_kafka_idemp_state_t state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - rd_kafka_txn_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: rd_kafka_txn_state2str
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_txn_state2str(rd_kafka_txn_state_t state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - rd_kafka_telemetry_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 272
    functionName: rd_kafka_telemetry_state2str
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_telemetry_state2str(rd_kafka_telemetry_state_t state)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 280
    functionName: rd_kafka_type2str
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED *rd_kafka_type2str(rd_kafka_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: rd_kafka_wrlock
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_wrlock(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 774
    functionName: rd_kafka_rdlock
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_rdlock(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 775
    functionName: rd_kafka_rdunlock
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_rdunlock(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: rd_kafka_wrunlock
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_wrunlock(rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_int.h:802,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_int.h:804,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:809,1
    - Dst: rwlock_rdunlock
      Src: /src/librdkafka/src/rdkafka_int.h:814,1
    - Dst: cnd_wait
      Src: /src/librdkafka/src/rdkafka_int.h:816,1
    - Dst: rwlock_rdlock
      Src: /src/librdkafka/src/rdkafka_int.h:819,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - rk
    - cnt
    - size
    - block
    - rdlock
    argTypes:
    - rd_kafka_t*
    - unsigned int
    - size_t
    - int
    - rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 792
    functionDepth: 2
    functionLinenumber: 792
    functionLinenumberEnd: 827
    functionName: rd_kafka_curr_msgs_add
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 1
    functionsReached:
    - rwlock_rdunlock
    - mtx_lock
    - rwlock_rdlock
    - mtx_unlock
    - unlikely
    - cnd_wait
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_curr_msgs_add(rd_kafka_t *rk,\n                       unsigned
      int cnt,\n                       size_t size,\n                       int block,\n
      \                      rwlock_t *rdlock)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_int.h:842,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_int.h:843,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_int.h:858,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_int.h:859,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:861,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - cnt
    - size
    argTypes:
    - rd_kafka_t*
    - unsigned int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 862
    functionName: rd_kafka_curr_msgs_sub
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 1
    functionsReached:
    - mtx_lock
    - cnd_broadcast
    - rd_kafka_assert
    - mtx_unlock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_curr_msgs_sub(rd_kafka_t *rk, unsigned int cnt,
      size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_int.h:872,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - cntp
    - sizep
    argTypes:
    - rd_kafka_t*
    - unsigned int*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 876
    functionName: rd_kafka_curr_msgs_get
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_curr_msgs_get(rd_kafka_t *rk, unsigned int *cntp,
      size_t *sizep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_int.h:883,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 888
    functionName: rd_kafka_curr_msgs_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_curr_msgs_cnt(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_int.h:901,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_int.h:903,1
    - Dst: cnd_timedwait_abs
      Src: /src/librdkafka/src/rdkafka_int.h:905,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_int.h:910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - timeout_ms
    - curr_msgsp
    argTypes:
    - rd_kafka_t*
    - int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 896
    functionDepth: 3
    functionLinenumber: 896
    functionLinenumberEnd: 914
    functionName: rd_kafka_curr_msgs_wait_zero
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - cnd_timedwait_abs
    - rd_timeout_init
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_curr_msgs_wait_zero(rd_kafka_t *rk,\n                             int
      timeout_ms,\n                             unsigned int *curr_msgsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: rd_kafka_terminating
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_terminating(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 941
    functionName: rd_kafka_destroy_flags_check
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_destroy_flags_check(rk, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 947
    functionName: rd_kafka_destroy_flags_no_consumer_close
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_destroy_flags_no_consumer_close(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: rd_kafka_is_simple_consumer
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_is_simple_consumer(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 957
    functionName: rd_kafka_is_idempotent
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_is_idempotent(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 963
    functionName: rd_kafka_is_transactional
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_is_transactional(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - level
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: rd_kafka_log
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_log(rk, level, fac, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - conf
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: rd_kafka_conf_is_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_conf_is_dbg(conf, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1023
    functionName: rd_kafka_is_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_is_dbg(rk, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - ctx
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1030
    functionName: rd_kafka_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 177
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_dbg(rk, ctx, fac, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - conf
    - ','
    - ctx
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1038
    functionName: rd_kafka_dbg0
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_dbg0(conf, ctx, fac, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rkb
    - ','
    - level
    - ','
    - ctx
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1050
    functionName: rd_rkb_log0
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_rkb_log0(rkb, level, ctx, fac, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rkb
    - ','
    - level
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1053
    functionName: rd_rkb_log
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_rkb_log(rkb, level, fac, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkb
    - ','
    - ctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1055
    functionName: rd_rkb_is_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_rkb_is_dbg(rkb, ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rkb
    - ','
    - ctx
    - ','
    - fac
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1063
    functionName: rd_rkb_dbg
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_rkb_dbg(rkb, ctx, fac, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_set_errno
      Src: /src/librdkafka/src/rdkafka_int.h:1078,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - err
    - errnox
    argTypes:
    - rd_kafka_resp_err_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1082
    functionName: rd_kafka_set_last_error
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 3
    functionsReached:
    - rd_set_errno
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_set_last_error(rd_kafka_resp_err_t err, int errnox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - err
    - ','
    - fmt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: rd_kafka_set_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_set_fatal_error(rk, err, fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1097
    functionName: rd_kafka_producer_can_have_fatal_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_producer_can_have_fatal_errors(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    functionName: rd_kafka_consumer_can_have_fatal_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_consumer_can_have_fatal_errors(rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_producer_can_have_fatal_errors
      Src: /src/librdkafka/src/rdkafka_int.h:1112,1
    - Dst: rd_kafka_consumer_can_have_fatal_errors
      Src: /src/librdkafka/src/rdkafka_int.h:1113,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_int.h:1114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1117
    functionName: rd_kafka_fatal_error_code
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 13
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_producer_can_have_fatal_errors
    - rd_kafka_consumer_can_have_fatal_errors
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_fatal_error_code(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka_int.h:1154,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_int.h:1161,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_int.h:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1168
    functionName: rd_kafka_max_poll_exceeded
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 3
    functionsReached:
    - unlikely
    - rd_clock
    - rd_atomic64_get
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_max_poll_exceeded(rd_kafka_t *rk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_int.h:1191,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_int.h:1193,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_int.h:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - rk
    - rkq
    - now
    - is_blocking
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_ts_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1209
    functionName: rd_kafka_app_poll_start
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached:
    - rd_atomic64_set
    - rd_clock
    - rd_avg_add
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_app_poll_start(rd_kafka_t *rk,\n                                                        rd_kafka_q_t
      *rkq,\n                                                        rd_ts_t now,\n
      \                                                       rd_bool_t is_blocking)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_int.h:1222,1
    - Dst: rd_atomic64_set
      Src: /src/librdkafka/src/rdkafka_int.h:1223,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_int.h:1224,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_int.h:1229,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_int.h:1235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1238
    functionName: rd_kafka_app_polled
    functionSourceFile: /src/librdkafka/src/rdkafka_int.h
    functionUses: 0
    functionsReached:
    - rd_atomic64_set
    - rd_dassert
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_app_polled(rd_kafka_t *rk,\n                                                    rd_kafka_q_t
      *rkq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: rwlock_init
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_init(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: rwlock_rdlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_rdlock(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: rwlock_wrlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_wrlock(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 146
    functionName: rwlock_rdunlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_rdunlock(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 156
    functionName: rwlock_wrunlock
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_wrunlock(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: rwlock_rdlock_d
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_rdlock_d(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: rwlock_wrlock_d
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_wrlock_d(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: rwlock_rdunlock_d
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_rdunlock_d(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rwl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: rwlock_wrunlock_d
    functionSourceFile: /src/librdkafka/src/tinycthread_extra.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rwlock_wrunlock_d(rwl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offs
    argTypes:
    - struct offset_stats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: rd_kafka_offset_stats_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_offset_stats_reset(struct offset_stats *offs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_partition.h:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_fetch_pos_t*
    - rd_kafka_fetch_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: rd_kafka_fetch_pos_cmp_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_fetch_pos_cmp_offset(const rd_kafka_fetch_pos_t
      *a,\n                              const rd_kafka_fetch_pos_t *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fetch_pos_cmp_offset
      Src: /src/librdkafka/src/rdkafka_partition.h:88,1
    - Dst: rd_kafka_fetch_pos_cmp_offset
      Src: /src/librdkafka/src/rdkafka_partition.h:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_fetch_pos_t*
    - rd_kafka_fetch_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: rd_kafka_fetch_pos_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 2
    functionsReached:
    - rd_kafka_fetch_pos_cmp_offset
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_fetch_pos_cmp(const rd_kafka_fetch_pos_t *a,\n
      \                      const rd_kafka_fetch_pos_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetchpos
    argTypes:
    - rd_kafka_fetch_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: rd_kafka_fetch_pos_init
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_fetch_pos_init(rd_kafka_fetch_pos_t *fetchpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - offset
    - leader_epoch
    - validated
    argTypes:
    - int64_t
    - int32_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: rd_kafka_fetch_pos_make
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_fetch_pos_make(int64_t offset,\n                        int32_t
      leader_epoch,\n                        rd_bool_t validated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - offset
    - ','
    - leader_epoch
    - ','
    - validated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: RD_KAFKA_FETCH_POS0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_FETCH_POS0(offset, leader_epoch, validated)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - offset
    - ','
    - leader_epoch
    - ','
    - validated
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: RD_KAFKA_FETCH_POS0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_FETCH_POS0(offset, leader_epoch, validated)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - offset
    - ','
    - leader_epoch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: RD_KAFKA_FETCH_POS
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_FETCH_POS(offset, leader_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fetch_state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: RD_KAFKA_TOPPAR_FETCH_IS_STARTED
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TOPPAR_FETCH_IS_STARTED(fetch_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rktp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: RD_KAFKA_TOPPAR_IS_PAUSED
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TOPPAR_IS_PAUSED(rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RKTP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: rd_kafka_toppar_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_keep(RKTP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUNC
    - ','
    - LINE
    - ','
    - RKTP
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: rd_kafka_toppar_keep_fl
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_keep_fl(FUNC, LINE, RKTP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_refcnt_add_fl
      Src: /src/librdkafka/src/rdkafka_partition.h:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - func
    - line
    - rktp
    argTypes:
    - char*
    - int
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: rd_kafka_toppar_keep0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_refcnt_add_fl
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_toppar_keep0(const char *func, int line, rd_kafka_toppar_t *rktp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RKTP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 539
    functionName: rd_kafka_toppar_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_destroy(RKTP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rktp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: rd_kafka_toppar_lock
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_lock(rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rktp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: rd_kafka_toppar_unlock
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_unlock(rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.h:550,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.h:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: rd_kafka_toppar_name
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_PR
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_toppar_name(const rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkt
    - ','
    - partition
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: rd_kafka_toppar_new
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_new(rkt, partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkt
    - ','
    - partition
    - ','
    - ua_on_miss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: rd_kafka_toppar_get
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_get(rkt, partition, ua_on_miss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - RKTPAR
    - ','
    - TPLIST
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TPLIST_FOREACH(RKTPAR, TPLIST)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - RKTPAR
    - ','
    - TPLIST
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: RD_KAFKA_TPLIST_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_TPLIST_FOREACH_REVERSE(RKTPAR, TPLIST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.h:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 830
    functionName: rd_kafka_topic_partition_private_new
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_topic_partition_private_new()'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_private_new
      Src: /src/librdkafka/src/rdkafka_partition.h:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 835
    functionDepth: 2
    functionLinenumber: 835
    functionLinenumberEnd: 845
    functionName: rd_kafka_topic_partition_get_private
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_private_new
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_topic_partition_get_private(rd_kafka_topic_partition_t *rktpar)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - rktpar
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: rd_kafka_topic_partition_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *\nrd_kafka_topic_partition_toppar(rd_kafka_t *rk,\n                                const
      rd_kafka_topic_partition_t *rktpar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_partition.h:902,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.h:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rktpar
    - create_on_miss
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 908
    functionName: rd_kafka_topic_partition_get_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_partition_ensure_toppar
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *\nrd_kafka_topic_partition_get_toppar(rd_kafka_t *rk,\n
      \                                   rd_kafka_topic_partition_t *rktpar,\n                                    rd_bool_t
      create_on_miss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.h:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 977
    functionName: rd_kafka_fetch_pos_t::rd_kafka_topic_partition_get_fetch_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_leader_epoch
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_fetch_pos_t rd_kafka_topic_partition_get_fetch_pos(\n
      \   const rd_kafka_topic_partition_t *rktpar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 988
    functionName: rd_kafka_topic_partition_match_valid_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_topic_partition_match_valid_offset(const void *elem,\n
      \                                           const void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_partition.h:1043,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_partition.h:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1035
    functionDepth: 2
    functionLinenumber: 1035
    functionLinenumberEnd: 1048
    functionName: rd_kafka_toppar_ver_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp
    - RD_CMP
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_toppar_ver_cmp(const void *_a,\n                                                       const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.h:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tver
    argTypes:
    - struct rd_kafka_toppar_ver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1056
    functionName: rd_kafka_toppar_ver_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_toppar_ver_destroy(struct rd_kafka_toppar_ver *tver)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_partition.h:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rko
    - version
    argTypes:
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1074
    functionName: rd_kafka_op_version_outdated
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_op_version_outdated(rd_kafka_op_t *rko,\n                                                            int
      version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.h:1094,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.h:1095,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.h:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - leader
    argTypes:
    - struct rd_kafka_partition_leader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: rd_kafka_partition_leader_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_broker_destroy
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_partition_leader_destroy(struct rd_kafka_partition_leader
      *leader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_partition.h:1103,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_partition.h:1105,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: rd_kafka_partition_leader_new
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_malloc
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_kafka_partition_leader_new(rd_kafka_broker_t *rkb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_cmp
      Src: /src/librdkafka/src/rdkafka_partition.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1114
    functionName: rd_kafka_partition_leader_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_cmp
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_partition_leader_cmp(const void *_a,\n                                                   const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.h:1128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1129
    functionName: rd_kafka_toppar_topic_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_toppar_topic_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktp
    - next_pos
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1142
    functionName: rd_kafka_toppar_set_next_fetch_position
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_toppar_set_next_fetch_position(rd_kafka_toppar_t
      *rktp,\n                                        rd_kafka_fetch_pos_t next_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktp
    - offset_validation_pos
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: rd_kafka_toppar_set_offset_validation_position
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_toppar_set_offset_validation_position(\n    rd_kafka_toppar_t
      *rktp,\n    rd_kafka_fetch_pos_t offset_validation_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: get_unaligned64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u64
    signature: u64 get_unaligned64(const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: get_unaligned32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: u32
    signature: u32 get_unaligned32(const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: get_unaligned_le32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_unaligned_le32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - b
    argTypes:
    - u64
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: put_unaligned64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_unaligned64(u64 v, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - b
    argTypes:
    - u32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: put_unaligned32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_unaligned32(u32 v, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - b
    argTypes:
    - u16
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: put_unaligned16
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void put_unaligned16(u16 v, void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: put_unaligned_le16
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_unaligned_le16(v,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: CRASH_UNLESS
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRASH_UNLESS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: CHECK
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: CHECK_LE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: CHECK_GE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: CHECK_EQ
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: CHECK_NE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: CHECK_LT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: CHECK_GT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD32(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: UNALIGNED_LOAD64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_LOAD64(_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE16(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE32(_p, _val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _p
    - ','
    - _val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: UNALIGNED_STORE64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNALIGNED_STORE64(_p, _val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE64
      Src: /src/librdkafka/src/snappy.c:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:122,1
    - Dst: UNALIGNED_STORE32
      Src: /src/librdkafka/src/snappy.c:127,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:127,1
    - Dst: UNALIGNED_STORE32
      Src: /src/librdkafka/src/snappy.c:128,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: unaligned_copy64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - UNALIGNED_STORE32
    - UNALIGNED_STORE64
    - UNALIGNED_LOAD32
    - UNALIGNED_LOAD64
    linkageType: ''
    returnType: void
    signature: void unaligned_copy64(const void *src, void *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: DCHECK
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: DCHECK_LE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: DCHECK_GE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: DCHECK_EQ
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: DCHECK_NE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: DCHECK_LT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: DCHECK_GT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: DCHECK
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: DCHECK_LE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_LE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: DCHECK_GE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_GE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: DCHECK_EQ
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_EQ(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: DCHECK_NE
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_NE(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: DCHECK_LT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_LT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: DCHECK_GT
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCHECK_GT(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: is_little_endian
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_little_endian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: rd_clz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_clz(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: rd_ctz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_ctz(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: rd_ctz64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_ctz64(n)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: rd_clz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rd_clz(u32 x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: rd_ctz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 rd_ctz(u32 x)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 212
    functionName: rd_ctz64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: u64 rd_ctz64(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: rd_clz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_clz(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 216
    functionName: rd_ctz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_ctz(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: rd_ctz64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_ctz64(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/librdkafka/src/snappy.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: rd_clz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int rd_clz(u32 x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanForward
      Src: /src/librdkafka/src/snappy.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 233
    functionName: rd_ctz
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - _BitScanForward
    linkageType: ''
    returnType: int
    signature: int rd_ctz(u32 x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse64
      Src: /src/librdkafka/src/snappy.c:238,1
    - Dst: rd_ctz
      Src: /src/librdkafka/src/snappy.c:244,1
    - Dst: rd_ctz
      Src: /src/librdkafka/src/snappy.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 248
    functionName: rd_ctz64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_ctz
    - _BitScanReverse64
    linkageType: ''
    returnType: int
    signature: int rd_ctz64(u64 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clz
      Src: /src/librdkafka/src/snappy.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: log2_floor
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_clz
    linkageType: ''
    returnType: int
    signature: int log2_floor(u32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_ctz
      Src: /src/librdkafka/src/snappy.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 260
    functionName: find_lsb_set_non_zero
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_ctz
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED find_lsb_set_non_zero(u32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_ctz64
      Src: /src/librdkafka/src/snappy.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - u64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: find_lsb_set_non_zero64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_ctz64
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED find_lsb_set_non_zero64(u64 n)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - p
    - l
    - OUTPUT
    argTypes:
    - char*
    - char*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 318
    functionName: varint_parse32_with_limit
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *varint_parse32_with_limit(const char *p,\n\t\t\t\t\t\t    const
      char *l,\n\t\t\t\t\t\t    u32 * OUTPUT)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - sptr
    - v
    argTypes:
    - char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 353
    functionName: varint_encode32
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *varint_encode32(char *sptr, u32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - addr
    - n_bytes
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 360
    functionName: n_bytes_after_addr
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *n_bytes_after_addr(void *addr, size_t n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: available
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int available(struct source *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:378,1
    - Dst: n_bytes_after_addr
      Src: /src/librdkafka/src/snappy.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - struct source*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: peek
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - n_bytes_after_addr
    - likely
    linkageType: ''
    returnType: char
    signature: char *peek(struct source *s, size_t *len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - struct source*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: skip
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - DCHECK_LE
    linkageType: ''
    returnType: void
    signature: void skip(struct source *s, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n_bytes_after_addr
      Src: /src/librdkafka/src/snappy.c:412,1
    - Dst: min_t
      Src: /src/librdkafka/src/snappy.c:413,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:415,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:421,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - s
    - data
    - n
    argTypes:
    - struct sink*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: append
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 7
    functionsReached:
    - memcpy
    - n_bytes_after_addr
    - DCHECK_LT
    - min_t
    linkageType: ''
    returnType: void
    signature: void append(struct sink *s, const char *data, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: n_bytes_after_addr
      Src: /src/librdkafka/src/snappy.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - struct sink*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: sink_peek
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - n_bytes_after_addr
    linkageType: ''
    returnType: void
    signature: void *sink_peek(struct sink *s, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 447
    functionName: available
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int available(struct source *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - struct source*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 453
    functionName: peek
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *peek(struct source *s, size_t * len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - struct source*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: skip
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void skip(struct source *s, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - data
    - n
    argTypes:
    - struct sink*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 470
    functionName: append
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 7
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void append(struct sink *s, const char *data, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 473
    functionName: sink_peek
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sink_peek(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct sink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 477
    functionName: sink_peek_no_sg
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *sink_peek_no_sg(const struct sink *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - len
    argTypes:
    - struct writer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 491
    functionName: writer_set_expected_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writer_set_expected_length(struct writer *w, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - struct writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: writer_check_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool writer_check_length(struct writer *w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GT
      Src: /src/librdkafka/src/snappy.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - op
    - len
    argTypes:
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: incremental_copy
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - DCHECK_GT
    linkageType: ''
    returnType: void
    signature: void incremental_copy(const char *src, char *op, ssize_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:559,1
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - src
    - op
    - len
    argTypes:
    - char*
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 569
    functionName: incremental_copy_fast_path
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - unaligned_copy64
    linkageType: ''
    returnType: void
    signature: "void incremental_copy_fast_path(const char *src, char *op,\n\t\t\t\t\t
      \     ssize_t len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/librdkafka/src/snappy.c:575,1
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:583,1
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:584,1
    - Dst: incremental_copy_fast_path
      Src: /src/librdkafka/src/snappy.c:587,1
    - Dst: incremental_copy
      Src: /src/librdkafka/src/snappy.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - w
    - offset
    - len
    argTypes:
    - struct writer*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 598
    functionName: writer_append_from_self
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - unaligned_copy64
    - incremental_copy
    - CHECK_LE
    - incremental_copy_fast_path
    linkageType: ''
    returnType: bool
    signature: "bool writer_append_from_self(struct writer *w, u32 offset,\n\t\t\t\t\t
      \  u32 len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/librdkafka/src/snappy.c:603,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - w
    - ip
    - len
    argTypes:
    - struct writer*
    - char*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 610
    functionName: writer_append
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    - CHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool writer_append(struct writer *w, const char *ip, u32 len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:619,1
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - w
    - ip
    - available_bytes
    - len
    argTypes:
    - struct writer*
    - char*
    - u32
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 612
    functionDepth: 2
    functionLinenumber: 612
    functionLinenumberEnd: 625
    functionName: writer_try_fast_append
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - unaligned_copy64
    linkageType: ''
    returnType: bool
    signature: "bool writer_try_fast_append(struct writer *w, const char *ip, \n\t\t\t\t\t
      \ u32 available_bytes, u32 len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - shift
    argTypes:
    - u32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: hash_bytes
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: u32 hash_bytes(u32 bytes, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_bytes
      Src: /src/librdkafka/src/snappy.c:642,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - shift
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: hash
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - hash_bytes
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: u32
    signature: u32 hash(const char *p, int shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source_len
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 670
    functionName: rd_kafka_snappy_max_compressed_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rd_kafka_snappy_max_compressed_length(size_t source_len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:703,1
    - Dst: unaligned_copy64
      Src: /src/librdkafka/src/snappy.c:704,1
    - Dst: DCHECK
      Src: /src/librdkafka/src/snappy.c:717,1
    - Dst: DCHECK
      Src: /src/librdkafka/src/snappy.c:718,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - op
    - literal
    - len
    - allow_fast_path
    argTypes:
    - char*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 723
    functionName: emit_literal
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memcpy
    - DCHECK
    - unaligned_copy64
    linkageType: ''
    returnType: char
    signature: "char *emit_literal(char *op,\n\t\t\t\t const char *literal,\n\t\t\t\t
      int len, bool allow_fast_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:727,1
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:728,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:729,1
    - Dst: DCHECK
      Src: /src/librdkafka/src/snappy.c:733,1
    - Dst: put_unaligned_le16
      Src: /src/librdkafka/src/snappy.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - op
    - offset
    - len
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: emit_copy_less_than64
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - DCHECK_LT
    - DCHECK_GE
    - DCHECK
    - put_unaligned_le16
    - DCHECK_LE
    linkageType: ''
    returnType: char
    signature: char *emit_copy_less_than64(char *op, int offset, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_copy_less_than64
      Src: /src/librdkafka/src/snappy.c:753,1
    - Dst: emit_copy_less_than64
      Src: /src/librdkafka/src/snappy.c:762,1
    - Dst: emit_copy_less_than64
      Src: /src/librdkafka/src/snappy.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - op
    - offset
    - len
    argTypes:
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 769
    functionName: emit_copy
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - emit_copy_less_than64
    linkageType: ''
    returnType: char
    signature: char *emit_copy(char *op, int offset, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varint_parse32_with_limit
      Src: /src/librdkafka/src/snappy.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - start
    - n
    - result
    argTypes:
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 789
    functionName: rd_kafka_snappy_uncompressed_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - varint_parse32_with_limit
    linkageType: ''
    returnType: bool
    signature: bool rd_kafka_snappy_uncompressed_length(const char *start, size_t
      n, size_t * result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK
      Src: /src/librdkafka/src/snappy.c:823,1
    - Dst: CHECK_EQ
      Src: /src/librdkafka/src/snappy.c:826,1
    - Dst: CHECK_LE
      Src: /src/librdkafka/src/snappy.c:827,1
    - Dst: memset
      Src: /src/librdkafka/src/snappy.c:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - env
    - input_size
    - table_size
    argTypes:
    - struct snappy_env*
    - size_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 835
    functionName: get_hash_table
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memset
    - CHECK_EQ
    - DCHECK
    - CHECK_LE
    linkageType: ''
    returnType: u16
    signature: "u16 *get_hash_table(struct snappy_env *env, size_t input_size,\n\t\t\t
      \     int *table_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:856,1
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:863,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:864,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:865,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:865,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:878,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:878,1
    - Dst: find_lsb_set_non_zero64
      Src: /src/librdkafka/src/snappy.c:880,1
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:885,1
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 894
    functionName: find_match_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - DCHECK_GE
    - UNALIGNED_LOAD64
    - likely
    - unlikely
    - find_lsb_set_non_zero64
    linkageType: ''
    returnType: int
    signature: "int find_match_length(const char *s1,\n\t\t\t\t    const char *s2,
      const char *s2_limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:900,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:904,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:904,1
    - Dst: is_little_endian
      Src: /src/librdkafka/src/snappy.c:908,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:910,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:910,1
    - Dst: find_lsb_set_non_zero
      Src: /src/librdkafka/src/snappy.c:911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s1
    - s2
    - s2_limit
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 920
    functionName: find_match_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - is_little_endian
    - DCHECK_GE
    - find_lsb_set_non_zero
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: int
    signature: "int find_match_length(const char *s1,\n\t\t\t\t    const char *s2,
      const char *s2_limit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_LOAD64
      Src: /src/librdkafka/src/snappy.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: get_eight_bytes_at
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - UNALIGNED_LOAD64
    linkageType: ''
    returnType: eight_bytes_reference
    signature: eight_bytes_reference get_eight_bytes_at(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:949,1
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:950,1
    - Dst: is_little_endian
      Src: /src/librdkafka/src/snappy.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - offset
    argTypes:
    - u64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 952
    functionName: get_u32_at_offset
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - is_little_endian
    - DCHECK_GE
    - DCHECK_LE
    linkageType: ''
    returnType: u32
    signature: u32 get_u32_at_offset(u64 v, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    functionName: get_eight_bytes_at
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: eight_bytes_reference
    signature: eight_bytes_reference get_eight_bytes_at(const char* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:965,1
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:966,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - offset
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 968
    functionName: get_u32_at_offset
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - DCHECK_GE
    - DCHECK_LE
    - UNALIGNED_LOAD32
    linkageType: ''
    returnType: u32
    signature: u32 get_u32_at_offset(const char *v, int offset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_LE
      Src: /src/librdkafka/src/snappy.c:991,1
    - Dst: CHECK_EQ
      Src: /src/librdkafka/src/snappy.c:992,1
    - Dst: log2_floor
      Src: /src/librdkafka/src/snappy.c:993,1
    - Dst: DCHECK_EQ
      Src: /src/librdkafka/src/snappy.c:994,1
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:1005,1
    - Dst: hash
      Src: /src/librdkafka/src/snappy.c:1010,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:1011,1
    - Dst: DCHECK_EQ
      Src: /src/librdkafka/src/snappy.c:1046,1
    - Dst: hash
      Src: /src/librdkafka/src/snappy.c:1046,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1049,1
    - Dst: hash
      Src: /src/librdkafka/src/snappy.c:1052,1
    - Dst: DCHECK_GE
      Src: /src/librdkafka/src/snappy.c:1054,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:1055,1
    - Dst: likely
      Src: /src/librdkafka/src/snappy.c:1058,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:1058,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:1059,1
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:1066,1
    - Dst: emit_literal
      Src: /src/librdkafka/src/snappy.c:1067,1
    - Dst: find_match_length
      Src: /src/librdkafka/src/snappy.c:1089,1
    - Dst: DCHECK_EQ
      Src: /src/librdkafka/src/snappy.c:1093,1
    - Dst: memcmp
      Src: /src/librdkafka/src/snappy.c:1093,1
    - Dst: emit_copy
      Src: /src/librdkafka/src/snappy.c:1094,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1101,1
    - Dst: get_eight_bytes_at
      Src: /src/librdkafka/src/snappy.c:1104,1
    - Dst: hash_bytes
      Src: /src/librdkafka/src/snappy.c:1106,1
    - Dst: get_u32_at_offset
      Src: /src/librdkafka/src/snappy.c:1106,1
    - Dst: hash_bytes
      Src: /src/librdkafka/src/snappy.c:1110,1
    - Dst: get_u32_at_offset
      Src: /src/librdkafka/src/snappy.c:1110,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/librdkafka/src/snappy.c:1113,1
    - Dst: get_u32_at_offset
      Src: /src/librdkafka/src/snappy.c:1115,1
    - Dst: hash_bytes
      Src: /src/librdkafka/src/snappy.c:1119,1
    - Dst: get_u32_at_offset
      Src: /src/librdkafka/src/snappy.c:1119,1
    - Dst: emit_literal
      Src: /src/librdkafka/src/snappy.c:1128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 5
    argNames:
    - input
    - input_size
    - op
    - table
    - table_size
    argTypes:
    - char*
    - size_t
    - char*
    - u16*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1131
    functionName: compress_fragment
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - emit_literal
    - CHECK_EQ
    - log2_floor
    - emit_copy
    - UNALIGNED_LOAD32
    - hash_bytes
    - DCHECK_LT
    - DCHECK_GE
    - DCHECK_EQ
    - find_match_length
    - memcmp
    - get_eight_bytes_at
    - get_u32_at_offset
    - CHECK_LE
    - hash
    - likely
    - unlikely
    - DCHECK_LE
    linkageType: ''
    returnType: char
    signature: "char *compress_fragment(const char *const input,\n\t\t\t       const
      size_t input_size,\n\t\t\t       char *op, u16 * table, const unsigned table_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - d
    - reader
    argTypes:
    - struct snappy_decompressor*
    - struct source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1209
    functionName: init_snappy_decompressor
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_snappy_decompressor(struct snappy_decompressor *d, struct
      source *reader)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct snappy_decompressor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1214
    functionName: exit_snappy_decompressor
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - skip
    linkageType: ''
    returnType: void
    signature: void exit_snappy_decompressor(struct snappy_decompressor *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DCHECK
      Src: /src/librdkafka/src/snappy.c:1224,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1234,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - d
    - result
    argTypes:
    - struct snappy_decompressor*
    - u32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1246
    functionName: read_uncompressed_length
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - skip
    - DCHECK
    - peek
    linkageType: ''
    returnType: bool
    signature: "bool read_uncompressed_length(struct snappy_decompressor *d,\n\t\t\t\t
      \    u32 * result)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MAYBE_REFILL
      Src: /src/librdkafka/src/snappy.c:1273,1
    - Dst: refill_tag
      Src: /src/librdkafka/src/snappy.c:1277,1
    - Dst: writer_try_fast_append
      Src: /src/librdkafka/src/snappy.c:1286,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:1288,1
    - Dst: MAYBE_REFILL
      Src: /src/librdkafka/src/snappy.c:1290,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1293,1
    - Dst: get_unaligned_le32
      Src: /src/librdkafka/src/snappy.c:1296,1
    - Dst: writer_append
      Src: /src/librdkafka/src/snappy.c:1303,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1306,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1308,1
    - Dst: writer_append
      Src: /src/librdkafka/src/snappy.c:1315,1
    - Dst: MAYBE_REFILL
      Src: /src/librdkafka/src/snappy.c:1318,1
    - Dst: get_unaligned_le32
      Src: /src/librdkafka/src/snappy.c:1321,1
    - Dst: writer_append_from_self
      Src: /src/librdkafka/src/snappy.c:1333,1
    - Dst: MAYBE_REFILL
      Src: /src/librdkafka/src/snappy.c:1337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - d
    - writer
    argTypes:
    - struct snappy_decompressor*
    - struct writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1254
    functionDepth: 4
    functionLinenumber: 1254
    functionLinenumberEnd: 1340
    functionName: decompress_all_tags
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - get_unaligned_le32
    - peek
    - DCHECK_LT
    - refill_tag
    - skip
    - MAYBE_REFILL
    - writer_try_fast_append
    - writer_append_from_self
    - writer_append
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void decompress_all_tags(struct snappy_decompressor *d,\n\t\t\t\tstruct
      writer *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1271
    functionName: MAYBE_REFILL
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAYBE_REFILL()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1351,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1352,1
    - Dst: DCHECK_LT
      Src: /src/librdkafka/src/snappy.c:1362,1
    - Dst: DCHECK_LE
      Src: /src/librdkafka/src/snappy.c:1366,1
    - Dst: memmove
      Src: /src/librdkafka/src/snappy.c:1378,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1379,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1383,1
    - Dst: min_t
      Src: /src/librdkafka/src/snappy.c:1386,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:1387,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1389,1
    - Dst: DCHECK_EQ
      Src: /src/librdkafka/src/snappy.c:1391,1
    - Dst: memmove
      Src: /src/librdkafka/src/snappy.c:1399,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - d
    argTypes:
    - struct snappy_decompressor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1344
    functionDepth: 2
    functionLinenumber: 1344
    functionLinenumberEnd: 1409
    functionName: refill_tag
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - min_t
    - peek
    - DCHECK_LT
    - skip
    - memmove
    - memcpy
    - DCHECK_EQ
    - DCHECK_LE
    linkageType: ''
    returnType: bool
    signature: bool refill_tag(struct snappy_decompressor *d)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_snappy_decompressor
      Src: /src/librdkafka/src/snappy.c:1417,1
    - Dst: read_uncompressed_length
      Src: /src/librdkafka/src/snappy.c:1419,1
    - Dst: writer_set_expected_length
      Src: /src/librdkafka/src/snappy.c:1425,1
    - Dst: decompress_all_tags
      Src: /src/librdkafka/src/snappy.c:1428,1
    - Dst: exit_snappy_decompressor
      Src: /src/librdkafka/src/snappy.c:1430,1
    - Dst: writer_check_length
      Src: /src/librdkafka/src/snappy.c:1431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - r
    - writer
    - max_len
    argTypes:
    - struct source*
    - struct writer*
    - u32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1411
    functionDepth: 5
    functionLinenumber: 1411
    functionLinenumberEnd: 1434
    functionName: internal_uncompress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - exit_snappy_decompressor
    - writer_set_expected_length
    - writer_check_length
    - read_uncompressed_length
    - init_snappy_decompressor
    - decompress_all_tags
    linkageType: ''
    returnType: int
    signature: "int internal_uncompress(struct source *r,\n\t\t\t       struct writer
      *writer, u32 max_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: available
      Src: /src/librdkafka/src/snappy.c:1441,1
    - Dst: varint_encode32
      Src: /src/librdkafka/src/snappy.c:1443,1
    - Dst: append
      Src: /src/librdkafka/src/snappy.c:1445,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1451,1
    - Dst: min_t
      Src: /src/librdkafka/src/snappy.c:1456,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:1466,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1467,1
    - Dst: peek
      Src: /src/librdkafka/src/snappy.c:1470,1
    - Dst: min_t
      Src: /src/librdkafka/src/snappy.c:1472,1
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:1474,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1476,1
    - Dst: DCHECK_EQ
      Src: /src/librdkafka/src/snappy.c:1478,1
    - Dst: get_hash_table
      Src: /src/librdkafka/src/snappy.c:1487,1
    - Dst: sink_peek
      Src: /src/librdkafka/src/snappy.c:1491,1
    - Dst: rd_kafka_snappy_max_compressed_length
      Src: /src/librdkafka/src/snappy.c:1491,1
    - Dst: compress_fragment
      Src: /src/librdkafka/src/snappy.c:1500,1
    - Dst: append
      Src: /src/librdkafka/src/snappy.c:1502,1
    - Dst: skip
      Src: /src/librdkafka/src/snappy.c:1506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - env
    - reader
    - writer
    argTypes:
    - struct snappy_env*
    - struct source*
    - struct sink*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1512
    functionName: sn_compress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - min_t
    - peek
    - sink_peek
    - skip
    - get_hash_table
    - varint_encode32
    - rd_kafka_snappy_max_compressed_length
    - compress_fragment
    - available
    - memcpy
    - DCHECK_EQ
    - append
    linkageType: ''
    returnType: int
    signature: "int sn_compress(struct snappy_env *env, struct source *reader,\n\t\t\t
      \  struct sink *writer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sn_compress
      Src: /src/librdkafka/src/snappy.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - env
    - iov_in
    - iov_in_cnt
    - input_length
    - iov_out
    argTypes:
    - struct snappy_env*
    - struct iovec*
    - size_t
    - size_t
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1516
    functionDepth: 5
    functionLinenumber: 1516
    functionLinenumberEnd: 1534
    functionName: rd_kafka_snappy_compress_iov
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - sn_compress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_snappy_compress_iov(struct snappy_env *env,\n                                 const
      struct iovec *iov_in, size_t iov_in_cnt,\n                                 size_t
      input_length,\n                                 struct iovec *iov_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_snappy_compress_iov
      Src: /src/librdkafka/src/snappy.c:1567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - env
    - input
    - input_length
    - compressed
    - compressed_length
    argTypes:
    - struct snappy_env*
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1554
    functionDepth: 6
    functionLinenumber: 1554
    functionLinenumberEnd: 1570
    functionName: rd_kafka_snappy_compress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_kafka_snappy_compress_iov
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_snappy_compress(struct snappy_env *env,\n\t\t    const
      char *input,\n\t\t    size_t input_length,\n\t\t    char *compressed, size_t
      *compressed_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_uncompress
      Src: /src/librdkafka/src/snappy.c:1585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iov_in
    - iov_in_len
    - input_len
    - uncompressed
    argTypes:
    - struct iovec*
    - int
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1573
    functionDepth: 6
    functionLinenumber: 1573
    functionLinenumberEnd: 1586
    functionName: rd_kafka_snappy_uncompress_iov
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - internal_uncompress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_snappy_uncompress_iov(struct iovec *iov_in, int iov_in_len,\n\t\t\t
      \  size_t input_len, char *uncompressed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_snappy_uncompress_iov
      Src: /src/librdkafka/src/snappy.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - compressed
    - n
    - uncompressed
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1600
    functionDepth: 7
    functionLinenumber: 1600
    functionLinenumberEnd: 1607
    functionName: rd_kafka_snappy_uncompress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - rd_kafka_snappy_uncompress_iov
    linkageType: ''
    returnType: int
    signature: int rd_kafka_snappy_uncompress(const char *compressed, size_t n, char
      *uncompressed)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/snappy.c:1638,1
    - Dst: be32toh
      Src: /src/librdkafka/src/snappy.c:1639,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1642,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1643,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1652,1
    - Dst: rd_kafka_snappy_uncompressed_length
      Src: /src/librdkafka/src/snappy.c:1652,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1654,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1671,1
    - Dst: rd_kafka_snappy_uncompress
      Src: /src/librdkafka/src/snappy.c:1671,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1673,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/snappy.c:1678,1
    - Dst: rd_free
      Src: /src/librdkafka/src/snappy.c:1679,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1687,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1688,1
    - Dst: rd_free
      Src: /src/librdkafka/src/snappy.c:1693,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1699,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/snappy.c:1705,1
    - Dst: unlikely
      Src: /src/librdkafka/src/snappy.c:1706,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/snappy.c:1707,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/snappy.c:1711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 5
    argNames:
    - inbuf
    - inlen
    - outlenp
    - errstr
    - errstr_size
    argTypes:
    - char*
    - size_t
    - size_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1616
    functionDepth: 8
    functionLinenumber: 1616
    functionLinenumberEnd: 1722
    functionName: rd_kafka_snappy_java_uncompress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_snprintf
    - rd_malloc
    - be32toh
    - rd_kafka_snappy_uncompressed_length
    - rd_strerror
    - rd_kafka_snappy_uncompress
    - memcpy
    - unlikely
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_snappy_java_uncompress (const char *inbuf, size_t inlen,\n
      \                                      size_t *outlenp,\n                                       char
      *errstr, size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sn_compress
      Src: /src/librdkafka/src/snappy.c:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - env
    - input
    - input_length
    - compressed
    - compressed_length
    argTypes:
    - struct snappy_env*
    - char*
    - size_t
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1744
    functionDepth: 5
    functionLinenumber: 1744
    functionLinenumberEnd: 1761
    functionName: rd_kafka_snappy_compress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - sn_compress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_snappy_compress(struct snappy_env *env,\n\t\t    const
      char *input,\n\t\t    size_t input_length,\n\t\t    char *compressed, size_t
      *compressed_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: internal_uncompress
      Src: /src/librdkafka/src/snappy.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - compressed
    - n
    - uncompressed
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1775
    functionDepth: 6
    functionLinenumber: 1775
    functionLinenumberEnd: 1786
    functionName: rd_kafka_snappy_uncompress
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 2
    functionsReached:
    - internal_uncompress
    linkageType: ''
    returnType: int
    signature: int rd_kafka_snappy_uncompress(const char *compressed, size_t n, char
      *uncompressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/snappy.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - env
    argTypes:
    - struct snappy_env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1793
    functionName: clear_env
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void clear_env(struct snappy_env *env)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_snappy_init_env
      Src: /src/librdkafka/src/snappy.c:1808,1
    - Dst: vmalloc
      Src: /src/librdkafka/src/snappy.c:1812,1
    - Dst: vmalloc
      Src: /src/librdkafka/src/snappy.c:1816,1
    - Dst: rd_kafka_snappy_max_compressed_length
      Src: /src/librdkafka/src/snappy.c:1816,1
    - Dst: rd_kafka_snappy_free_env
      Src: /src/librdkafka/src/snappy.c:1822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - env
    - sg
    argTypes:
    - struct snappy_env*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1824
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1824
    functionName: rd_kafka_snappy_init_env_sg
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 0
    functionsReached:
    - rd_kafka_snappy_max_compressed_length
    - rd_kafka_snappy_free_env
    - vmalloc
    - rd_kafka_snappy_init_env
    linkageType: ''
    returnType: int
    signature: int rd_kafka_snappy_init_env_sg(struct snappy_env *env, bool sg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clear_env
      Src: /src/librdkafka/src/snappy.c:1839,1
    - Dst: vmalloc
      Src: /src/librdkafka/src/snappy.c:1840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - env
    argTypes:
    - struct snappy_env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1844
    functionName: rd_kafka_snappy_init_env
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - vmalloc
    - clear_env
    linkageType: ''
    returnType: int
    signature: int rd_kafka_snappy_init_env(struct snappy_env *env)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vfree
      Src: /src/librdkafka/src/snappy.c:1855,1
    - Dst: vfree
      Src: /src/librdkafka/src/snappy.c:1857,1
    - Dst: vfree
      Src: /src/librdkafka/src/snappy.c:1858,1
    - Dst: clear_env
      Src: /src/librdkafka/src/snappy.c:1860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - env
    argTypes:
    - struct snappy_env*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: rd_kafka_snappy_free_env
    functionSourceFile: /src/librdkafka/src/snappy.c
    functionUses: 1
    functionsReached:
    - vfree
    - clear_env
    linkageType: ''
    returnType: void
    signature: void rd_kafka_snappy_free_env(struct snappy_env *env)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: likely
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 163
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: unlikely
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: RD_IS_CONSTANT
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_IS_CONSTANT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: rd_alloca
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_alloca(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: RD_FORMAT
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_FORMAT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: rd_snprintf
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 147
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_snprintf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: rd_vsnprintf
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_vsnprintf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: rd_strcasecmp
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strcasecmp(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - B
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: rd_strncasecmp
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strncasecmp(A, B, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - HAYSTACK
    - ','
    - NEEDLE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: rd_strcasestr
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strcasestr(HAYSTACK, NEEDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - HAYSTACK
    - ','
    - NEEDLE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: rd_strcasestr
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strcasestr(HAYSTACK, NEEDLE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: rd_set_errno
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_set_errno(err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strerror_r
      Src: /src/librdkafka/src/rdposix.h:113,1
    - Dst: strerror_r
      Src: /src/librdkafka/src/rdposix.h:119,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdposix.h:120,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdposix.h:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: rd_strerror
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 30
    functionsReached:
    - unlikely
    - rd_snprintf
    - strerror_r
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_strerror(int err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: rd_strerror
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strerror(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/librdkafka/src/rdposix.h:148,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdposix.h:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - usec
    - terminate
    argTypes:
    - int
    - rd_atomic32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: rd_usleep
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 27
    functionsReached:
    - rd_atomic32_get
    - nanosleep
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_usleep(int usec, rd_atomic32_t *terminate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - tz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: rd_gettimeofday
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_gettimeofday(tv, tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: rd_assert
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_assert(EXPR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - EXPR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: rd_assert
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_assert(EXPR)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/librdkafka/src/rdposix.h:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - env
    - def
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: rd_getenv
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 3
    functionsReached:
    - getenv
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *rd_getenv(const char *env,\n                                                 const
      char *def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: rd_socket_strerror
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_strerror(ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - POLLFD
    - ','
    - FDCNT
    - ','
    - TIMEOUT_MS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: rd_socket_poll
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_poll(POLLFD, FDCNT, TIMEOUT_MS)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fcntl
      Src: /src/librdkafka/src/rdposix.h:215,1
    - Dst: fcntl
      Src: /src/librdkafka/src/rdposix.h:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: rd_fd_set_nonblocking
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 2
    functionsReached:
    - fcntl
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_fd_set_nonblocking(int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/librdkafka/src/rdposix.h:226,1
    - Dst: rd_fd_set_nonblocking
      Src: /src/librdkafka/src/rdposix.h:226,1
    - Dst: rd_fd_set_nonblocking
      Src: /src/librdkafka/src/rdposix.h:227,1
    - Dst: fcntl
      Src: /src/librdkafka/src/rdposix.h:236,1
    - Dst: fcntl
      Src: /src/librdkafka/src/rdposix.h:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fds
    argTypes:
    - rd_socket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 240
    functionName: rd_pipe_nonblocking
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 2
    functionsReached:
    - pipe
    - fcntl
    - rd_fd_set_nonblocking
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_pipe_nonblocking(rd_socket_t *fds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: rd_socket_read
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_read(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: rd_socket_write
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_write(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: rd_socket_close
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_socket_close(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - sz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: rd_write
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_write(fd, buf, sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - path
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: rd_open
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_open(path, flags, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: rd_close
    functionSourceFile: /src/librdkafka/src/rdposix.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_close(fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:78,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:79,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:80,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 83
    functionName: rd_kafka_sasl_scram_close
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_scram_close(rd_kafka_transport_t *rktrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:94,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dst
    argTypes:
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: rd_kafka_sasl_scram_generate_nonce
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - rd_jitter
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_scram_generate_nonce(rd_chariov_t *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:119,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:130,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:131,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - inbuf
    - attr
    - description
    - errstr
    - errstr_size
    argTypes:
    - rd_chariov_t*
    - char
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: rd_kafka_sasl_scram_get_attr
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - memchr
    - memcpy
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_sasl_scram_get_attr(const rd_chariov_t *inbuf,\n                                          char
      attr,\n                                          const char *description,\n
      \                                         char *errstr,\n                                          size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_t*::rktrans_rkb::rkb_rk::rk_conf::sasl::scram_H
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rktrans
    - str
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: rd_kafka_sasl_scram_H
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_transport_t*::rktrans_rkb::rkb_rk::rk_conf::sasl::scram_H
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_H(rd_kafka_transport_t *rktrans,\n                                 const
      rd_chariov_t *str,\n                                 rd_chariov_t *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:177,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rktrans
    - key
    - str
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - rd_chariov_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 188
    functionName: rd_kafka_sasl_scram_HMAC
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - HMAC
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_HMAC(rd_kafka_transport_t *rktrans,\n                                    const
      rd_chariov_t *key,\n                                    const rd_chariov_t *str,\n
      \                                   rd_chariov_t *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ssl_hmac
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rktrans
    - in
    - salt
    - itcnt
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - rd_chariov_t*
    - int
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: rd_kafka_sasl_scram_Hi
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ssl_hmac
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_Hi(rd_kafka_transport_t *rktrans,\n                                  const
      rd_chariov_t *in,\n                                  const rd_chariov_t *salt,\n
      \                                 int itcnt,\n                                  rd_chariov_t
      *out)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:243,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:246,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 250
    functionName: rd_kafka_sasl_safe_string
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - rd_assert
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_sasl_safe_string(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:267,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:267,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:267,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:268,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - snonce
    - out
    argTypes:
    - char*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: rd_kafka_sasl_scram_build_client_final_message_wo_proof
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_malloc
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_scram_build_client_final_message_wo_proof(const
      char *snonce,\n                                                        rd_chariov_t
      *out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:287,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:288,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:289,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:290,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:292,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:293,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:298,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:303,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:304,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:305,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:306,1
    - Dst: rd_kafka_sasl_scram_Hi
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:324,1
    - Dst: rd_kafka_sasl_scram_HMAC
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:329,1
    - Dst: rd_kafka_sasl_scram_H
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:334,1
    - Dst: rd_kafka_sasl_scram_build_client_final_message_wo_proof
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:338,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:347,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:348,1
    - Dst: rd_kafka_sasl_scram_HMAC
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:360,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:362,1
    - Dst: rd_kafka_sasl_scram_HMAC
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:367,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:369,1
    - Dst: rd_base64_encode_str
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:374,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:376,1
    - Dst: rd_kafka_sasl_scram_HMAC
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:385,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:387,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:392,1
    - Dst: rd_base64_encode_str
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:399,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:401,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:406,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:407,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:408,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:410,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:413,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 6
    argNames:
    - rktrans
    - salt
    - server_nonce
    - server_first_msg
    - itcnt
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - char*
    - rd_chariov_t*
    - int
    - rd_chariov_t*
    assertStmts:
    - condition: (ClientKey.size == ClientSignature.size)
      pos:
        line_end: 391
        line_start: 391
        source_file: /src/librdkafka/src/rdkafka_sasl_scram.c
    constantsTouched: []
    func_position:
      end: 417
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 417
    functionName: rd_kafka_sasl_scram_build_client_final_message
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_scram_build_client_final_message_wo_proof
    - rd_free
    - mtx_lock
    - rd_strdupa
    - rd_kafka_sasl_scram_H
    - rd_snprintf
    - rd_alloca
    - rd_kafka_sasl_scram_Hi
    - rd_malloc
    - rd_kafka_sasl_scram_HMAC
    - strlen
    - assert
    - mtx_unlock
    - rd_base64_encode_str
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_build_client_final_message(\n    rd_kafka_transport_t
      *rktrans,\n    const rd_chariov_t *salt,\n    const char *server_nonce,\n    const
      rd_chariov_t *server_first_msg,\n    int itcnt,\n    rd_chariov_t *out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:443,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:444,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:446,1
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:451,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:456,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:457,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:458,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:461,1
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:466,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:469,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:472,1
    - Dst: rd_base64_decode
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:475,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:476,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:478,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:479,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:482,1
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:485,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:488,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:489,1
    - Dst: strtoul
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:495,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:498,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:501,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:502,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:503,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:506,1
    - Dst: rd_kafka_sasl_scram_build_client_final_message
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:509,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:511,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:513,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:514,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:518,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 5
    argNames:
    - rktrans
    - in
    - out
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - rd_chariov_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 522
    functionName: rd_kafka_sasl_scram_handle_server_first_message
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_snprintf
    - rd_kafka_sasl_scram_build_client_final_message
    - strtoul
    - rd_base64_decode
    - rd_kafka_sasl_scram_get_attr
    - strncmp
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_handle_server_first_message(rd_kafka_transport_t
      *rktrans,\n                                                const rd_chariov_t
      *in,\n                                                rd_chariov_t *out,\n                                                char
      *errstr,\n                                                size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:541,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:546,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:550,1
    - Dst: rd_kafka_sasl_scram_get_attr
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:553,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:560,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:565,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:566,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:571,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:574,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:578,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:579,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:582,1
    - Dst: rd_kafka_sasl_auth_done
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:584,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - rktrans
    - in
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 593
    functionName: rd_kafka_sasl_scram_handle_server_final_message
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_snprintf
    - mtx_lock
    - strcmp
    - rd_kafka_sasl_auth_done
    - rd_rkb_dbg
    - rd_kafka_sasl_scram_get_attr
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_handle_server_final_message(rd_kafka_transport_t
      *rktrans,\n                                                const rd_chariov_t
      *in,\n                                                char *errstr,\n                                                size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_scram_generate_nonce
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:607,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:609,1
    - Dst: rd_kafka_sasl_safe_string
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:610,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:611,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:614,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:614,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:615,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:617,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:619,1
    - Dst: rd_memdup
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - rktrans
    - out
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 625
    functionName: rd_kafka_sasl_scram_build_client_first_message
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - mtx_lock
    - rd_snprintf
    - rd_memdup
    - rd_malloc
    - strlen
    - rd_kafka_sasl_safe_string
    - rd_kafka_sasl_scram_generate_nonce
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sasl_scram_build_client_first_message(rd_kafka_transport_t
      *rktrans,\n                                               rd_chariov_t *out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:645,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:648,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:653,1
    - Dst: rd_kafka_sasl_scram_build_client_first_message
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:655,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:661,1
    - Dst: rd_kafka_sasl_scram_handle_server_first_message
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:663,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:671,1
    - Dst: rd_kafka_sasl_scram_handle_server_final_message
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:673,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:679,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:681,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:684,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - rktrans
    - in
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - rd_chariov_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 633
    functionDepth: 5
    functionLinenumber: 633
    functionLinenumberEnd: 692
    functionName: rd_kafka_sasl_scram_fsm
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_sasl_send
    - rd_rkb_dbg
    - rd_dassert
    - rd_kafka_sasl_scram_build_client_first_message
    - rd_kafka_sasl_scram_handle_server_final_message
    - rd_kafka_sasl_scram_handle_server_first_message
    - rd_clock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_fsm(rd_kafka_transport_t *rktrans,\n                                   const
      rd_chariov_t *in,\n                                   char *errstr,\n                                   size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_scram_fsm
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rktrans
    - buf
    - size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 705
    functionName: rd_kafka_sasl_scram_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_scram_fsm
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_recv(rd_kafka_transport_t *rktrans,\n                                    const
      void *buf,\n                                    size_t size,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:721,1
    - Dst: rd_kafka_sasl_scram_fsm
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rktrans
    - hostname
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 6
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: rd_kafka_sasl_scram_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - rd_kafka_sasl_scram_fsm
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_client_new(rd_kafka_transport_t *rktrans,\n
      \                                         const char *hostname,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:740,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:742,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:745,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:750,1
    - Dst: EVP_sha1
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:751,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:754,1
    - Dst: EVP_sha256
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:755,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:758,1
    - Dst: EVP_sha512
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:759,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 771
    functionName: rd_kafka_sasl_scram_conf_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - mtx_lock
    - EVP_sha512
    - strcmp
    - EVP_sha256
    - EVP_sha1
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_scram_conf_validate(rd_kafka_t *rk,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_scram_generate_nonce
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:796,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:797,1
    - Dst: rd_kafka_sasl_scram_generate_nonce
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:799,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:800,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:802,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:802,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:805,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:806,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 809
    functionName: unittest_scram_nonce
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - memcmp
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_sasl_scram_generate_nonce
    linkageType: ''
    returnType: int
    signature: int unittest_scram_nonce(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_safe_string
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:837,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:840,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:840,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:844,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 817
    functionDepth: 2
    functionLinenumber: 817
    functionLinenumberEnd: 848
    functionName: unittest_scram_safe
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - rd_free
    - strcmp
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_sasl_safe_string
    linkageType: ''
    returnType: int
    signature: int unittest_scram_safe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unittest_scram_nonce
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:854,1
    - Dst: unittest_scram_safe
      Src: /src/librdkafka/src/rdkafka_sasl_scram.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 851
    functionDepth: 4
    functionLinenumber: 851
    functionLinenumberEnd: 858
    functionName: unittest_scram
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_scram.c
    functionUses: 0
    functionsReached:
    - unittest_scram_nonce
    - unittest_scram_safe
    linkageType: ''
    returnType: int
    signature: int unittest_scram(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:68,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:72,1
    - Dst: rd_kafka_group_member_find_subscription
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:89,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:95,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 11
    argNames:
    - rk
    - rkas
    - member_id
    - metadata
    - members
    - member_cnt
    - eligible_topics
    - eligible_topic_cnt
    - errstr
    - errstr_size
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - char*
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - size_t
    - rd_kafka_assignor_topic_t**
    - size_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 110
    functionName: rd_kafka_roundrobin_assignor_assign_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_roundrobin_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_group_member_find_subscription
    - qsort
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_roundrobin_assignor_assign_cb(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    const char *member_id,\n    const
      rd_kafka_metadata_t *metadata,\n    rd_kafka_group_member_t *members,\n    size_t
      member_cnt,\n    rd_kafka_assignor_topic_t **eligible_topics,\n    size_t eligible_topic_cnt,\n
      \   char *errstr,\n    size_t errstr_size,\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignor_add
      Src: /src/librdkafka/src/rdkafka_roundrobin_assignor.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: rd_kafka_roundrobin_assignor_init
    functionSourceFile: /src/librdkafka/src/rdkafka_roundrobin_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignor_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_roundrobin_assignor_init(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_flags2str
      Src: /src/librdkafka/src/rdkafka_request.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - actions
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: rd_kafka_actions2str
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_flags2str
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_actions2str(int actions)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_request.c:93,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_request.c:94,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_request.c:95,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_request.c:100,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:105,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_request.c:108,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:109,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:110,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:196,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_request.c:198,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:199,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:199,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - rkb
    - err
    - request
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 202
    functionName: rd_kafka_err_action
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 6
    functionsReached:
    - va_start
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_actions2str
    - va_end
    - va_arg
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_err_action(rd_kafka_broker_t *rkb,\n                        rd_kafka_resp_err_t
      err,\n                        const rd_kafka_buf_t *request,\n                        ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_topic_partitions_nullable
      Src: /src/librdkafka/src/rdkafka_request.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rkbuf
    - use_topic_id
    - use_topic_name
    - estimated_part_cnt
    - fields
    argTypes:
    - rd_kafka_buf_t*
    - rd_bool_t
    - rd_bool_t
    - size_t
    - rd_kafka_topic_partition_field_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: rd_kafka_buf_read_topic_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 4
    functionsReached:
    - rd_kafka_buf_read_topic_partitions_nullable
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_buf_read_topic_partitions(\n
      \   rd_kafka_buf_t *rkbuf,\n    rd_bool_t use_topic_id,\n    rd_bool_t use_topic_name,\n
      \   size_t estimated_part_cnt,\n    const rd_kafka_topic_partition_field_t *fields)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:250,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:253,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_request.c:259,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_request.c:260,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:269,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:272,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_request.c:273,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:276,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:296,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:300,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:303,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:307,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:310,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:314,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:317,1
    - Dst: rd_kafka_topic_partition_list_add_with_topic_id
      Src: /src/librdkafka/src/rdkafka_request.c:329,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_request.c:332,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_request.c:334,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:337,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:347,1
    - Dst: rd_kafka_topic_partition_set_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:350,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:355,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:358,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:365,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 77
    argCount: 6
    argNames:
    - rkbuf
    - use_topic_id
    - use_topic_name
    - estimated_part_cnt
    - fields
    - parse_err
    argTypes:
    - rd_kafka_buf_t*
    - rd_bool_t
    - rd_bool_t
    - size_t
    - rd_kafka_topic_partition_field_t*
    - rd_bool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 369
    functionName: rd_kafka_buf_read_topic_partitions_nullable
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_assert
    - rd_kafka_topic_partition_list_add_with_topic_id
    - RD_MAX
    - rd_kafka_buf_read_i64
    - rd_kafka_topic_partition_set_current_leader_epoch
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_skip_tags
    - rd_kafka_topic_partition_list_new
    - rd_kafka_buf_read_i16
    - rd_dassert
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_uuid
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_buf_read_topic_partitions_nullable(\n
      \   rd_kafka_buf_t *rkbuf,\n    rd_bool_t use_topic_id,\n    rd_bool_t use_topic_name,\n
      \   size_t estimated_part_cnt,\n    const rd_kafka_topic_partition_field_t *fields,\n
      \   rd_bool_t *parse_err)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:395,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:399,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_request.c:415,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_request.c:416,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_request.c:417,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_request.c:422,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:427,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:430,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:436,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_request.c:440,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:442,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:452,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:463,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:467,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:470,1
    - Dst: rd_kafka_topic_partition_get_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:472,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:476,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:478,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:482,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:487,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:495,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:497,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:513,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:520,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:523,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:526,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 7
    argNames:
    - rkbuf
    - parts
    - skip_invalid_offsets
    - only_invalid_offsets
    - use_topic_id
    - use_topic_name
    - fields
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - rd_kafka_topic_partition_field_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 529
    functionName: rd_kafka_buf_write_topic_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_buf_write_i16
    - strcmp
    - rd_kafka_topic_partition_get_current_leader_epoch
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_uuid
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write_arraycnt_pos
    - rd_kafka_Uuid_cmp
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_buf_write_topic_partitions(\n    rd_kafka_buf_t *rkbuf,\n
      \   const rd_kafka_topic_partition_list_t *parts,\n    rd_bool_t skip_invalid_offsets,\n
      \   rd_bool_t only_invalid_offsets,\n    rd_bool_t use_topic_id,\n    rd_bool_t
      use_topic_name,\n    const rd_kafka_topic_partition_field_t *fields)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:543,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:544,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rkbuf
    - CurrentLeader
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafkap_CurrentLeader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: rd_kafka_buf_read_CurrentLeader
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_read_i32
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_buf_read_CurrentLeader(rd_kafka_buf_t *rkbuf,\n                                    rd_kafkap_CurrentLeader_t
      *CurrentLeader)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:563,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:565,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:567,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:571,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:573,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:575,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:577,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - rkbuf
    - NodeEndpoints
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafkap_NodeEndpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: rd_kafka_buf_read_NodeEndpoints
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_arraycnt
    - rd_calloc
    - rd_kafka_buf_skip_tags
    - rd_dassert
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_str
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_buf_read_NodeEndpoints(rd_kafka_buf_t *rkbuf,\n                                    rd_kafkap_NodeEndpoints_t
      *NodeEndpoints)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:603,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:609,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:610,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:612,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:615,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:617,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - rkb
    - coordtype
    - coordkey
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_coordtype_t
    - char*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 593
    functionDepth: 8
    functionLinenumber: 593
    functionLinenumberEnd: 622
    functionName: rd_kafka_FindCoordinatorRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - strlen
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_FindCoordinatorRequest(rd_kafka_broker_t
      *rkb,\n                                rd_kafka_coordtype_t coordtype,\n                                const
      char *coordkey,\n                                rd_kafka_replyq_t replyq,\n
      \                               rd_kafka_resp_cb_t *resp_cb,\n                                void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - rktpars
    - isolation_level
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_IsolationLevel_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 652
    functionName: rd_kafka_ListOffsetRequest_parameters_make
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ListOffsetRequest_parameters_t
    signature: "rd_kafka_ListOffsetRequest_parameters_t rd_kafka_ListOffsetRequest_parameters_make(\n
      \   rd_kafka_topic_partition_list_t *rktpars,\n    rd_kafka_IsolationLevel_t
      isolation_level,\n    char *errstr,\n    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:661,1
    - Dst: rd_kafka_ListOffsetRequest_parameters_make
      Src: /src/librdkafka/src/rdkafka_request.c:662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rktpars
    - isolation_level
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_IsolationLevel_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 665
    functionName: rd_kafka_ListOffsetRequest_parameters_new
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetRequest_parameters_make
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_ListOffsetRequest_parameters_t
    signature: "rd_kafka_ListOffsetRequest_parameters_t *\nrd_kafka_ListOffsetRequest_parameters_new(\n
      \   rd_kafka_topic_partition_list_t *rktpars,\n    rd_kafka_IsolationLevel_t
      isolation_level,\n    char *errstr,\n    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_request.c:669,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_request.c:670,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_request.c:671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: rd_kafka_ListOffsetRequest_parameters_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ListOffsetRequest_parameters_destroy_free(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - rktpars
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: rd_kafka_ListOffsetRequest_buf_new
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_new_flexver_request
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: "rd_kafka_buf_t *\nrd_kafka_ListOffsetRequest_buf_new(rd_kafka_broker_t
      *rkb,\n                                   rd_kafka_topic_partition_list_t *rktpars)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:711,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:717,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:723,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:729,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:730,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_request.c:733,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:744,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:745,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:748,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:749,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:751,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:753,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:755,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:759,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_request.c:761,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_request.c:764,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_request.c:765,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:769,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_request.c:772,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:776,1
    - Dst: rd_kafka_ListOffsetsResultInfo_new
      Src: /src/librdkafka/src/rdkafka_request.c:779,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_request.c:781,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:782,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:789,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 3
    argNames:
    - rkbuf
    - offsets
    - result_infos
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 796
    functionName: rd_kafka_parse_ListOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_assert
    - likely
    - rd_kafka_ListOffsetsResultInfo_new
    - rd_list_add
    - rd_kafka_buf_read_i64
    - RD_NOTREACHED
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_skip_tags
    - rd_kafka_topic_partition_destroy
    - rd_kafka_topic_partition_new
    - rd_kafka_buf_read_i16
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_parse_ListOffsets(rd_kafka_buf_t *rkbuf,\n
      \                          rd_kafka_topic_partition_list_t *offsets,\n                           rd_list_t
      *result_infos)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:816,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:820,1
    - Dst: rd_kafka_buf_upgrade_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:829,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:833,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:837,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:841,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_request.c:847,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:850,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:853,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:857,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:865,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:869,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:874,1
    - Dst: rd_kafka_topic_partition_get_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:876,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:880,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:884,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:888,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:892,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:895,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:897,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:899,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:901,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - rkb
    - rkbuf
    - make_opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 801
    functionDepth: 3
    functionLinenumber: 801
    functionLinenumberEnd: 908
    functionName: rd_kafka_make_ListOffsetsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_snprintf
    - strcmp
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_topic_partition_get_current_leader_epoch
    - rd_rkb_dbg
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_write_str
    - rd_kafka_buf_upgrade_flexver_request
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt_pos
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_make_ListOffsetsRequest(rd_kafka_broker_t
      *rkb,\n                                 rd_kafka_buf_t *rkbuf,\n                                 void
      *make_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_request.c:924,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_request.c:925,1
    - Dst: rd_kafka_ListOffsetRequest_parameters_new
      Src: /src/librdkafka/src/rdkafka_request.c:927,1
    - Dst: rd_kafka_ListOffsetRequest_buf_new
      Src: /src/librdkafka/src/rdkafka_request.c:932,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:935,1
    - Dst: rd_kafka_buf_set_maker
      Src: /src/librdkafka/src/rdkafka_request.c:939,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - rkb
    - partitions
    - replyq
    - resp_cb
    - timeout_ms
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 914
    functionDepth: 8
    functionLinenumber: 914
    functionLinenumberEnd: 944
    functionName: rd_kafka_ListOffsetsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_ListOffsetRequest_buf_new
    - rd_kafka_buf_set_maker
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_ListOffsetRequest_parameters_new
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListOffsetsRequest(rd_kafka_broker_t *rkb,\n                                 rd_kafka_topic_partition_list_t
      *partitions,\n                                 rd_kafka_replyq_t replyq,\n                                 rd_kafka_resp_cb_t
      *resp_cb,\n                                 int timeout_ms,\n                                 void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:965,1
    - Dst: rd_kafka_ListOffsetRequest_parameters_make
      Src: /src/librdkafka/src/rdkafka_request.c:971,1
    - Dst: rd_kafka_ListOffsetRequest_buf_new
      Src: /src/librdkafka/src/rdkafka_request.c:974,1
    - Dst: rd_kafka_make_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka_request.c:976,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:979,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:980,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 8
    argNames:
    - rkb
    - offsets
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 951
    functionDepth: 8
    functionLinenumber: 951
    functionLinenumberEnd: 987
    functionName: rd_kafka_ListOffsetsRequest_admin
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetRequest_parameters_make
    - rd_kafka_make_ListOffsetsRequest
    - rd_kafka_buf_destroy
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_replyq_destroy
    - rd_list_elem
    - rd_kafka_ListOffsetRequest_buf_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ListOffsetsRequest_admin(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *offsets /* rd_kafka_topic_partition_list_t*/,\n
      \   rd_kafka_AdminOptions_t *options,\n    char *errstr,\n    size_t errstr_size,\n
      \   rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_parse_ListOffsets
      Src: /src/librdkafka/src/rdkafka_request.c:1012,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:1017,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1050,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:1052,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:1052,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:1057,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:1058,1
    - Dst: rd_kafka_metadata_refresh_known_topics
      Src: /src/librdkafka/src/rdkafka_request.c:1059,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_request.c:1064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 7
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - offsets
    - actionsp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1068
    functionName: rd_kafka_handle_ListOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_buf_retry
    - rd_kafka_parse_ListOffsets
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_err_action
    - rd_kafka_actions2str
    - rd_kafka_metadata_refresh_known_topics
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_ListOffsets(rd_kafka_t *rk,\n
      \                           rd_kafka_broker_t *rkb,\n                            rd_kafka_resp_err_t
      err,\n                            rd_kafka_buf_t *rkbuf,\n                            rd_kafka_buf_t
      *request,\n                            rd_kafka_topic_partition_list_t *offsets,\n
      \                           int *actionsp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:1090,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - offsets
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1074
    functionDepth: 2
    functionLinenumber: 1074
    functionLinenumberEnd: 1112
    functionName: rd_kafka_handle_OffsetForLeaderEpoch
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_topic_partitions
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_OffsetForLeaderEpoch(\n    rd_kafka_t
      *rk,\n    rd_kafka_broker_t *rkb,\n    rd_kafka_resp_err_t err,\n    rd_kafka_buf_t
      *rkbuf,\n    rd_kafka_buf_t *request,\n    rd_kafka_topic_partition_list_t **offsets)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:1128,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:1137,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_request.c:1142,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1152,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:1157,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - rkb
    - parts
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1119
    functionDepth: 8
    functionLinenumber: 1119
    functionLinenumberEnd: 1163
    functionName: rd_kafka_OffsetForLeaderEpochRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_ApiVersion_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_OffsetForLeaderEpochRequest(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafka_topic_partition_list_t *parts,\n    rd_kafka_replyq_t replyq,\n
      \   rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:1169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkb
    - err
    - request
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1166
    functionDepth: 3
    functionLinenumber: 1166
    functionLinenumberEnd: 1170
    functionName: rd_kafka_handle_OffsetFetch_err_action
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err_action
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_handle_OffsetFetch_err_action(rd_kafka_broker_t *rkb,\n
      \                                          rd_kafka_resp_err_t err,\n                                           rd_kafka_buf_t
      *request)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:1210,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:1215,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:1216,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_request.c:1220,1
    - Dst: rd_kafka_topic_partition_list_set_offsets
      Src: /src/librdkafka/src/rdkafka_request.c:1223,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:1227,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:1235,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:1241,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_request.c:1244,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:1253,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:1254,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:1256,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:1257,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:1258,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:1259,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_request.c:1261,1
    - Dst: rd_kafka_topic_partition_list_add_with_topic_id
      Src: /src/librdkafka/src/rdkafka_request.c:1266,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_request.c:1270,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1275,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_request.c:1285,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_request.c:1294,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1298,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:1304,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_request.c:1305,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:1309,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_request.c:1311,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:1313,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_request.c:1322,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_request.c:1324,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:1330,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_request.c:1333,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_request.c:1335,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1341,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_request.c:1343,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:1346,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:1351,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1361,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:1362,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1364,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:1368,1
    - Dst: rd_kafka_handle_OffsetFetch_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:1370,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_request.c:1374,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_request.c:1379,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 98
    argCount: 9
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - offsets
    - update_toppar
    - add_part
    - allow_retry
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t**
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1183
    functionDepth: 4
    functionLinenumber: 1183
    functionLinenumberEnd: 1389
    functionName: rd_kafka_handle_OffsetFetch
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_skip_tags
    - rd_kafka_topic_partition_list_set_offsets
    - rd_kafka_topic_partition_list_add
    - rd_kafka_toppar_destroy
    - rd_kafka_err2name
    - rd_kafka_err2str
    - memcpy
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_retry
    - rd_kafka_cgrp_op
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_topic_partition_list_new
    - rd_kafka_buf_read_i16
    - rd_kafka_topic_partition_get_toppar
    - rd_kafka_topic_partition_list_find
    - rd_kafka_buf_read_i32
    - rd_kafka_handle_OffsetFetch_err_action
    - rd_kafka_toppar_unlock
    - rd_free
    - rd_rkb_dbg
    - rd_malloc
    - rd_kafka_topic_partition_set_leader_epoch
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_topic_partition_list_add_with_topic_id
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_OffsetFetch(rd_kafka_t *rk,\n
      \                           rd_kafka_broker_t *rkb,\n                            rd_kafka_resp_err_t
      err,\n                            rd_kafka_buf_t *rkbuf,\n                            rd_kafka_buf_t
      *request,\n                            rd_kafka_topic_partition_list_t **offsets,\n
      \                           rd_bool_t update_toppar,\n                            rd_bool_t
      add_part,\n                            rd_bool_t allow_retry)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OP_TYPE_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:1420,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1424,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_request.c:1428,1
    - Dst: rd_kafka_handle_OffsetFetch
      Src: /src/librdkafka/src/rdkafka_request.c:1436,1
    - Dst: rd_kafka_op_replyq_is_valid
      Src: /src/librdkafka/src/rdkafka_request.c:1440,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1443,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_request.c:1449,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_request.c:1454,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_request.c:1456,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1410
    functionDepth: 5
    functionLinenumber: 1410
    functionLinenumberEnd: 1459
    functionName: rd_kafka_op_handle_OffsetFetch
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_destroy
    - RD_KAFKA_OP_TYPE_ASSERT
    - rd_kafka_op_new
    - rd_kafka_op_replyq_is_valid
    - rd_kafka_replyq_enq
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_toppar_keep
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_handle_OffsetFetch
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_op_handle_OffsetFetch(rd_kafka_t *rk,\n                                    rd_kafka_broker_t
      *rkb,\n                                    rd_kafka_resp_err_t err,\n                                    rd_kafka_buf_t
      *rkbuf,\n                                    rd_kafka_buf_t *request,\n                                    void
      *opaque)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:1500,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:1507,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:1519,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:1523,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_request.c:1528,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:1529,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1530,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:1532,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:1534,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_request.c:1539,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1546,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:1552,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:1557,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:1562,1
    - Dst: rd_kafka_buf_callback
      Src: /src/librdkafka/src/rdkafka_request.c:1571,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:1576,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:1578,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1581,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1587,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1598,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1602,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:1606,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 10
    argNames:
    - rkb
    - group_id
    - parts
    - use_topic_id
    - generation_id_or_member_epoch
    - member_id
    - require_stable_offsets
    - timeout
    - replyq
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    - int32_t
    - rd_kafkap_str_t*
    - rd_bool_t
    - int
    - rd_kafka_replyq_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1479
    functionDepth: 8
    functionLinenumber: 1479
    functionLinenumberEnd: 1607
    functionName: rd_kafka_OffsetFetchRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafkap_str_new
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafkap_str_destroy
    - rd_kafka_buf_new_flexver_request
    - rd_rkb_dbg
    - rd_kafka_buf_write_str
    - rd_kafka_buf_callback
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_ApiVersion_set
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_OffsetFetchRequest(rd_kafka_broker_t *rkb,\n                                 const
      char *group_id,\n                                 rd_kafka_topic_partition_list_t
      *parts,\n                                 rd_bool_t use_topic_id,\n                                 int32_t
      generation_id_or_member_epoch,\n                                 rd_kafkap_str_t
      *member_id,\n                                 rd_bool_t require_stable_offsets,\n
      \                                int timeout,\n                                 rd_kafka_replyq_t
      replyq,\n                                 void (*resp_cb)(rd_kafka_t *,\n                                                 rd_kafka_broker_t
      *,\n                                                 rd_kafka_resp_err_t,\n
      \                                                rd_kafka_buf_t *,\n                                                 rd_kafka_buf_t
      *,\n                                                 void *),\n                                 void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkb
    - request
    - rktpar
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1675
    functionName: rd_kafka_handle_OffsetCommit_error
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err_action
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_handle_OffsetCommit_error(rd_kafka_broker_t *rkb,\n                                   rd_kafka_buf_t
      *request,\n                                   const rd_kafka_topic_partition_t
      *rktpar)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_request.c:1710,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:1711,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1713,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_request.c:1724,1
    - Dst: rd_kafka_handle_OffsetCommit_error
      Src: /src/librdkafka/src/rdkafka_request.c:1739,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1743,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:1757,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:1767,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:1768,1
    - Dst: rd_kafka_cgrp_coord_dead
      Src: /src/librdkafka/src/rdkafka_request.c:1777,1
    - Dst: rd_kafka_cgrp_coord_query
      Src: /src/librdkafka/src/rdkafka_request.c:1780,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_request.c:1786,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 49
    argCount: 7
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - offsets
    - ignore_cgrp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1688
    functionDepth: 5
    functionLinenumber: 1688
    functionLinenumberEnd: 1791
    functionName: rd_kafka_handle_OffsetCommit
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_cgrp_coord_dead
    - rd_kafka_buf_retry
    - rd_kafka_handle_OffsetCommit_error
    - rd_kafka_err2str
    - rd_kafka_buf_ApiVersion
    - rd_kafka_set_fatal_error
    - rd_kafka_err_action
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_cgrp_coord_query
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_topic_partitions
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_OffsetCommit(rd_kafka_t *rk,\n
      \                            rd_kafka_broker_t *rkb,\n                             rd_kafka_resp_err_t
      err,\n                             rd_kafka_buf_t *rkbuf,\n                             rd_kafka_buf_t
      *request,\n                             rd_kafka_topic_partition_list_t *offsets,\n
      \                            rd_bool_t ignore_cgrp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_request.c:1724,1
    - Dst: rd_kafka_handle_OffsetCommit_error
      Src: /src/librdkafka/src/rdkafka_request.c:1739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1721
    functionDepth: 4
    functionLinenumber: 1721
    functionLinenumberEnd: 1742
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 5
    functionsReached:
    - rd_kafka_handle_OffsetCommit_error
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(partition, partitions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:1815,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_request.c:1818,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:1820,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:1825,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:1830,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:1832,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:1837,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:1842,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_request.c:1845,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1859,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1867,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1868,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:1872,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:1874,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:1878,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 7
    argNames:
    - rkb
    - cgmetadata
    - offsets
    - replyq
    - resp_cb
    - opaque
    - reason
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_consumer_group_metadata_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1803
    functionDepth: 8
    functionLinenumber: 1803
    functionLinenumberEnd: 1881
    functionName: rd_kafka_OffsetCommitRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_rkb_dbg
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_assert
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_OffsetCommitRequest(rd_kafka_broker_t *rkb,\n                                 rd_kafka_consumer_group_metadata_t
      *cgmetadata,\n                                 rd_kafka_topic_partition_list_t
      *offsets,\n                                 rd_kafka_replyq_t replyq,\n                                 rd_kafka_resp_cb_t
      *resp_cb,\n                                 void *opaque,\n                                 const
      char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:1911,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:1913,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:1913,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:1915,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:1918,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1921,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:1925,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:1927,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:1930,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1935,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:1941,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:1943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - rkb
    - del_grpoffsets
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1897
    functionDepth: 8
    functionLinenumber: 1897
    functionLinenumberEnd: 1946
    functionName: rd_kafka_OffsetDeleteRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_snprintf
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - strlen
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_OffsetDeleteRequest(rd_kafka_broker_t
      *rkb,\n                             /** (rd_kafka_DeleteConsumerGroupOffsets_t*)
      */\n                             const rd_list_t *del_grpoffsets,\n                             rd_kafka_AdminOptions_t
      *options,\n                             char *errstr,\n                             size_t
      errstr_size,\n                             rd_kafka_replyq_t replyq,\n                             rd_kafka_resp_cb_t
      *resp_cb,\n                             void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_request.c:1960,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:1961,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:1962,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:1966,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_request.c:1971,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_request.c:1974,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:1977,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_request.c:1977,1
    - Dst: rd_buf_write_slice
      Src: /src/librdkafka/src/rdkafka_request.c:1978,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - env_rkbuf
    - rkgm
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_group_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1954
    functionDepth: 7
    functionLinenumber: 1954
    functionLinenumberEnd: 1981
    functionName: rd_kafka_group_MemberState_consumer_write
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_assert
    - rd_slice_remains
    - rd_buf_write_slice
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kbytes
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_group_MemberState_consumer_write(rd_kafka_buf_t *env_rkbuf,\n
      \                                         const rd_kafka_group_member_t *rkgm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2001,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:2004,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2006,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2007,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2008,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2011,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2012,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2013,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2015,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2016,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2021,1
    - Dst: rd_kafka_group_MemberState_consumer_write
      Src: /src/librdkafka/src/rdkafka_request.c:2022,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:2027,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2033,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 10
    argNames:
    - rkb
    - group_id
    - generation_id
    - member_id
    - group_instance_id
    - assignments
    - assignment_cnt
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafka_group_member_t*
    - int
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 1986
    functionDepth: 8
    functionLinenumber: 1986
    functionLinenumberEnd: 2036
    functionName: rd_kafka_SyncGroupRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafka_group_MemberState_consumer_write
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_new_request
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_STR_SIZE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_SyncGroupRequest(rd_kafka_broker_t *rkb,\n                               const
      rd_kafkap_str_t *group_id,\n                               int32_t generation_id,\n
      \                              const rd_kafkap_str_t *member_id,\n                               const
      rd_kafkap_str_t *group_instance_id,\n                               const rd_kafka_group_member_t
      *assignments,\n                               int assignment_cnt,\n                               rd_kafka_replyq_t
      replyq,\n                               rd_kafka_resp_cb_t *resp_cb,\n                               void
      *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2059,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:2063,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2065,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2066,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2067,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2068,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:2070,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2071,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2072,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2074,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2075,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2077,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2078,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2079,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:2081,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2085,1
    - Dst: rd_kafka_assignor_t*::rkas_get_metadata_cb
      Src: /src/librdkafka/src/rdkafka_request.c:2086,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_request.c:2090,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:2091,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2094,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_request.c:2099,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_request.c:2102,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_request.c:2115,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_request.c:2118,1
    - Dst: rd_kafka_buf_set_abs_timeout_force
      Src: /src/librdkafka/src/rdkafka_request.c:2127,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2140,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 9
    argNames:
    - rkb
    - group_id
    - member_id
    - group_instance_id
    - protocol_type
    - topics
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_list_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2043
    functionDepth: 8
    functionLinenumber: 2043
    functionLinenumberEnd: 2141
    functionName: rd_kafka_JoinGroupRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_buf_write_kbytes
    - rd_kafka_broker_ApiVersion_supported
    - RD_LIST_FOREACH
    - rd_kafka_buf_new_request
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_i32
    - rd_kafka_assignor_t*::rkas_get_metadata_cb
    - RD_KAFKAP_STR_SIZE
    - rd_kafkap_bytes_destroy
    - rd_interval
    - rd_rkb_log
    - rd_kafka_buf_set_abs_timeout_force
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_JoinGroupRequest(rd_kafka_broker_t *rkb,\n                               const
      rd_kafkap_str_t *group_id,\n                               const rd_kafkap_str_t
      *member_id,\n                               const rd_kafkap_str_t *group_instance_id,\n
      \                              const rd_kafkap_str_t *protocol_type,\n                               const
      rd_list_t *topics,\n                               rd_kafka_replyq_t replyq,\n
      \                              rd_kafka_resp_cb_t *resp_cb,\n                               void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2158,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:2161,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2163,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2164,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2166,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:2172,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - rkb
    - group_id
    - member_id
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - char*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2148
    functionDepth: 8
    functionLinenumber: 2148
    functionLinenumberEnd: 2176
    functionName: rd_kafka_LeaveGroupRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_LeaveGroupRequest(rd_kafka_broker_t *rkb,\n                                const
      char *group_id,\n                                const char *member_id,\n                                rd_kafka_replyq_t
      replyq,\n                                rd_kafka_resp_cb_t *resp_cb,\n                                void
      *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:2199,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:2202,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_request.c:2207,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_request.c:2212,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2218,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:2220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2183
    functionDepth: 3
    functionLinenumber: 2183
    functionLinenumberEnd: 2227
    functionName: rd_kafka_handle_LeaveGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_retry
    - rd_kafka_cgrp_op
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - rd_kafka_err_action
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_LeaveGroup(rd_kafka_t *rk,\n                                rd_kafka_broker_t
      *rkb,\n                                rd_kafka_resp_err_t err,\n                                rd_kafka_buf_t
      *rkbuf,\n                                rd_kafka_buf_t *request,\n                                void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2246,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2249,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:2253,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2254,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2256,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2258,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2259,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2260,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2262,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2264,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:2266,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 8
    argNames:
    - rkb
    - group_id
    - generation_id
    - member_id
    - group_instance_id
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2234
    functionDepth: 8
    functionLinenumber: 2234
    functionLinenumberEnd: 2270
    functionName: rd_kafka_HeartbeatRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_rkb_dbg
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_new_request
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_STR_SIZE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_HeartbeatRequest(rd_kafka_broker_t *rkb,\n                               const
      rd_kafkap_str_t *group_id,\n                               int32_t generation_id,\n
      \                              const rd_kafkap_str_t *member_id,\n                               const
      rd_kafkap_str_t *group_instance_id,\n                               rd_kafka_replyq_t
      replyq,\n                               rd_kafka_resp_cb_t *resp_cb,\n                               void
      *opaque)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2295,1
    - Dst: rd_kafka_cgrp_coord_dead
      Src: /src/librdkafka/src/rdkafka_request.c:2299,1
    - Dst: rd_rkb_is_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2306,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_request.c:2315,1
    - Dst: rd_kafka_topic_partition_list_str
      Src: /src/librdkafka/src/rdkafka_request.c:2320,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2334,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_request.c:2353,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2360,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2363,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2365,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2368,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2370,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_request.c:2375,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:2380,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2383,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2384,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2385,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2386,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2387,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2388,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2394,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2396,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2401,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2405,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:2407,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:2414,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2419,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2422,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:2432,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:2435,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2439,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:2442,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 14
    argNames:
    - rkb
    - group_id
    - member_id
    - member_epoch
    - group_instance_id
    - rack_id
    - rebalance_timeout_ms
    - subscribed_topics
    - subscribed_topic_regex
    - remote_assignor
    - current_assignments
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - int32_t
    - rd_kafka_topic_partition_list_t*
    - rd_kafkap_str_t*
    - rd_kafkap_str_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2443
      start: 2272
    functionDepth: 8
    functionLinenumber: 2272
    functionLinenumberEnd: 2443
    functionName: rd_kafka_ConsumerGroupHeartbeatRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafkap_str_new
    - rd_kafka_cgrp_coord_dead
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_topic_partition_list_str
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafkap_str_destroy
    - rd_rkb_dbg
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_STR_SIZE
    - rd_rkb_is_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ConsumerGroupHeartbeatRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_kafkap_str_t *group_id,\n    const rd_kafkap_str_t *member_id,\n
      \   int32_t member_epoch,\n    const rd_kafkap_str_t *group_instance_id,\n    const
      rd_kafkap_str_t *rack_id,\n    int32_t rebalance_timeout_ms,\n    const rd_kafka_topic_partition_list_t
      *subscribed_topics,\n    rd_kafkap_str_t *subscribed_topic_regex,\n    const
      rd_kafkap_str_t *remote_assignor,\n    const rd_kafka_topic_partition_list_t
      *current_assignments,\n    rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t
      *resp_cb,\n    void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2480,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_request.c:2485,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:2490,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2496,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2498,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2503,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2505,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2509,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 9
    argNames:
    - rkb
    - max_ApiVersion
    - states
    - states_cnt
    - types
    - types_cnt
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - char**
    - size_t
    - char**
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2460
    functionDepth: 8
    functionLinenumber: 2460
    functionLinenumberEnd: 2512
    functionName: rd_kafka_ListGroupsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_ListGroupsRequest(rd_kafka_broker_t *rkb,\n
      \                                            int16_t max_ApiVersion,\n                                             const
      char **states,\n                                             size_t states_cnt,\n
      \                                            const char **types,\n                                             size_t
      types_cnt,\n                                             rd_kafka_replyq_t replyq,\n
      \                                            rd_kafka_resp_cb_t *resp_cb,\n
      \                                            void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2548,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_request.c:2553,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:2558,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:2566,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2567,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2569,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:2573,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2576,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:2577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 8
    argNames:
    - rkb
    - max_ApiVersion
    - groups
    - group_cnt
    - include_authorized_operations
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - char**
    - size_t
    - rd_bool_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2528
    functionDepth: 8
    functionLinenumber: 2528
    functionLinenumberEnd: 2579
    functionName: rd_kafka_DescribeGroupsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_kafka_error_new
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt_pos
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_DescribeGroupsRequest(rd_kafka_broker_t
      *rkb,\n                               int16_t max_ApiVersion,\n                               char
      **groups,\n                               size_t group_cnt,\n                               rd_bool_t
      include_authorized_operations,\n                               rd_kafka_replyq_t
      replyq,\n                               rd_kafka_resp_cb_t *resp_cb,\n                               void
      *opaque)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_request.c:2599,1
    - Dst: rd_kafka_broker_is_any_err_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:2599,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_request.c:2600,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_request.c:2603,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2613,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2617,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:2620,1
    - Dst: rd_kafka_parse_Metadata
      Src: /src/librdkafka/src/rdkafka_request.c:2623,1
    - Dst: rd_kafka_rebootstrap_tmr_stop
      Src: /src/librdkafka/src/rdkafka_request.c:2627,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_request.c:2636,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_request.c:2640,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:2646,1
    - Dst: rd_kafka_rebootstrap
      Src: /src/librdkafka/src/rdkafka_request.c:2656,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_request.c:2668,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_request.c:2674,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:2677,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:2679,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_request.c:2687,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:2695,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2586
    functionDepth: 3
    functionLinenumber: 2586
    functionLinenumberEnd: 2696
    functionName: rd_kafka_handle_Metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_op_destroy
    - rd_list_cnt
    - rd_kafka_rebootstrap
    - rd_kafka_buf_retry
    - rd_kafka_terminating
    - rd_kafka_err2str
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_err_action
    - rd_kafka_replyq_enq
    - rd_kafka_actions2str
    - rd_kafka_rebootstrap_tmr_stop
    - rd_kafka_parse_Metadata
    - rd_kafka_assert
    - rd_rkb_log
    - rd_kafka_broker_is_any_err_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_Metadata(rd_kafka_t *rk,\n                                     rd_kafka_broker_t
      *rkb,\n                                     rd_kafka_resp_err_t err,\n                                     rd_kafka_buf_t
      *rkbuf,\n                                     rd_kafka_buf_t *request,\n                                     void
      *opaque)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:2787,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_request.c:2798,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:2800,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:2804,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:2805,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:2809,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_request.c:2818,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_request.c:2824,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2832,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2836,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_request.c:2845,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2850,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:2861,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:2864,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2867,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_request.c:2879,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:2882,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:2884,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:2888,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:2893,1
    - Dst: rd_kafka_rebootstrap_tmr_start_maybe
      Src: /src/librdkafka/src/rdkafka_request.c:2916,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_request.c:2927,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:2931,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2933,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:2935,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_request.c:2946,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:2949,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2950,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:2952,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:2958,1
    - Dst: rd_kafka_conf_is_modified
      Src: /src/librdkafka/src/rdkafka_request.c:2962,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_request.c:2964,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_request.c:2968,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:2977,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:2983,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:2987,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_request.c:3013,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_request.c:3019,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:3022,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 15
    argNames:
    - rkb
    - topics
    - topic_ids
    - reason
    - allow_auto_create_topics
    - include_cluster_authorized_operations
    - include_topic_authorized_operations
    - cgrp_update
    - cgrp_subscription_version
    - force_racks
    - rko
    - resp_cb
    - replyq
    - force
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_list_t*
    - char*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - int32_t
    - rd_bool_t
    - rd_kafka_op_t*
    - rd_kafka_resp_cb_t*
    - rd_kafka_replyq_t
    - rd_bool_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 2765
    functionDepth: 8
    functionLinenumber: 2765
    functionLinenumberEnd: 3029
    functionName: rd_kafka_MetadataRequest0
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_assert
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_update_i32
    - rd_rkb_log
    - rd_kafka_rebootstrap_tmr_start_maybe
    - RD_MIN
    - rd_kafka_broker_buf_enq_replyq
    - rd_atomic32_get
    - rd_interval
    - mtx_unlock
    - RD_KAFKA_REPLYQ
    - mtx_lock
    - rd_list_copy
    - rd_kafka_buf_new_flexver_request
    - rd_dassert
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_tags_empty
    - rd_strdup
    - rd_kafka_buf_write_arraycnt_pos
    - rd_list_cnt
    - rd_kafka_buf_destroy
    - rd_rkb_dbg
    - rd_kafka_conf_is_modified
    - rd_kafka_buf_write_uuid
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_MetadataRequest0(rd_kafka_broker_t *rkb,\n
      \                         const rd_list_t *topics,\n                          const
      rd_list_t *topic_ids,\n                          const char *reason,\n                          rd_bool_t
      allow_auto_create_topics,\n                          rd_bool_t include_cluster_authorized_operations,\n
      \                         rd_bool_t include_topic_authorized_operations,\n                          rd_bool_t
      cgrp_update,\n                          int32_t cgrp_subscription_version,\n
      \                         rd_bool_t force_racks,\n                          rd_kafka_op_t
      *rko,\n                          rd_kafka_resp_cb_t *resp_cb,\n                          rd_kafka_replyq_t
      replyq,\n                          rd_bool_t force,\n                          void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:2931,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2933,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:2935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2929
    functionDepth: 1
    functionLinenumber: 2929
    functionLinenumberEnd: 2936
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 29
    functionsReached:
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_uuid
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic, topics, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:2949,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:2950,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:2952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2948
    functionDepth: 1
    functionLinenumber: 2948
    functionLinenumberEnd: 2953
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 29
    functionsReached:
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_uuid
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic_id, topic_ids, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MetadataRequest0
      Src: /src/librdkafka/src/rdkafka_request.c:3074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - rkb
    - topics
    - topic_ids
    - reason
    - allow_auto_create_topics
    - cgrp_update
    - cgrp_subscription_version
    - force_racks
    - rko
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_list_t*
    - char*
    - rd_bool_t
    - rd_bool_t
    - int32_t
    - rd_bool_t
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3065
    functionDepth: 9
    functionLinenumber: 3065
    functionLinenumberEnd: 3088
    functionName: rd_kafka_MetadataRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafka_MetadataRequest0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_MetadataRequest(rd_kafka_broker_t *rkb,\n
      \                                            const rd_list_t *topics,\n                                             rd_list_t
      *topic_ids,\n                                             const char *reason,\n
      \                                            rd_bool_t allow_auto_create_topics,\n
      \                                            rd_bool_t cgrp_update,\n                                             int32_t
      cgrp_subscription_version,\n                                             rd_bool_t
      force_racks,\n                                             rd_kafka_op_t *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MetadataRequest0
      Src: /src/librdkafka/src/rdkafka_request.c:3143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 14
    argNames:
    - rkb
    - topics
    - topics_ids
    - reason
    - allow_auto_create_topics
    - include_cluster_authorized_operations
    - include_topic_authorized_operations
    - cgrp_update
    - cgrp_subscription_version
    - force_racks
    - resp_cb
    - replyq
    - force
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_list_t*
    - char*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - int32_t
    - rd_bool_t
    - rd_kafka_resp_cb_t*
    - rd_kafka_replyq_t
    - rd_bool_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3128
    functionDepth: 9
    functionLinenumber: 3128
    functionLinenumberEnd: 3150
    functionName: rd_kafka_MetadataRequest_resp_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MetadataRequest0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_MetadataRequest_resp_cb(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *topics,\n    const rd_list_t *topics_ids,\n    const
      char *reason,\n    rd_bool_t allow_auto_create_topics,\n    rd_bool_t include_cluster_authorized_operations,\n
      \   rd_bool_t include_topic_authorized_operations,\n    rd_bool_t cgrp_update,\n
      \   int32_t cgrp_subscription_version,\n    rd_bool_t force_racks,\n    rd_kafka_resp_cb_t
      *resp_cb,\n    rd_kafka_replyq_t replyq,\n    rd_bool_t force,\n    void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3184,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:3187,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:3194,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_request.c:3196,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3201,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3202,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3203,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:3205,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_request.c:3207,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3211,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:3215,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3218,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_request.c:3221,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_request.c:3237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 7
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - apis
    - api_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - struct rd_kafka_ApiVersion**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3165
    functionDepth: 2
    functionLinenumber: 3165
    functionLinenumberEnd: 3244
    functionName: rd_kafka_handle_ApiVersion
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_skip_tags
    - qsort
    - rd_rkb_dbg
    - rd_kafka_buf_read_i16
    - rd_malloc
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_ApiVersion(rd_kafka_t *rk,\n                           rd_kafka_broker_t
      *rkb,\n                           rd_kafka_resp_err_t err,\n                           rd_kafka_buf_t
      *rkbuf,\n                           rd_kafka_buf_t *request,\n                           struct
      rd_kafka_ApiVersion **apis,\n                           size_t *api_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:3264,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:3272,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:3275,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:3290,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:3293,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:3296,1
    - Dst: rd_kafka_broker_buf_enq1
      Src: /src/librdkafka/src/rdkafka_request.c:3299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - rkb
    - ApiVersion
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - int16_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3254
    functionDepth: 8
    functionLinenumber: 3254
    functionLinenumberEnd: 3300
    functionName: rd_kafka_ApiVersionRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_str
    - rd_kafka_broker_buf_enq1
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ApiVersionRequest(rd_kafka_broker_t *rkb,\n                                int16_t
      ApiVersion,\n                                rd_kafka_replyq_t replyq,\n                                rd_kafka_resp_cb_t
      *resp_cb,\n                                void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:3312,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:3316,1
    - Dst: RD_KAFKAP_STR_SIZE0
      Src: /src/librdkafka/src/rdkafka_request.c:3317,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:3323,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:3335,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:3339,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:3342,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:3345,1
    - Dst: rd_kafka_broker_buf_enq1
      Src: /src/librdkafka/src/rdkafka_request.c:3348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - rkb
    - mechanism
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3306
    functionDepth: 8
    functionLinenumber: 3306
    functionLinenumberEnd: 3349
    functionName: rd_kafka_SaslHandshakeRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - RD_KAFKAP_STR_SIZE0
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_broker_buf_enq1
    - strlen
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_SaslHandshakeRequest(rd_kafka_broker_t *rkb,\n                                   const
      char *mechanism,\n                                   rd_kafka_replyq_t replyq,\n
      \                                  rd_kafka_resp_cb_t *resp_cb,\n                                   void
      *opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_is_any_err_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:3372,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:3376,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:3378,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3382,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:3383,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:3395,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:3396,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_request.c:3400,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:3404,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:3407,1
    - Dst: rd_kafka_broker_start_reauth_timer
      Src: /src/librdkafka/src/rdkafka_request.c:3411,1
    - Dst: rd_kafka_sasl_recv
      Src: /src/librdkafka/src/rdkafka_request.c:3415,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:3416,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:3427,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:3429,1
    - Dst: rd_kafka_broker_fail
      Src: /src/librdkafka/src/rdkafka_request.c:3432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3360
    functionDepth: 6
    functionLinenumber: 3360
    functionLinenumberEnd: 3434
    functionName: rd_kafka_handle_SaslAuthenticate
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_start_reauth_timer
    - rd_snprintf
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_read_i64
    - rd_kafka_err2str
    - rd_kafka_sasl_recv
    - rd_kafka_buf_read_i16
    - rd_kafka_broker_fail
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_kbytes
    - rd_kafka_broker_is_any_err_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_SaslAuthenticate(rd_kafka_t *rk,\n                                      rd_kafka_broker_t
      *rkb,\n                                      rd_kafka_resp_err_t err,\n                                      rd_kafka_buf_t
      *rkbuf,\n                                      rd_kafka_buf_t *request,\n                                      void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:3450,1
    - Dst: rd_kafka_buf_write_bytes
      Src: /src/librdkafka/src/rdkafka_request.c:3457,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:3463,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:3465,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:3468,1
    - Dst: rd_kafka_broker_buf_enq1
      Src: /src/librdkafka/src/rdkafka_request.c:3471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - rkb
    - buf
    - size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - void*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3472
      start: 3440
    functionDepth: 8
    functionLinenumber: 3440
    functionLinenumberEnd: 3472
    functionName: rd_kafka_SaslAuthenticateRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bytes
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_new_request
    - rd_kafka_broker_buf_enq1
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_SaslAuthenticateRequest(rd_kafka_broker_t *rkb,\n                                      const
      void *buf,\n                                      size_t size,\n                                      rd_kafka_replyq_t
      replyq,\n                                      rd_kafka_resp_cb_t *resp_cb,\n
      \                                     void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_add_alloc_times
      Src: /src/librdkafka/src/rdkafka_request.c:3487,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3488,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:3491,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tbuf
    - NodeEndpoints
    argTypes:
    - rd_tmpabuf_t*
    - rd_kafkap_NodeEndpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3479
    functionDepth: 1
    functionLinenumber: 3479
    functionLinenumberEnd: 3495
    functionName: rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_add_alloc
    - RD_KAFKAP_STR_LEN
    - rd_tmpabuf_add_alloc_times
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers(\n    rd_tmpabuf_t
      *tbuf,\n    rd_kafkap_NodeEndpoints_t *NodeEndpoints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3499,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tbuf
    - topic_cnt
    argTypes:
    - rd_tmpabuf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3503
    functionName: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_add_alloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics(rd_tmpabuf_t
      *tbuf,\n                                                         int topic_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3509,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:3509,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3511,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tbuf
    - topic_name
    - partition_cnt
    argTypes:
    - rd_tmpabuf_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3505
    functionDepth: 1
    functionLinenumber: 3505
    functionLinenumberEnd: 3516
    functionName: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - strlen
    - rd_tmpabuf_add_alloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic(rd_tmpabuf_t
      *tbuf,\n                                                        char *topic_name,\n
      \                                                       int32_t partition_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_request.c:3520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mdi
    - broker_id
    argTypes:
    - rd_kafka_metadata_internal_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3518
    functionDepth: 0
    functionLinenumber: 3518
    functionLinenumberEnd: 3524
    functionName: rd_kafkap_leader_discovery_metadata_init
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_metadata_init(rd_kafka_metadata_internal_t
      *mdi,\n                                              int32_t broker_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3539,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3540,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3541,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_request.c:3550,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3551,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:3552,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:3553,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_request.c:3554,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:3556,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_request.c:3565,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_request.c:3567,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_request.c:3569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - tbuf
    - mdi
    - NodeEndpoints
    argTypes:
    - rd_tmpabuf_t*
    - rd_kafka_metadata_internal_t*
    - rd_kafkap_NodeEndpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3526
    functionDepth: 1
    functionLinenumber: 3526
    functionLinenumberEnd: 3571
    functionName: rd_kafkap_leader_discovery_set_brokers
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_snprintf
    - qsort
    - RD_KAFKAP_STR_PR
    - rd_tmpabuf_alloc
    - memcpy
    - RD_KAFKAP_STR_IS_NULL
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_set_brokers(\n    rd_tmpabuf_t *tbuf,\n
      \   rd_kafka_metadata_internal_t *mdi,\n    rd_kafkap_NodeEndpoints_t *NodeEndpoints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3580,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tbuf
    - mdi
    - topic_cnt
    argTypes:
    - rd_tmpabuf_t*
    - rd_kafka_metadata_internal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3573
    functionDepth: 1
    functionLinenumber: 3573
    functionLinenumberEnd: 3582
    functionName: rd_kafkap_leader_discovery_set_topic_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_set_topic_cnt(rd_tmpabuf_t *tbuf,\n
      \                                             rd_kafka_metadata_internal_t *mdi,\n
      \                                             int topic_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_request.c:3595,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3597,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:3597,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3600,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:3603,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:3603,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_request.c:3606,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - tbuf
    - mdi
    - topic_idx
    - topic_id
    - topic_name
    - partition_cnt
    argTypes:
    - rd_tmpabuf_t*
    - rd_kafka_metadata_internal_t*
    - int
    - rd_kafka_Uuid_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3584
    functionDepth: 1
    functionLinenumber: 3584
    functionLinenumberEnd: 3611
    functionName: rd_kafkap_leader_discovery_set_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    - rd_snprintf
    - rd_tmpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_set_topic(rd_tmpabuf_t *tbuf,\n                                          rd_kafka_metadata_internal_t
      *mdi,\n                                          int topic_idx,\n                                          rd_kafka_Uuid_t
      topic_id,\n                                          char *topic_name,\n                                          int
      partition_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_request.c:3627,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_request.c:3631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - tbuf
    - mdi
    - topic_idx
    - partition_idx
    - partition_id
    - CurrentLeader
    argTypes:
    - rd_tmpabuf_t*
    - rd_kafka_metadata_internal_t*
    - int
    - int
    - int32_t
    - rd_kafkap_CurrentLeader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3613
    functionDepth: 0
    functionLinenumber: 3613
    functionLinenumberEnd: 3634
    functionName: rd_kafkap_leader_discovery_set_CurrentLeader
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_leader_discovery_set_CurrentLeader(\n    rd_tmpabuf_t
      *tbuf,\n    rd_kafka_metadata_internal_t *mdi,\n    int topic_idx,\n    int
      partition_idx,\n    int32_t partition_id,\n    rd_kafkap_CurrentLeader_t *CurrentLeader)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_CurrentLeader
      Src: /src/librdkafka/src/rdkafka_request.c:3645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - rkbuf
    - tagtype
    - taglen
    - ProduceTags
    - PartitionTags
    argTypes:
    - rd_kafka_buf_t*
    - uint64_t
    - uint64_t
    - rd_kafkap_Produce_reply_tags_t*
    - rd_kafkap_Produce_reply_tags_Partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3655
      start: 3637
    functionDepth: 2
    functionLinenumber: 3637
    functionLinenumberEnd: 3655
    functionName: rd_kafkap_Produce_reply_tags_partition_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_CurrentLeader
    linkageType: ''
    returnType: int
    signature: "int rd_kafkap_Produce_reply_tags_partition_parse(\n    rd_kafka_buf_t
      *rkbuf,\n    uint64_t tagtype,\n    uint64_t taglen,\n    rd_kafkap_Produce_reply_tags_t
      *ProduceTags,\n    rd_kafkap_Produce_reply_tags_Partition_t *PartitionTags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_NodeEndpoints
      Src: /src/librdkafka/src/rdkafka_request.c:3664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - rkbuf
    - tagtype
    - taglen
    - tags
    argTypes:
    - rd_kafka_buf_t*
    - uint64_t
    - uint64_t
    - rd_kafkap_Produce_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3673
      start: 3657
    functionDepth: 2
    functionLinenumber: 3657
    functionLinenumberEnd: 3673
    functionName: rd_kafkap_Produce_reply_tags_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_NodeEndpoints
    linkageType: ''
    returnType: int
    signature: "int rd_kafkap_Produce_reply_tags_parse(rd_kafka_buf_t *rkbuf,\n                                   uint64_t
      tagtype,\n                                   uint64_t taglen,\n                                   rd_kafkap_Produce_reply_tags_t
      *tags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_request.c:3686,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:3688,1
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_request.c:3690,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3691,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
      Src: /src/librdkafka/src/rdkafka_request.c:3692,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
      Src: /src/librdkafka/src/rdkafka_request.c:3694,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
      Src: /src/librdkafka/src/rdkafka_request.c:3695,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_request.c:3697,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_request.c:3699,1
    - Dst: rd_kafkap_leader_discovery_metadata_init
      Src: /src/librdkafka/src/rdkafka_request.c:3702,1
    - Dst: rd_kafkap_leader_discovery_set_brokers
      Src: /src/librdkafka/src/rdkafka_request.c:3704,1
    - Dst: rd_kafkap_leader_discovery_set_topic_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:3707,1
    - Dst: rd_kafkap_leader_discovery_set_topic
      Src: /src/librdkafka/src/rdkafka_request.c:3709,1
    - Dst: rd_kafkap_leader_discovery_set_CurrentLeader
      Src: /src/librdkafka/src/rdkafka_request.c:3714,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_request.c:3718,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_request.c:3721,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - rkb
    - ProduceTags
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_Produce_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3723
      start: 3675
    functionDepth: 2
    functionLinenumber: 3675
    functionLinenumberEnd: 3723
    functionName: rd_kafka_handle_Produce_metadata_update
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
    - rd_kafkap_leader_discovery_set_brokers
    - rd_tmpabuf_new
    - rd_kafka_q_enq
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
    - rd_tmpabuf_add_alloc
    - rd_kafkap_leader_discovery_set_topic_cnt
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
    - rd_kafkap_leader_discovery_set_topic
    - rd_tmpabuf_finalize
    - rd_kafka_op_new
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_tmpabuf_alloc
    - rd_kafkap_leader_discovery_metadata_init
    - rd_kafkap_leader_discovery_set_CurrentLeader
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_Produce_metadata_update(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafkap_Produce_reply_tags_t *ProduceTags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_request.c:3727,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_request.c:3728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - reply_tags
    argTypes:
    - rd_kafkap_Produce_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3729
      start: 3725
    functionDepth: 1
    functionLinenumber: 3725
    functionLinenumberEnd: 3729
    functionName: rd_kafkap_Produce_reply_tags_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_Produce_reply_tags_destroy(\n    rd_kafkap_Produce_reply_tags_t
      *reply_tags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:3755,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:3764,1
    - Dst: rd_kafka_buf_skip_str
      Src: /src/librdkafka/src/rdkafka_request.c:3766,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:3767,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:3773,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:3774,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:3775,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:3781,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:3784,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:3790,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:3792,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:3798,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:3799,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_request.c:3803,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_request.c:3806,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3809,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:3813,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_request.c:3814,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_request.c:3815,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_request.c:3825,1
    - Dst: rd_kafka_buf_read_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3830,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3835,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:3839,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:3841,1
    - Dst: rd_kafka_buf_read_tags
      Src: /src/librdkafka/src/rdkafka_request.c:3846,1
    - Dst: rd_kafka_handle_Produce_metadata_update
      Src: /src/librdkafka/src/rdkafka_request.c:3849,1
    - Dst: rd_kafkap_Produce_reply_tags_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:3851,1
    - Dst: rd_kafkap_Produce_reply_tags_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:3854,1
    - Dst: rd_kafkap_Produce_reply_tags_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:3857,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 5
    argNames:
    - rkb
    - rktp
    - rkbuf
    - request
    - result
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_Produce_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3737
    functionDepth: 3
    functionLinenumber: 3737
    functionLinenumberEnd: 3859
    functionName: rd_kafka_handle_Produce_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_throttle_time
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_tags
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_skip_str
    - rd_calloc
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_read_i16
    - rd_kafka_handle_Produce_metadata_update
    - rd_kafkap_Produce_reply_tags_destroy
    - rd_kafka_buf_read_i32
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_str
    - RD_KAFKAP_STR_IS_NULL
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_handle_Produce_parse(rd_kafka_broker_t
      *rkb,\n                              rd_kafka_toppar_t *rktp,\n                              rd_kafka_buf_t
      *rkbuf,\n                              rd_kafka_buf_t *request,\n                              rd_kafka_Produce_result_t
      *result)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_request.c:3901,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_request.c:3904,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_request.c:3906,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_request.c:3908,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_request.c:3909,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:3910,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:3918,1
    - Dst: rd_kafka_pid_eq
      Src: /src/librdkafka/src/rdkafka_request.c:3925,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:3931,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:3936,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:3937,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:3938,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:3939,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:3957,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:3959,1
    - Dst: rd_kafka_idemp_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:3974,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:3987,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:3989,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:3990,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_request.c:3991,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:3992,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4014,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4030,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4032,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4033,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_request.c:4034,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:4035,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_request.c:4046,1
    - Dst: rd_kafka_idemp_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:4054,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4067,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4069,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4070,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_request.c:4071,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:4072,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4095,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4104,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4106,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4107,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_request.c:4135,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4136,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4144,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4146,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4147,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_request.c:4152,1
    - Dst: rd_kafka_txn_set_abortable_error_with_bump
      Src: /src/librdkafka/src/rdkafka_request.c:4155,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4161,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4163,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4174,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4183,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4185,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4186,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_request.c:4191,1
    - Dst: rd_kafka_idemp_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:4202,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4212,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4213,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 86
    argCount: 3
    argNames:
    - rkb
    - batch
    - perr
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_msgbatch_t*
    - struct rd_kafka_Produce_err*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4229
      start: 3893
    functionDepth: 2
    functionLinenumber: 3893
    functionLinenumberEnd: 4229
    functionName: rd_kafka_handle_idempotent_Produce_error
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_txn_set_abortable_error_with_bump
    - rd_kafka_actions2str
    - rd_kafka_is_transactional
    - rd_kafka_rdlock
    - rd_kafka_pid2str
    - rd_kafka_err2name
    - rd_kafka_msgq_first
    - rd_kafka_err2str
    - rd_kafka_msgq_last
    - rd_kafka_rdunlock
    - rd_kafka_idemp_set_fatal_error
    - RD_KAFKAP_STR_PR
    - rd_kafka_idemp_drain_epoch_bump
    - rd_kafka_msgq_len
    - rd_clock
    - rd_kafka_toppar_unlock
    - rd_rkb_dbg
    - rd_kafka_pid_eq
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_idempotent_Produce_error(rd_kafka_broker_t *rkb,\n
      \                                        rd_kafka_msgbatch_t *batch,\n                                         struct
      rd_kafka_Produce_err *perr)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4257,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:4266,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:4271,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_request.c:4281,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4342,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4349,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:4350,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_request.c:4351,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_request.c:4362,1
    - Dst: rd_kafka_handle_idempotent_Produce_error
      Src: /src/librdkafka/src/rdkafka_request.c:4363,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:4377,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_request.c:4380,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:4384,1
    - Dst: rd_kafka_toppar_leader_unavailable
      Src: /src/librdkafka/src/rdkafka_request.c:4403,1
    - Dst: rd_kafka_buf_was_sent
      Src: /src/librdkafka/src/rdkafka_request.c:4422,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_request.c:4432,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:4449,1
    - Dst: rd_kafka_idemp_drain_toppar
      Src: /src/librdkafka/src/rdkafka_request.c:4450,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:4452,1
    - Dst: rd_kafka_toppar_retry_msgq
      Src: /src/librdkafka/src/rdkafka_request.c:4463,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4466,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_request.c:4475,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_request.c:4476,1
    - Dst: rd_kafka_txn_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:4480,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4489,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4491,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:4492,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4493,1
    - Dst: rd_kafka_idemp_drain_reset
      Src: /src/librdkafka/src/rdkafka_request.c:4496,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_request.c:4499,1
    - Dst: rd_kafka_txn_set_abortable_error
      Src: /src/librdkafka/src/rdkafka_request.c:4503,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4511,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4513,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:4514,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4515,1
    - Dst: rd_kafka_idemp_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:4523,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4531,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4533,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:4534,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4535,1
    - Dst: rd_kafka_idemp_drain_reset
      Src: /src/librdkafka/src/rdkafka_request.c:4538,1
    - Dst: rd_kafka_idemp_drain_epoch_bump
      Src: /src/librdkafka/src/rdkafka_request.c:4546,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_request.c:4564,1
    - Dst: rd_kafka_topic_set_error
      Src: /src/librdkafka/src/rdkafka_request.c:4565,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_request.c:4566,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 4
    argNames:
    - rkb
    - request
    - batch
    - perr
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_msgbatch_t*
    - struct rd_kafka_Produce_err*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4249
    functionDepth: 7
    functionLinenumber: 4249
    functionLinenumberEnd: 4570
    functionName: rd_kafka_handle_Produce_error
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_actions2str
    - rd_kafka_is_transactional
    - rd_kafka_topic_wrunlock
    - unlikely
    - rd_kafka_pid2str
    - rd_kafka_err2str
    - rd_kafka_handle_idempotent_Produce_error
    - rd_kafka_is_idempotent
    - rd_kafka_idemp_set_fatal_error
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_set_error
    - rd_kafka_topic_wrlock
    - rd_kafka_idemp_drain_toppar
    - rd_kafka_idemp_drain_epoch_bump
    - rd_kafka_msgq_len
    - rd_clock
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_leader_unavailable
    - rd_kafka_idemp_drain_reset
    - rd_kafka_buf_was_sent
    - rd_rkb_dbg
    - rd_kafka_txn_set_abortable_error
    - rd_kafka_txn_set_fatal_error
    - rd_kafka_toppar_retry_msgq
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_handle_Produce_error(rd_kafka_broker_t *rkb,\n                                         const
      rd_kafka_buf_t *request,\n                                         rd_kafka_msgbatch_t
      *batch,\n                                         struct rd_kafka_Produce_err
      *perr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_request.c:4591,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_request.c:4592,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:4594,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4604,1
    - Dst: rd_kafka_dr_implicit_ack
      Src: /src/librdkafka/src/rdkafka_request.c:4605,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4607,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:4620,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_request.c:4635,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4637,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_request.c:4638,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_request.c:4645,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:4662,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4666,1
    - Dst: rd_kafka_idemp_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_request.c:4667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - rkb
    - batch
    - next_seq
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_msgbatch_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4580
    functionDepth: 3
    functionLinenumber: 4580
    functionLinenumberEnd: 4669
    functionName: rd_kafka_handle_idempotent_Produce_success
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_kafka_toppar_lock
    - rd_kafka_dr_implicit_ack
    - rd_kafka_msgq_first
    - rd_snprintf
    - likely
    - rd_kafka_idemp_set_fatal_error
    - rd_kafka_toppar_unlock
    - RD_KAFKAP_STR_PR
    - rd_kafka_msgq_len
    - rd_kafka_msgq_last
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_idempotent_Produce_success(rd_kafka_broker_t
      *rkb,\n                                           rd_kafka_msgbatch_t *batch,\n
      \                                          int32_t next_seq)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_request.c:4685,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_request.c:4714,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_request.c:4720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - presult
    - batch
    argTypes:
    - rd_kafka_Produce_result_t*
    - rd_kafka_msgbatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4723
      start: 4682
    functionDepth: 0
    functionLinenumber: 4682
    functionLinenumberEnd: 4723
    functionName: rd_kafka_msgbatch_handle_Produce_result_record_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - TAILQ_NEXT
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgbatch_handle_Produce_result_record_errors(\n    const
      rd_kafka_Produce_result_t *presult,\n    rd_kafka_msgbatch_t *batch)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_request.c:4747,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_request.c:4747,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4748,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_request.c:4749,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4750,1
    - Dst: rd_kafka_seq_wrap
      Src: /src/librdkafka/src/rdkafka_request.c:4753,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4754,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_request.c:4756,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:4757,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4762,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_request.c:4768,1
    - Dst: rd_kafka_handle_idempotent_Produce_success
      Src: /src/librdkafka/src/rdkafka_request.c:4769,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4780,1
    - Dst: rd_kafka_handle_Produce_error
      Src: /src/librdkafka/src/rdkafka_request.c:4782,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:4786,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:4791,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_request.c:4800,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4800,1
    - Dst: rd_kafka_msgq_set_metadata
      Src: /src/librdkafka/src/rdkafka_request.c:4802,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result_record_errors
      Src: /src/librdkafka/src/rdkafka_request.c:4807,1
    - Dst: rd_kafka_dr_msgq0
      Src: /src/librdkafka/src/rdkafka_request.c:4810,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_request.c:4813,1
    - Dst: rd_kafka_idemp_inflight_toppar_sub
      Src: /src/librdkafka/src/rdkafka_request.c:4814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - rkb
    - batch
    - err
    - presult
    - request
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_msgbatch_t*
    - rd_kafka_resp_err_t
    - rd_kafka_Produce_result_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4815
      start: 4733
    functionDepth: 8
    functionLinenumber: 4733
    functionLinenumberEnd: 4815
    functionName: rd_kafka_msgbatch_handle_Produce_result
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_seq_wrap
    - rd_kafka_handle_Produce_error
    - rd_kafka_msgbatch_handle_Produce_result_record_errors
    - rd_kafka_msgq_set_metadata
    - rd_kafka_handle_idempotent_Produce_success
    - rd_rkb_dbg
    - rd_kafka_toppar_unlock
    - rd_atomic32_get
    - rd_kafka_idemp_inflight_toppar_sub
    - rd_kafka_dr_msgq0
    - rd_kafka_msgq_len
    - likely
    - rd_kafka_is_idempotent
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgbatch_handle_Produce_result(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafka_msgbatch_t *batch,\n    rd_kafka_resp_err_t err,\n    const
      rd_kafka_Produce_result_t *presult,\n    const rd_kafka_buf_t *request)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Produce_result_new
      Src: /src/librdkafka/src/rdkafka_request.c:4841,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4844,1
    - Dst: rd_kafka_t*::rk_conf::ut::handle_ProduceResponse
      Src: /src/librdkafka/src/rdkafka_request.c:4845,1
    - Dst: rd_kafka_handle_Produce_parse
      Src: /src/librdkafka/src/rdkafka_request.c:4851,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:4854,1
    - Dst: rd_kafka_Produce_result_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4856,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4832
    functionDepth: 9
    functionLinenumber: 4832
    functionLinenumberEnd: 4857
    functionName: rd_kafka_handle_Produce
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Produce_result_destroy
    - rd_kafka_msgbatch_handle_Produce_result
    - rd_kafka_t*::rk_conf::ut::handle_ProduceResponse
    - rd_kafka_Produce_result_new
    - rd_kafka_handle_Produce_parse
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_Produce(rd_kafka_t *rk,\n                                    rd_kafka_broker_t
      *rkb,\n                                    rd_kafka_resp_err_t err,\n                                    rd_kafka_buf_t
      *reply,\n                                    rd_kafka_buf_t *request,\n                                    void
      *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgset_create_ProduceRequest
      Src: /src/librdkafka/src/rdkafka_request.c:4883,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4886,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:4889,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:4890,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_request.c:4892,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_request.c:4893,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_request.c:4899,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_request.c:4901,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_request.c:4905,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_request.c:4910,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:4916,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:4918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - rkb
    - rktp
    - pid
    - epoch_base_msgid
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_pid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4922
      start: 4867
    functionDepth: 8
    functionLinenumber: 4867
    functionLinenumberEnd: 4922
    functionName: rd_kafka_ProduceRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_kafka_msgset_create_ProduceRequest
    - rd_kafka_msgq_first
    - RD_MIN
    - rd_kafka_buf_set_abs_timeout
    - rd_kafka_broker_buf_enq_replyq
    - rd_dassert
    - rd_kafka_msgq_len
    - rd_clock
    - unlikely
    - rd_avg_add
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ProduceRequest(rd_kafka_broker_t *rkb,\n                            rd_kafka_toppar_t
      *rktp,\n                            const rd_kafka_pid_t pid,\n                            uint64_t
      epoch_base_msgid)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:4953,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:4954,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4955,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:4959,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:4962,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4965,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:4969,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:4971,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4974,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:4978,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:4979,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:4983,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:4983,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:4985,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:4992,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4996,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:4997,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5002,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5003,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5008,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5009,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5015,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5017,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5021,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:5023,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5026,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:5028,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5033,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5033,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5037,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5042,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5047,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5049,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5049,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5051,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5053,1
    - Dst: rd_list_get_int32
      Src: /src/librdkafka/src/rdkafka_request.c:5054,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5059,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5059,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5061,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5063,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5065,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5070,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5071,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5074,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5078,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5079,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5082,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5084,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 8
    argNames:
    - rkb
    - new_topics
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 4937
    functionDepth: 8
    functionLinenumber: 4937
    functionLinenumberEnd: 5087
    functionName: rd_kafka_CreateTopicsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_buf_destroy
    - rd_list_get_int32
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - RD_LIST_FOREACH
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_list_elem
    - rd_kafka_confval_get_int
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreateTopicsRequest(rd_kafka_broker_t
      *rkb,\n                             const rd_list_t *new_topics /*(NewTopic_t*)*/,\n
      \                            rd_kafka_AdminOptions_t *options,\n                             char
      *errstr,\n                             size_t errstr_size,\n                             rd_kafka_replyq_t
      replyq,\n                             rd_kafka_resp_cb_t *resp_cb,\n                             void
      *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5118,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5119,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5120,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5124,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5127,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5130,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5135,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5137,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5140,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5140,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5142,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5143,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5146,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5147,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5150,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5152,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 8
    argNames:
    - rkb
    - del_topics
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5157
      start: 5102
    functionDepth: 8
    functionLinenumber: 5102
    functionLinenumberEnd: 5157
    functionName: rd_kafka_DeleteTopicsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteTopicsRequest(rd_kafka_broker_t
      *rkb,\n                             const rd_list_t *del_topics /*(DeleteTopic_t*)*/,\n
      \                            rd_kafka_AdminOptions_t *options,\n                             char
      *errstr,\n                             size_t errstr_size,\n                             rd_kafka_replyq_t
      replyq,\n                             rd_kafka_resp_cb_t *resp_cb,\n                             void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5191,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5193,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5196,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5202,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:5209,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5215,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5216,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5219,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5221,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 8
    argNames:
    - rkb
    - offsets_list
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5226
      start: 5175
    functionDepth: 8
    functionLinenumber: 5175
    functionLinenumberEnd: 5226
    functionName: rd_kafka_DeleteRecordsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_new_request
    - rd_kafka_buf_write_i32
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteRecordsRequest(rd_kafka_broker_t
      *rkb,\n                              /*(rd_kafka_topic_partition_list_t*)*/\n
      \                             const rd_list_t *offsets_list,\n                              rd_kafka_AdminOptions_t
      *options,\n                              char *errstr,\n                              size_t
      errstr_size,\n                              rd_kafka_replyq_t replyq,\n                              rd_kafka_resp_cb_t
      *resp_cb,\n                              void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5257,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5258,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5259,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5263,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5266,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5269,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5273,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5274,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5278,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5278,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5280,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5282,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5285,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5288,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5289,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5294,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5295,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5298,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5302,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5303,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5306,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5307,1
    - Dst: rd_list_get_int32
      Src: /src/librdkafka/src/rdkafka_request.c:5309,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5316,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5317,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5320,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5323,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5324,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5326,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 8
    argNames:
    - rkb
    - new_parts
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5331
      start: 5241
    functionDepth: 8
    functionLinenumber: 5241
    functionLinenumberEnd: 5331
    functionName: rd_kafka_CreatePartitionsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_list_get_int32
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_list_elem
    - rd_kafka_confval_get_int
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreatePartitionsRequest(rd_kafka_broker_t
      *rkb,\n                                 /*(NewPartitions_t*)*/\n                                 const
      rd_list_t *new_parts,\n                                 rd_kafka_AdminOptions_t
      *options,\n                                 char *errstr,\n                                 size_t
      errstr_size,\n                                 rd_kafka_replyq_t replyq,\n                                 rd_kafka_resp_cb_t
      *resp_cb,\n                                 void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5361,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5362,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5364,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5368,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5371,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5374,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:5378,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5379,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5383,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5383,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5390,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5391,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5395,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5398,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5399,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5401,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5403,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5405,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5407,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5410,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5414,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5416,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5419,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5420,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5422,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 31
    argCount: 8
    argNames:
    - rkb
    - configs
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5427
      start: 5346
    functionDepth: 8
    functionLinenumber: 5346
    functionLinenumberEnd: 5427
    functionName: rd_kafka_AlterConfigsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_ResourceType_to_ConfigResourceType
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterConfigsRequest(rd_kafka_broker_t
      *rkb,\n                             const rd_list_t *configs /*(ConfigResource_t*)*/,\n
      \                            rd_kafka_AdminOptions_t *options,\n                             char
      *errstr,\n                             size_t errstr_size,\n                             rd_kafka_replyq_t
      replyq,\n                             rd_kafka_resp_cb_t *resp_cb,\n                             void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5390,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5391,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5395,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5398,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5399,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5401,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5403,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5405,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5407,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5411
      start: 5385
    functionDepth: 1
    functionLinenumber: 5385
    functionLinenumberEnd: 5411
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 32
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_write_str
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_ResourceType_to_ConfigResourceType
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(config, configs, i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5445,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5446,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5448,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5452,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5455,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5458,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:5462,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5464,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5467,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5467,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5474,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5475,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5479,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5482,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5483,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5485,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5487,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5489,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5491,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5493,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5496,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5500,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5502,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5505,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5506,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5508,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 8
    argNames:
    - rkb
    - configs
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5513
      start: 5430
    functionDepth: 8
    functionLinenumber: 5430
    functionLinenumberEnd: 5513
    functionName: rd_kafka_IncrementalAlterConfigsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_ResourceType_to_ConfigResourceType
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_IncrementalAlterConfigsRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *configs /*(ConfigResource_t*)*/,\n    rd_kafka_AdminOptions_t
      *options,\n    char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t
      replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5474,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5475,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5479,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:5482,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5483,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5485,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5487,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5489,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5491,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5493,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5469
    functionDepth: 1
    functionLinenumber: 5469
    functionLinenumberEnd: 5497
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 34
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_write_str
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_ResourceType_to_ConfigResourceType
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(config, configs, i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5542,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5543,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5545,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5549,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5552,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5555,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5559,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5560,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5563,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5563,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5570,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5571,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5575,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5578,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5580,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5583,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5584,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5587,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5589,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5596,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5600,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5602,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5604,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 8
    argNames:
    - rkb
    - configs
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5609
      start: 5527
    functionDepth: 8
    functionLinenumber: 5527
    functionLinenumberEnd: 5609
    functionName: rd_kafka_DescribeConfigsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - RD_LIST_FOREACH
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_ResourceType_to_ConfigResourceType
    - rd_kafka_confval_get_int
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeConfigsRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *configs /*(ConfigResource_t*)*/,\n    rd_kafka_AdminOptions_t
      *options,\n    char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t
      replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5570,1
    - Dst: rd_kafka_ResourceType_to_ConfigResourceType
      Src: /src/librdkafka/src/rdkafka_request.c:5571,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5575,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_request.c:5578,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5580,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5583,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5584,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_request.c:5587,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5591
      start: 5565
    functionDepth: 1
    functionLinenumber: 5565
    functionLinenumberEnd: 5591
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_write_str
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_i32
    - rd_kafka_ResourceType_to_ConfigResourceType
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(config, configs, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5639,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5642,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5645,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5650,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5651,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5654,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5654,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5656,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5657,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5659,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - rkb
    - del_groups
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5664
      start: 5624
    functionDepth: 8
    functionLinenumber: 5624
    functionLinenumberEnd: 5664
    functionName: rd_kafka_DeleteGroupsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteGroupsRequest(rd_kafka_broker_t
      *rkb,\n                             const rd_list_t *del_groups /*(DeleteGroup_t*)*/,\n
      \                            rd_kafka_AdminOptions_t *options,\n                             char
      *errstr,\n                             size_t errstr_size,\n                             rd_kafka_replyq_t
      replyq,\n                             rd_kafka_resp_cb_t *resp_cb,\n                             void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:5676,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:5677,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:5678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - acl
    - ApiVersion
    argTypes:
    - rd_kafka_AclBinding_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5680
      start: 5673
    functionDepth: 0
    functionLinenumber: 5673
    functionLinenumberEnd: 5680
    functionName: rd_kafka_AclBinding_request_size
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_AclBinding_request_size(const rd_kafka_AclBinding_t
      *acl,\n                                 int ApiVersion)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5710,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5711,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5712,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5716,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5719,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5722,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5730,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5733,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5743,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5747,1
    - Dst: rd_kafka_AclBinding_request_size
      Src: /src/librdkafka/src/rdkafka_request.c:5755,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5758,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5761,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5761,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5764,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5766,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5769,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5773,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5775,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5777,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5779,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5783,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5785,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5787,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 8
    argNames:
    - rkb
    - new_acls
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5792
      start: 5694
    functionDepth: 8
    functionLinenumber: 5694
    functionLinenumberEnd: 5792
    functionName: rd_kafka_CreateAclsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_AclBinding_request_size
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreateAclsRequest(rd_kafka_broker_t *rkb,\n
      \                          const rd_list_t *new_acls /*(AclBinding_t*)*/,\n
      \                          rd_kafka_AdminOptions_t *options,\n                           char
      *errstr,\n                           size_t errstr_size,\n                           rd_kafka_replyq_t
      replyq,\n                           rd_kafka_resp_cb_t *resp_cb,\n                           void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5730,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5736
      start: 5727
    functionDepth: 1
    functionLinenumber: 5727
    functionLinenumberEnd: 5736
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_replyq_destroy
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(new_acl, new_acls, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5743,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5750
      start: 5738
    functionDepth: 1
    functionLinenumber: 5738
    functionLinenumberEnd: 5750
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_replyq_destroy
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(new_acl, new_acls, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AclBinding_request_size
      Src: /src/librdkafka/src/rdkafka_request.c:5755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5754
    functionDepth: 1
    functionLinenumber: 5754
    functionLinenumberEnd: 5756
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_AclBinding_request_size
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(new_acl, new_acls, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5764,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5766,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5769,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5773,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5775,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5777,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5779,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5780
      start: 5763
    functionDepth: 1
    functionLinenumber: 5763
    functionLinenumberEnd: 5780
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_str
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(new_acl, new_acls, i)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5820,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5821,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5823,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5826,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5827,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5829,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:5833,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5835,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5838,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5841,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5850,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5853,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5859,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5861,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5866,1
    - Dst: rd_kafka_AclBinding_request_size
      Src: /src/librdkafka/src/rdkafka_request.c:5868,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5871,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5874,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5878,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5882,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5885,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5888,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5891,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:5894,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:5896,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:5898,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:5900,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 8
    argNames:
    - rkb
    - acls
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5903
      start: 5806
    functionDepth: 8
    functionLinenumber: 5806
    functionLinenumberEnd: 5903
    functionName: rd_kafka_DescribeAclsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_AclBinding_request_size
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_ApiVersion_set
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeAclsRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *acls /*(rd_kafka_AclBindingFilter_t*)*/,\n    rd_kafka_AdminOptions_t
      *options,\n    char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t
      replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5933,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5934,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5936,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:5940,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5943,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5946,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5958,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5961,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5967,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5969,1
    - Dst: rd_kafka_AclBinding_request_size
      Src: /src/librdkafka/src/rdkafka_request.c:5974,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:5977,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:5980,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:5980,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5984,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5987,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5992,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5997,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6000,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6003,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6006,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:6010,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:6012,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6014,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6016,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 8
    argNames:
    - rkb
    - del_acls
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6019
      start: 5917
    functionDepth: 8
    functionLinenumber: 5917
    functionLinenumberEnd: 6019
    functionName: rd_kafka_DeleteAclsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_AclBinding_request_size
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteAclsRequest(rd_kafka_broker_t *rkb,\n
      \                          const rd_list_t *del_acls /*(AclBindingFilter_t*)*/,\n
      \                          rd_kafka_AdminOptions_t *options,\n                           char
      *errstr,\n                           size_t errstr_size,\n                           rd_kafka_replyq_t
      replyq,\n                           rd_kafka_resp_cb_t *resp_cb,\n                           void
      *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5958,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5961,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:5967,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:5969,1
    - Dst: rd_kafka_AclBinding_request_size
      Src: /src/librdkafka/src/rdkafka_request.c:5974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5975
      start: 5952
    functionDepth: 1
    functionLinenumber: 5952
    functionLinenumberEnd: 5975
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_AclBinding_request_size
    - rd_kafka_replyq_destroy
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(acl, del_acls, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5984,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5987,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:5992,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:5997,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6000,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6003,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6007
      start: 5982
    functionDepth: 1
    functionLinenumber: 5982
    functionLinenumberEnd: 6007
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 36
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_str
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(acl, del_acls, i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_request.c:6048,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6049,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6051,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_request.c:6055,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6057,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6060,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6063,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:6072,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6078,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_request.c:6087,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:6094,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_request.c:6098,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6099,1
    - Dst: rd_kafka_buf_set_abs_timeout
      Src: /src/librdkafka/src/rdkafka_request.c:6102,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6104,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 8
    argNames:
    - rkb
    - elect_leaders
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6109
      start: 6033
    functionDepth: 8
    functionLinenumber: 6033
    functionLinenumberEnd: 6109
    functionName: rd_kafka_ElectLeadersRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_list_cnt
    - rd_kafka_buf_set_abs_timeout
    - rd_snprintf
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ElectLeadersRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *elect_leaders /*(rd_kafka_EleactLeaders_t*)*/,\n
      \   rd_kafka_AdminOptions_t *options,\n    char *errstr,\n    size_t errstr_size,\n
      \   rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6134,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_request.c:6138,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:6145,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:6152,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6155,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:6158,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6159,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - rkb
    - groups
    - group_cnt
    - include_authorized_operations
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char**
    - size_t
    - rd_bool_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6163
      start: 6123
    functionDepth: 8
    functionLinenumber: 6123
    functionLinenumberEnd: 6163
    functionName: rd_kafka_ConsumerGroupDescribeRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_kafka_error_new
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_ConsumerGroupDescribeRequest(rd_kafka_broker_t
      *rkb,\n                                      char **groups,\n                                      size_t
      group_cnt,\n                                      rd_bool_t include_authorized_operations,\n
      \                                     rd_kafka_replyq_t replyq,\n                                      rd_kafka_resp_cb_t
      *resp_cb,\n                                      void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:6184,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6186,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_request.c:6190,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6191,1
    - Dst: rd_kafka_idemp_pid_update
      Src: /src/librdkafka/src/rdkafka_request.c:6193,1
    - Dst: rd_kafka_idemp_request_pid_failed
      Src: /src/librdkafka/src/rdkafka_request.c:6204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6205
      start: 6171
    functionDepth: 5
    functionLinenumber: 6171
    functionLinenumberEnd: 6205
    functionName: rd_kafka_handle_InitProducerId
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_idemp_pid_update
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_i16
    - rd_kafka_idemp_request_pid_failed
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_InitProducerId(rd_kafka_t *rk,\n                                    rd_kafka_broker_t
      *rkb,\n                                    rd_kafka_resp_err_t err,\n                                    rd_kafka_buf_t
      *rkbuf,\n                                    rd_kafka_buf_t *request,\n                                    void
      *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6237,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6240,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6245,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6249,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6253,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6257,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:6262,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_request.c:6264,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6268,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6271,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:6275,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6278,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6282,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 9
    argNames:
    - rkb
    - transactional_id
    - transaction_timeout_ms
    - current_pid
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - int
    - rd_kafka_pid_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6223
    functionDepth: 8
    functionLinenumber: 6223
    functionLinenumberEnd: 6290
    functionName: rd_kafka_InitProducerIdRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - strlen
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_InitProducerIdRequest(rd_kafka_broker_t
      *rkb,\n                               const char *transactional_id,\n                               int
      transaction_timeout_ms,\n                               const rd_kafka_pid_t
      *current_pid,\n                               char *errstr,\n                               size_t
      errstr_size,\n                               rd_kafka_replyq_t replyq,\n                               rd_kafka_resp_cb_t
      *resp_cb,\n                               void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6323,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6326,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6329,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:6334,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6337,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:6340,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6341,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6344,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6351,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:6357,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6360,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6368,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6374,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6375,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6377,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 9
    argNames:
    - rkb
    - transactional_id
    - pid
    - rktps
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_pid_t
    - rd_kafka_toppar_tqhead_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6386
      start: 6305
    functionDepth: 8
    functionLinenumber: 6305
    functionLinenumberEnd: 6386
    functionName: rd_kafka_AddPartitionsToTxnRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_write_kstr
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_update_i32
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AddPartitionsToTxnRequest(rd_kafka_broker_t
      *rkb,\n                                   const char *transactional_id,\n                                   rd_kafka_pid_t
      pid,\n                                   const rd_kafka_toppar_tqhead_t *rktps,\n
      \                                  char *errstr,\n                                   size_t
      errstr_size,\n                                   rd_kafka_replyq_t replyq,\n
      \                                  rd_kafka_resp_cb_t *resp_cb,\n                                   void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6351,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_request.c:6357,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6360,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6370
      start: 6346
    functionDepth: 1
    functionLinenumber: 6346
    functionLinenumberEnd: 6370
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 50
    functionsReached:
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_update_i32
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(rktp, rktps, rktp_txnlink)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6411,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6414,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6417,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:6422,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6425,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:6428,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6429,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6432,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6434,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 9
    argNames:
    - rkb
    - transactional_id
    - pid
    - group_id
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_pid_t
    - char*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6441
      start: 6398
    functionDepth: 8
    functionLinenumber: 6398
    functionLinenumberEnd: 6441
    functionName: rd_kafka_AddOffsetsToTxnRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AddOffsetsToTxnRequest(rd_kafka_broker_t
      *rkb,\n                                const char *transactional_id,\n                                rd_kafka_pid_t
      pid,\n                                const char *group_id,\n                                char
      *errstr,\n                                size_t errstr_size,\n                                rd_kafka_replyq_t
      replyq,\n                                rd_kafka_resp_cb_t *resp_cb,\n                                void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6466,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6469,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6472,1
    - Dst: rd_kafka_buf_new_request
      Src: /src/librdkafka/src/rdkafka_request.c:6476,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:6479,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_request.c:6482,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6483,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:6486,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_request.c:6489,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 9
    argNames:
    - rkb
    - transactional_id
    - pid
    - committed
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - rd_kafka_pid_t
    - rd_bool_t
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6496
      start: 6454
    functionDepth: 8
    functionLinenumber: 6454
    functionLinenumberEnd: 6496
    functionName: rd_kafka_EndTxnRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 2
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_snprintf
    - rd_kafka_buf_write_i16
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_write_str
    - rd_kafka_buf_new_request
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_EndTxnRequest(rd_kafka_broker_t *rkb,\n
      \                                          const char *transactional_id,\n                                           rd_kafka_pid_t
      pid,\n                                           rd_bool_t committed,\n                                           char
      *errstr,\n                                           size_t errstr_size,\n                                           rd_kafka_replyq_t
      replyq,\n                                           rd_kafka_resp_cb_t *resp_cb,\n
      \                                          void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6508,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6511,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6514,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:6518,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:6522,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - rkb
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6528
      start: 6498
    functionDepth: 8
    functionLinenumber: 6498
    functionLinenumberEnd: 6528
    functionName: rd_kafka_GetTelemetrySubscriptionsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_uuid
    - rd_kafka_replyq_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_GetTelemetrySubscriptionsRequest(rd_kafka_broker_t
      *rkb,\n                                          char *errstr,\n                                          size_t
      errstr_size,\n                                          rd_kafka_replyq_t replyq,\n
      \                                         rd_kafka_resp_cb_t *resp_cb,\n                                          void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_request.c:6546,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_request.c:6549,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6551,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_request.c:6557,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:6560,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6561,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:6562,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6563,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:6565,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_request.c:6566,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_request.c:6568,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_request.c:6569,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_request.c:6570,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_request.c:6576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 12
    argNames:
    - rkb
    - client_instance_id
    - subscription_id
    - terminating
    - compression_type
    - metrics
    - metrics_size
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_Uuid_t*
    - int32_t
    - rd_bool_t
    - rd_kafka_compression_t
    - void*
    - size_t
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6579
      start: 6530
    functionDepth: 8
    functionLinenumber: 6530
    functionLinenumberEnd: 6579
    functionName: rd_kafka_PushTelemetryRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_kafka_buf_write_i8
    - rd_free
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_buf_write_kbytes
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_dassert
    - rd_kafka_buf_write_uuid
    - rd_kafka_replyq_destroy
    - rd_kafka_buf_write_i32
    - rd_kafkap_bytes_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_PushTelemetryRequest(rd_kafka_broker_t
      *rkb,\n                              rd_kafka_Uuid_t *client_instance_id,\n
      \                             int32_t subscription_id,\n                              rd_bool_t
      terminating,\n                              const rd_kafka_compression_t compression_type,\n
      \                             const void *metrics,\n                              size_t
      metrics_size,\n                              char *errstr,\n                              size_t
      errstr_size,\n                              rd_kafka_replyq_t replyq,\n                              rd_kafka_resp_cb_t
      *resp_cb,\n                              void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:6602,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6604,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:6611,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6612,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:6614,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_request.c:6616,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:6617,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:6621,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:6626,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_request.c:6630,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:6637,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6642,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_request.c:6643,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_request.c:6644,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_request.c:6648,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_request.c:6650,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_request.c:6653,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_request.c:6654,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:6658,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:6662,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_request.c:6667,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_request.c:6671,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_request.c:6673,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_request.c:6677,1
    - Dst: rd_kafka_handle_get_telemetry_subscriptions
      Src: /src/librdkafka/src/rdkafka_request.c:6681,1
    - Dst: rd_kafka_handle_get_telemetry_subscriptions
      Src: /src/librdkafka/src/rdkafka_request.c:6691,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6692
      start: 6581
    functionDepth: 1
    functionLinenumber: 6581
    functionLinenumberEnd: 6692
    functionName: rd_kafka_handle_GetTelemetrySubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_buf_read_bool
    - rd_kafka_buf_read_arraycnt
    - rd_calloc
    - rd_kafka_Uuid_base64str
    - rd_kafka_buf_read_i8
    - rd_kafka_buf_read_i16
    - rd_kafka_handle_get_telemetry_subscriptions
    - rd_kafka_buf_read_i32
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_Uuid_cmp
    - rd_kafka_buf_read_uuid
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_GetTelemetrySubscriptions(rd_kafka_t *rk,\n                                               rd_kafka_broker_t
      *rkb,\n                                               rd_kafka_resp_err_t err,\n
      \                                              rd_kafka_buf_t *rkbuf,\n                                               rd_kafka_buf_t
      *request,\n                                               void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_request.c:6712,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_request.c:6714,1
    - Dst: rd_kafka_handle_push_telemetry
      Src: /src/librdkafka/src/rdkafka_request.c:6720,1
    - Dst: rd_kafka_handle_push_telemetry
      Src: /src/librdkafka/src/rdkafka_request.c:6729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6730
      start: 6694
    functionDepth: 1
    functionLinenumber: 6694
    functionLinenumberEnd: 6730
    functionName: rd_kafka_handle_PushTelemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_handle_push_telemetry
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_i16
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_PushTelemetry(rd_kafka_t *rk,\n                                   rd_kafka_broker_t
      *rkb,\n                                   rd_kafka_resp_err_t err,\n                                   rd_kafka_buf_t
      *rkbuf,\n                                   rd_kafka_buf_t *request,\n                                   void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_rd_kafka_msg_new
      Src: /src/librdkafka/src/rdkafka_request.c:6755,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_request.c:6757,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_request.c:6760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rkmq
    - msgid
    - cnt
    argTypes:
    - rd_kafka_msgq_t*
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6764
      start: 6749
    functionDepth: 2
    functionLinenumber: 6749
    functionLinenumberEnd: 6764
    functionName: ut_create_msgs
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - ut_rd_kafka_msg_new
    - rd_kafka_msgq_enq
    - rd_clock
    linkageType: ''
    returnType: int
    signature: int ut_create_msgs(rd_kafka_msgq_t *rkmq, uint64_t msgid, int cnt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Produce_result_new
      Src: /src/librdkafka/src/rdkafka_request.c:6787,1
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_request.c:6794,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_request.c:6798,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_request.c:6800,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_request.c:6801,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_request.c:6802,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdkafka_request.c:6803,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_request.c:6804,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_request.c:6805,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_request.c:6807,1
    - Dst: rd_kafka_conf_set_events
      Src: /src/librdkafka/src/rdkafka_request.c:6808,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_request.c:6810,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6811,1
    - Dst: rd_kafka_queue_get_main
      Src: /src/librdkafka/src/rdkafka_request.c:6813,1
    - Dst: rd_kafka_broker_add_logical
      Src: /src/librdkafka/src/rdkafka_request.c:6817,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_request.c:6821,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:6823,1
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka_request.c:6826,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6827,1
    - Dst: rd_ut_kafka_topic_set_topic_exists
      Src: /src/librdkafka/src/rdkafka_request.c:6831,1
    - Dst: ut_create_msgs
      Src: /src/librdkafka/src/rdkafka_request.c:6834,1
    - Dst: rd_kafka_idemp_set_state
      Src: /src/librdkafka/src/rdkafka_request.c:6837,1
    - Dst: rd_kafka_idemp_pid_update
      Src: /src/librdkafka/src/rdkafka_request.c:6838,1
    - Dst: rd_kafka_idemp_get_pid
      Src: /src/librdkafka/src/rdkafka_request.c:6839,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6840,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_request.c:6840,1
    - Dst: rd_kafka_toppar_pid_change
      Src: /src/librdkafka/src/rdkafka_request.c:6841,1
    - Dst: rd_kafka_msgset_create_ProduceRequest
      Src: /src/librdkafka/src/rdkafka_request.c:6848,1
    - Dst: rd_kafka_idemp_get_pid
      Src: /src/librdkafka/src/rdkafka_request.c:6849,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6850,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6853,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6853,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6856,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6864,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6865,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:6866,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6870,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6870,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6872,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6873,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6878,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6879,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:6880,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6884,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6884,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6886,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6887,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6891,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6892,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:6893,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6897,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6897,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6899,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6900,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6904,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:6905,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6909,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6909,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6911,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6912,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_request.c:6917,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_request.c:6918,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_request.c:6919,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6921,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6921,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6923,1
    - Dst: rd_usleep
      Src: /src/librdkafka/src/rdkafka_request.c:6927,1
    - Dst: rd_kafka_msgset_create_ProduceRequest
      Src: /src/librdkafka/src/rdkafka_request.c:6934,1
    - Dst: rd_kafka_idemp_get_pid
      Src: /src/librdkafka/src/rdkafka_request.c:6935,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6936,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6938,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6945,1
    - Dst: rd_kafka_msgbatch_handle_Produce_result
      Src: /src/librdkafka/src/rdkafka_request.c:6946,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6950,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6954,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6954,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6956,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/src/rdkafka_request.c:6961,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_request.c:6964,1
    - Dst: rd_kafka_event_name
      Src: /src/librdkafka/src/rdkafka_request.c:6965,1
    - Dst: rd_kafka_event_message_count
      Src: /src/librdkafka/src/rdkafka_request.c:6966,1
    - Dst: rd_kafka_event_message_next
      Src: /src/librdkafka/src/rdkafka_request.c:6968,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_request.c:6969,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_request.c:6970,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/src/rdkafka_request.c:6971,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_request.c:6973,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6977,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src/rdkafka_request.c:6981,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6982,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:6986,1
    - Dst: rd_kafka_Produce_result_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6988,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6989,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6990,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6991,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:6992,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_request.c:6994,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6996
      start: 6775
    functionDepth: 21
    functionLinenumber: 6775
    functionLinenumberEnd: 6996
    functionName: unittest_idempotent_producer
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_get2
    - RD_UT_WARN
    - rd_kafka_toppar_lock
    - rd_kafka_conf_set
    - rd_kafka_msgset_create_ProduceRequest
    - rd_kafka_queue_poll
    - rd_kafka_idemp_pid_update
    - rd_kafka_toppar_pid_change
    - rd_kafka_msgbatch_handle_Produce_result
    - rd_kafka_event_message_next
    - rd_kafka_outq_len
    - RD_UT_PASS
    - rd_kafka_queue_destroy
    - rd_kafka_event_destroy
    - rd_kafka_toppar_destroy
    - rd_kafka_pid_valid
    - rd_kafka_destroy
    - rd_kafka_conf_set_events
    - RD_UT_ASSERT
    - rd_kafka_err2str
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_idemp_set_state
    - RD_UT_SAY
    - rd_kafka_idemp_get_pid
    - rd_kafka_event_message_count
    - rd_kafka_msgq_move
    - rd_kafka_Produce_result_destroy
    - rd_kafka_Produce_result_new
    - rd_kafka_broker_unlock
    - rd_kafka_event_name
    - rd_kafka_msgq_len
    - rd_kafka_toppar_unlock
    - rd_usleep
    - rd_ut_kafka_topic_set_topic_exists
    - rd_getenv
    - rd_kafka_conf_new
    - rd_kafka_message_status
    - rd_kafka_buf_destroy
    - rd_kafka_broker_destroy
    - rd_kafka_broker_lock
    - RD_UT_FAIL
    - rd_kafka_queue_get_main
    - rd_kafka_new
    - ut_create_msgs
    - rd_kafka_broker_add_logical
    linkageType: ''
    returnType: int
    signature: int unittest_idempotent_producer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_request.c:7008,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_request.c:7010,1
    - Dst: rd_kafka_broker_add_logical
      Src: /src/librdkafka/src/rdkafka_request.c:7011,1
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_request.c:7013,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:7015,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_request.c:7016,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_request.c:7018,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:7020,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:7022,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:7024,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_request.c:7026,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:7028,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_request.c:7029,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_request.c:7030,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_request.c:7032,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:7034,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_request.c:7036,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_request.c:7039,1
    - Dst: rd_kafka_handle_GetTelemetrySubscriptions
      Src: /src/librdkafka/src/rdkafka_request.c:7042,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7046,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7049,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_request.c:7052,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7054,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_request.c:7057,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7060,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7063,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_request.c:7064,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_request.c:7067,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_request.c:7068,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:7072,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_request.c:7073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7075
      start: 7003
    functionDepth: 6
    functionLinenumber: 7003
    functionLinenumberEnd: 7075
    functionName: unittest_handle_GetTelemetrySubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_bool
    - rd_slice_init_full
    - rd_kafka_destroy
    - rd_kafka_compression2str
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - RD_UT_ASSERT
    - rd_strcmp
    - rd_kafka_buf_write_str
    - rd_kafka_handle_GetTelemetrySubscriptions
    - rd_kafka_buf_write_uuid
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_new
    - RD_UT_SAY
    - rd_kafka_buf_new
    - rd_kafka_broker_add_logical
    linkageType: ''
    returnType: int
    signature: int unittest_handle_GetTelemetrySubscriptions(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unittest_idempotent_producer
      Src: /src/librdkafka/src/rdkafka_request.c:7083,1
    - Dst: unittest_handle_GetTelemetrySubscriptions
      Src: /src/librdkafka/src/rdkafka_request.c:7084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7087
      start: 7080
    functionDepth: 22
    functionLinenumber: 7080
    functionLinenumberEnd: 7087
    functionName: unittest_request
    functionSourceFile: /src/librdkafka/src/rdkafka_request.c
    functionUses: 0
    functionsReached:
    - unittest_handle_GetTelemetrySubscriptions
    - unittest_idempotent_producer
    linkageType: ''
    returnType: int
    signature: int unittest_request(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:41,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:44,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:47,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:49,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:52,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:55,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:58,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:61,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:64,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:66,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - rkgm
    argTypes:
    - rd_kafka_group_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 67
    functionName: rd_kafka_group_member_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 17
    functionsReached:
    - rd_list_destroy
    - rd_kafkap_str_destroy
    - memset
    - rd_kafka_topic_partition_list_destroy
    - rd_kafkap_bytes_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_group_member_clear(rd_kafka_group_member_t *rkgm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_assignor.c:78,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_assignor.c:79,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:80,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:83,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: rd_kafka_group_member_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 2
    functionsReached:
    - rd_kafkap_str_cmp
    - RD_KAFKAP_STR_IS_NULL
    linkageType: ''
    returnType: int
    signature: int rd_kafka_group_member_cmp(const void *_a, const void *_b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_match
      Src: /src/librdkafka/src/rdkafka_assignor.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - rkgm
    - topic
    argTypes:
    - rd_kafka_t*
    - rd_kafka_group_member_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: rd_kafka_group_member_find_subscription
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_match
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_group_member_find_subscription(rd_kafka_t *rk,\n                                            const
      rd_kafka_group_member_t *rkgm,\n                                            const
      char *topic)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:120,1
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:137,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_assignor.c:140,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_assignor.c:141,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_assignor.c:142,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_assignor.c:143,1
    - Dst: rd_kafka_buf_write_bytes
      Src: /src/librdkafka/src/rdkafka_assignor.c:145,1
    - Dst: rd_kafka_buf_write_bytes
      Src: /src/librdkafka/src/rdkafka_assignor.c:149,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_assignor.c:154,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_assignor.c:159,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_assignor.c:167,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_assignor.c:170,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_assignor.c:173,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_assignor.c:174,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:175,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_assignor.c:176,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 6
    argNames:
    - topics
    - userdata
    - userdata_size
    - owned_partitions
    - generation
    - rack_id
    argTypes:
    - rd_list_t*
    - void*
    - size_t
    - rd_kafka_topic_partition_list_t*
    - int
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 180
    functionName: rd_kafka_consumer_protocol_member_metadata_new
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_write_bytes
    - rd_slice_init_full
    - rd_list_cnt
    - rd_slice_remains
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_buf_write_i16
    - RD_LIST_FOREACH
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - rd_kafkap_bytes_new
    - rd_kafka_buf_new
    - rd_slice_read
    linkageType: ''
    returnType: rd_kafkap_bytes_t
    signature: "rd_kafkap_bytes_t *rd_kafka_consumer_protocol_member_metadata_new(\n
      \   const rd_list_t *topics,\n    const void *userdata,\n    size_t userdata_size,\n
      \   const rd_kafka_topic_partition_list_t *owned_partitions,\n    int generation,\n
      \   const rd_kafkap_str_t *rack_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_protocol_member_metadata_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rkas
    - assignor_state
    - topics
    - owned_partitions
    - rack_id
    argTypes:
    - rd_kafka_assignor_t*
    - void*
    - rd_list_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: rd_kafka_assignor_get_metadata_with_empty_userdata
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_protocol_member_metadata_new
    linkageType: ''
    returnType: rd_kafkap_bytes_t
    signature: "rd_kafkap_bytes_t *rd_kafka_assignor_get_metadata_with_empty_userdata(\n
      \   const rd_kafka_assignor_t *rkas,\n    void *assignor_state,\n    const rd_list_t
      *topics,\n    const rd_kafka_topic_partition_list_t *owned_partitions,\n    const
      rd_kafkap_str_t *rack_id)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_match
      Src: /src/librdkafka/src/rdkafka_assignor.c:217,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:220,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:228,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - rkcg
    - rkgm
    - topic_metadata
    - eligible_topic
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_group_member_t*
    - rd_kafka_metadata_topic_t*
    - rd_kafka_assignor_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: rd_kafka_member_subscription_match
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_match
    - rd_list_cnt
    - rd_list_add
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_member_subscription_match(\n    rd_kafka_cgrp_t *rkcg,\n
      \   rd_kafka_group_member_t *rkgm,\n    const rd_kafka_metadata_topic_t *topic_metadata,\n
      \   rd_kafka_assignor_topic_t *eligible_topic)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:239,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignor.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - at
    argTypes:
    - rd_kafka_assignor_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: rd_kafka_assignor_topic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignor_topic_destroy(rd_kafka_assignor_topic_t *at)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: rd_kafka_assignor_topic_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignor_topic_cmp(const void *_a, const void *_b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_assignor.c:267,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:269,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_assignor.c:269,1
    - Dst: rd_kafka_pattern_match
      Src: /src/librdkafka/src/rdkafka_assignor.c:279,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:282,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_assignor.c:291,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:293,1
    - Dst: rd_kafka_member_subscription_match
      Src: /src/librdkafka/src/rdkafka_assignor.c:299,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_assignor.c:304,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:305,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:311,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignor.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - rkcg
    - eligible_topics
    - metadata
    - members
    - member_cnt
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_list_t*
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 258
    functionDepth: 7
    functionLinenumber: 258
    functionLinenumberEnd: 317
    functionName: rd_kafka_member_subscriptions_map
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_empty
    - rd_list_add
    - RD_MIN
    - rd_list_destroy
    - rd_calloc
    - rd_kafka_pattern_match
    - rd_kafka_member_subscription_match
    - rd_list_init
    - rd_kafka_metadata_get_internal
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_member_subscriptions_map(rd_kafka_cgrp_t *rkcg,\n                                  rd_list_t
      *eligible_topics,\n                                  const rd_kafka_metadata_t
      *metadata,\n                                  rd_kafka_group_member_t *members,\n
      \                                 int member_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_assignor.c:328,1
    - Dst: rd_kafka_member_subscriptions_map
      Src: /src/librdkafka/src/rdkafka_assignor.c:335,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:341,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:352,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_assignor.c:358,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:359,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:368,1
    - Dst: rd_kafka_assignor_t*::rkas_assign_cb
      Src: /src/librdkafka/src/rdkafka_assignor.c:377,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:383,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:391,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_assignor.c:396,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:400,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_assignor.c:404,1
    - Dst: rd_kafkap_str_cmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:405,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignor.c:413,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:421,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - rkcg
    - rkas
    - metadata
    - members
    - member_cnt
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_cgrp_t*
    - rd_kafka_assignor_t*
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 320
    functionDepth: 8
    functionLinenumber: 320
    functionLinenumberEnd: 424
    functionName: rd_kafka_assignor_run
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 11
    functionsReached:
    - rd_kafkap_str_cmp
    - rd_kafka_member_subscriptions_map
    - rd_list_destroy
    - rd_kafka_assignor_t*::rkas_assign_cb
    - RD_KAFKAP_STR_PR
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_assignor_run(rd_kafka_cgrp_t *rkcg,\n
      \                                         const rd_kafka_assignor_t *rkas,\n
      \                                         rd_kafka_metadata_t *metadata,\n                                          rd_kafka_group_member_t
      *members,\n                                          int member_cnt,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp_str2
      Src: /src/librdkafka/src/rdkafka_assignor.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: rd_kafka_assignor_cmp_str
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_cmp_str2
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignor_cmp_str(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - protocol
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 448
    functionName: rd_kafka_assignor_find
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 2
    functionsReached:
    - rd_list_find
    linkageType: ''
    returnType: rd_kafka_assignor_t
    signature: "rd_kafka_assignor_t *rd_kafka_assignor_find(rd_kafka_t *rk,\n                                            const
      char *protocol)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:455,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:456,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignor.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkas
    argTypes:
    - rd_kafka_assignor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: rd_kafka_assignor_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafkap_str_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignor_destroy(rd_kafka_assignor_t *rkas)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_assignor.c:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - conf
    argTypes:
    - rd_kafka_conf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 483
    functionName: rd_kafka_assignor_rebalance_protocol_check
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_LIST_FOREACH
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_assignor_rebalance_protocol_check(const
      rd_kafka_conf_t *conf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_assignor.c:522,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:531,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_assignor.c:534,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:536,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:537,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - rk
    - protocol_type
    - protocol_name
    - rebalance_protocol
    - "(*get_metadata_cb)(\n        const struct rd_kafka_assignor_s *rkas,\n        void
      *assignor_state,\n        const rd_list_t *topics,\n        const rd_kafka_topic_partition_list_t
      *owned_partitions,\n        const rd_kafkap_str_t *rack_id)"
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    - rd_kafka_rebalance_protocol_t
    - rd_kafkap_bytes_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 550
    functionName: rd_kafka_assignor_add
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 2
    functionsReached:
    - rd_kafkap_str_new
    - rd_list_add
    - rd_kafka_assignor_find
    - rd_calloc
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_assignor_add(\n    rd_kafka_t *rk,\n
      \   const char *protocol_type,\n    const char *protocol_name,\n    rd_kafka_rebalance_protocol_t
      rebalance_protocol,\n    rd_kafka_resp_err_t (*assign_cb)(\n        rd_kafka_t
      *rk,\n        const struct rd_kafka_assignor_s *rkas,\n        const char *member_id,\n
      \       const rd_kafka_metadata_t *metadata,\n        rd_kafka_group_member_t
      *members,\n        size_t member_cnt,\n        rd_kafka_assignor_topic_t **eligible_topics,\n
      \       size_t eligible_topic_cnt,\n        char *errstr,\n        size_t errstr_size,\n
      \       void *opaque),\n    rd_kafkap_bytes_t *(*get_metadata_cb)(\n        const
      struct rd_kafka_assignor_s *rkas,\n        void *assignor_state,\n        const
      rd_list_t *topics,\n        const rd_kafka_topic_partition_list_t *owned_partitions,\n
      \       const rd_kafkap_str_t *rack_id),\n    void (*on_assignment_cb)(const
      struct rd_kafka_assignor_s *rkas,\n                             void **assignor_state,\n
      \                            const rd_kafka_topic_partition_list_t *assignment,\n
      \                            const rd_kafkap_bytes_t *userdata,\n                             const
      rd_kafka_consumer_group_metadata_t *rkcgm),\n    void (*destroy_state_cb)(void
      *assignor_state),\n    int (*unittest_cb)(void),\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_assignor.c:555,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdkafka_assignor.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: rtrim
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - strlen
    - isspace
    linkageType: ''
    returnType: void
    signature: void rtrim(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr1
    - ptr2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: rd_kafka_assignor_cmp_idx
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignor_cmp_idx(const void *ptr1, const void *ptr2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:582,1
    - Dst: rd_kafka_range_assignor_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:586,1
    - Dst: rd_kafka_roundrobin_assignor_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:587,1
    - Dst: rd_kafka_sticky_assignor_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:588,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_assignor.c:590,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_assignor.c:601,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_assignor.c:605,1
    - Dst: rtrim
      Src: /src/librdkafka/src/rdkafka_assignor.c:609,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:611,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_assignor.c:613,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_assignor.c:633,1
    - Dst: rd_kafka_assignor_rebalance_protocol_check
      Src: /src/librdkafka/src/rdkafka_assignor.c:640,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_assignor.c:641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 651
    functionName: rd_kafka_assignors_init
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - rd_strdupa
    - rd_snprintf
    - rd_kafka_range_assignor_init
    - rd_kafka_assignor_find
    - rd_kafka_sticky_assignor_init
    - rd_kafka_roundrobin_assignor_init
    - rd_kafka_assignor_rebalance_protocol_check
    - rtrim
    - strchr
    - strlen
    - rd_list_init
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignors_init(rd_kafka_t *rk, char *errstr, size_t errstr_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 660
    functionName: rd_kafka_assignors_term
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignors_term(rd_kafka_t *rk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:692,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_assignor.c:695,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_assignor.c:697,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:700,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:710,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:718,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:732,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:739,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_assignor.c:745,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_assignor.c:746,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:753,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:757,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:769,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_assignor.c:787,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_assignor.c:788,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - mdi
    argTypes:
    - rd_kafka_assignor_topic_t**
    - size_t
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 791
    functionName: rd_kafka_use_rack_aware_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_list_add
    - rd_list_cnt
    - rd_list_new
    - rd_list_deduplicate
    - RD_LIST_FOREACH
    - rd_list_find
    - RD_IF_FREE
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_use_rack_aware_assignment(rd_kafka_assignor_topic_t
      **topics,\n                                   size_t topic_cnt,\n                                   const
      rd_kafka_metadata_internal_t *mdi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 39
    functionsReached:
    - rd_list_find
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rack_id, all_consumer_racks, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignor.c:802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mdi
    - num_broker_racks
    - all_racks
    - all_racks_cnt
    argTypes:
    - rd_kafka_metadata_internal_t*
    - int
    - rd_kafkap_str_t*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 815
    functionName: ut_populate_internal_broker_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void ut_populate_internal_broker_metadata(rd_kafka_metadata_internal_t
      *mdi,\n                                          int num_broker_racks,\n                                          rd_kafkap_str_t
      *all_racks[],\n                                          size_t all_racks_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignor.c:825,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:848,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_assignor.c:854,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:861,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_assignor.c:863,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_assignor.c:865,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_assignor.c:866,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - mdi
    argTypes:
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 820
    functionDepth: 5
    functionLinenumber: 820
    functionLinenumberEnd: 875
    functionName: ut_populate_internal_topic_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - rd_list_deduplicate
    - rd_malloc
    - bsearch
    linkageType: ''
    returnType: void
    signature: void ut_populate_internal_topic_metadata(rd_kafka_metadata_internal_t
      *mdi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rack, curr_list, j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_assignor.c:881,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignor.c:889,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - rd_kafka_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 894
    functionName: ut_destroy_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 16
    functionsReached:
    - rd_kafka_metadata_destroy
    - rd_kafka_metadata_get_internal
    - rd_free
    linkageType: ''
    returnType: void
    signature: void ut_destroy_metadata(rd_kafka_metadata_t *md)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:906,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_assignor.c:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkgm
    argTypes:
    - rd_kafka_group_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 910
    functionName: ut_set_owned
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: void ut_set_owned(rd_kafka_group_member_t *rkgm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 919
    functionName: ut_print_toppar_list
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_SAY
    linkageType: ''
    returnType: void
    signature: void ut_print_toppar_list(const rd_kafka_topic_partition_list_t *partitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:929,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:931,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:932,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_assignor.c:933,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:935,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:937,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_assignor.c:939,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:940,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - rkgm
    - member_id
    - rack_id
    - ap
    argTypes:
    - rd_kafka_group_member_t*
    - char*
    - rd_kafkap_str_t*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 923
    functionDepth: 3
    functionLinenumber: 923
    functionLinenumberEnd: 947
    functionName: ut_init_member_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_str_copy
    - rd_kafkap_str_new
    - rd_kafka_topic_partition_list_new
    - memset
    - rd_kafka_topic_partition_list_add
    - rd_list_init
    - va_arg
    linkageType: ''
    returnType: void
    signature: "void ut_init_member_internal(rd_kafka_group_member_t *rkgm,\n                                    const
      char *member_id,\n                                    const rd_kafkap_str_t
      *rack_id,\n                                    va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_assignor.c:958,1
    - Dst: ut_init_member_internal
      Src: /src/librdkafka/src/rdkafka_assignor.c:959,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_assignor.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkgm
    - member_id
    argTypes:
    - rd_kafka_group_member_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 956
    functionDepth: 4
    functionLinenumber: 956
    functionLinenumberEnd: 961
    functionName: ut_init_member
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - ut_init_member_internal
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void ut_init_member(rd_kafka_group_member_t *rkgm, const char *member_id,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_assignor.c:975,1
    - Dst: ut_init_member_internal
      Src: /src/librdkafka/src/rdkafka_assignor.c:976,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_assignor.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rkgm
    - member_id
    - rack_id
    argTypes:
    - rd_kafka_group_member_t*
    - char*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 970
    functionDepth: 4
    functionLinenumber: 970
    functionLinenumberEnd: 978
    functionName: ut_init_member_with_rackv
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - ut_init_member_internal
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: "void ut_init_member_with_rackv(rd_kafka_group_member_t *rkgm,\n                               const
      char *member_id,\n                               const rd_kafkap_str_t *rack_id,\n
      \                              ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:995,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:997,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:998,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_assignor.c:999,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:1000,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1002,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:1005,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - rkgm
    - member_id
    - rack_id
    - topics
    - topic_cnt
    argTypes:
    - rd_kafka_group_member_t*
    - char*
    - rd_kafkap_str_t*
    - char*[]
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 988
    functionDepth: 3
    functionLinenumber: 988
    functionLinenumberEnd: 1010
    functionName: ut_init_member_with_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 1
    functionsReached:
    - rd_kafkap_str_copy
    - rd_kafkap_str_new
    - rd_kafka_topic_partition_list_new
    - memset
    - rd_kafka_topic_partition_list_add
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void ut_init_member_with_rack(rd_kafka_group_member_t *rkgm,\n                              const
      char *member_id,\n                              const rd_kafkap_str_t *rack_id,\n
      \                             char *topics[],\n                              size_t
      topic_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_assignor.c:1029,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_assignor.c:1030,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_assignor.c:1031,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1034,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1036,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_assignor.c:1045,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1048,1
    - Dst: ut_print_toppar_list
      Src: /src/librdkafka/src/rdkafka_assignor.c:1057,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1059,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - function
    - line
    - rkgm
    argTypes:
    - char*
    - int
    - rd_kafka_group_member_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1062
    functionName: verifyAssignment0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - va_start
    - RD_UT_ASSERT
    - ut_print_toppar_list
    - rd_kafka_topic_partition_list_find
    - va_end
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int verifyAssignment0(const char *function,\n                      int
      line,\n                      rd_kafka_group_member_t *rkgm,\n                      ...)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_assignor.c:1086,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_assignor.c:1092,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_assignor.c:1093,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1096,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1098,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1109,1
    - Dst: ut_print_toppar_list
      Src: /src/librdkafka/src/rdkafka_assignor.c:1118,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_assignor.c:1121,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - function
    - line
    - rkgms
    - member_cnt
    argTypes:
    - char*
    - int
    - rd_kafka_group_member_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1072
    functionDepth: 2
    functionLinenumber: 1072
    functionLinenumberEnd: 1126
    functionName: verifyMultipleAssignment0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - va_start
    - RD_UT_ASSERT
    - ut_print_toppar_list
    - rd_kafka_topic_partition_list_find
    - va_end
    - va_arg
    linkageType: ''
    returnType: int
    signature: "int verifyMultipleAssignment0(const char *function,\n                              int
      line,\n                              rd_kafka_group_member_t *rkgms,\n                              size_t
      member_cnt,\n                              ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rktpar
    - ','
    - metadata
    - ','
    - increase
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1156
    functionName: verifyNumPartitionsWithRackMismatchPartition
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "verifyNumPartitionsWithRackMismatchPartition(rktpar, metadata,         \\\n
      \                                                    increase)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1179,1
    - Dst: verifyNumPartitionsWithRackMismatchPartition
      Src: /src/librdkafka/src/rdkafka_assignor.c:1182,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - function
    - line
    - metadata
    - rkgms
    - member_cnt
    - expectedNumMismatch
    argTypes:
    - char*
    - int
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1194
    functionName: verifyNumPartitionsWithRackMismatch0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - verifyNumPartitionsWithRackMismatchPartition
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: int
    signature: "int verifyNumPartitionsWithRackMismatch0(const char *function,\n                                         int
      line,\n                                         rd_kafka_metadata_t *metadata,\n
      \                                        rd_kafka_group_member_t *rkgms,\n                                         size_t
      member_cnt,\n                                         int expectedNumMismatch)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:1206,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:1216,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:1228,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1232,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1235,1
    - Dst: ut_set_owned
      Src: /src/librdkafka/src/rdkafka_assignor.c:1247,1
    - Dst: abs
      Src: /src/librdkafka/src/rdkafka_assignor.c:1258,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1264,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1267,1
    - Dst: rd_kafka_topic_partition_list_find_topic_by_name
      Src: /src/librdkafka/src/rdkafka_assignor.c:1282,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1284,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1299,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - func
    - line
    - members
    - member_cnt
    - metadata
    argTypes:
    - char*
    - int
    - rd_kafka_group_member_t*
    - size_t
    - rd_kafka_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1303
    functionName: verifyValidityAndBalance0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - RD_UT_ASSERT
    - abs
    - ut_set_owned
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_list_find_topic_by_name
    - RD_UT_SAY
    linkageType: ''
    returnType: int
    signature: "int verifyValidityAndBalance0(const char *func,\n                              int
      line,\n                              rd_kafka_group_member_t *members,\n                              size_t
      member_cnt,\n                              const rd_kafka_metadata_t *metadata)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - function
    - line
    - members
    - member_cnt
    argTypes:
    - char*
    - int
    - rd_kafka_group_member_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1331
    functionName: isFullyBalanced0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_ASSERT
    linkageType: ''
    returnType: int
    signature: "int isFullyBalanced0(const char *function,\n                     int
      line,\n                     const rd_kafka_group_member_t *members,\n                     size_t
      member_cnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1567,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_assignor.c:1568,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_assignor.c:1569,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdkafka_assignor.c:1569,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1571,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1572,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_assignor.c:1584,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_assignor.c:1585,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:1588,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:1590,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_assignor.c:1600,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_assignor.c:1602,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_assignor.c:1620,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_assignor.c:1621,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1626,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1628,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_assignor.c:1629,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1633,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_assignor.c:1636,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1644,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:1654,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_assignor.c:1657,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_assignor.c:1659,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_assignor.c:1668,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_assignor.c:1674,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1688,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_assignor.c:1691,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_assignor.c:1702,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_assignor.c:1721,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_assignor.c:1726,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_assignor.c:1728,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_assignor.c:1735,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_assignor.c:1736,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_assignor.c:1740,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:1751,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignor.c:1754,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_assignor.c:1761,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_assignor.c:1767,1
    - Dst: rd_kafka_assignor_t*::rkas_unittest
      Src: /src/librdkafka/src/rdkafka_assignor.c:1769,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_assignor.c:1772,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_assignor.c:1777,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1337
    functionDepth: 21
    functionLinenumber: 1337
    functionLinenumberEnd: 1778
    functionName: ut_assignors
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - rd_kafka_conf_set
    - rd_snprintf
    - rd_alloca
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_group_member_clear
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_destroy
    - RD_UT_ASSERT
    - rd_kafka_assignor_t*::rkas_unittest
    - memset
    - rd_list_init
    - RD_UT_SAY
    - rd_kafkap_str_new
    - strcmp
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_LIST_FOREACH
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_getenv
    - rd_kafka_conf_new
    - rd_kafka_assignor_find
    - RD_UT_FAIL
    - rd_kafka_new
    linkageType: ''
    returnType: int
    signature: int ut_assignors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_assignors
      Src: /src/librdkafka/src/rdkafka_assignor.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1784
    functionDepth: 22
    functionLinenumber: 1784
    functionLinenumberEnd: 1786
    functionName: unittest_assignors
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.c
    functionUses: 0
    functionsReached:
    - ut_assignors
    linkageType: ''
    returnType: int
    signature: int unittest_assignors(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: isinf
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: isnan
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: cJSON_GetErrorPtr
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_GetErrorPtr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsString
      Src: /src/librdkafka/src/cJSON.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: cJSON_GetStringValue
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_IsString
    linkageType: ''
    returnType: void
    signature: void cJSON_GetStringValue(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsNumber
      Src: /src/librdkafka/src/cJSON.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: cJSON_GetNumberValue
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_IsNumber
    linkageType: ''
    returnType: void
    signature: void cJSON_GetNumberValue(const cJSON *const item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/librdkafka/src/cJSON.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: cJSON_Version
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: void cJSON_Version(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/librdkafka/src/cJSON.c:138,1
    - Dst: tolower
      Src: /src/librdkafka/src/cJSON.c:138,1
    - Dst: tolower
      Src: /src/librdkafka/src/cJSON.c:145,1
    - Dst: tolower
      Src: /src/librdkafka/src/cJSON.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 146
    functionName: case_insensitive_strcmp
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: "int case_insensitive_strcmp(const unsigned char *string1,\n                                   const
      unsigned char *string2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/src/cJSON.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: CJSON_CDECL::internal_malloc
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void *CJSON_CDECL internal_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/src/cJSON.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: CJSON_CDECL::internal_free
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void CJSON_CDECL internal_free(void *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/librdkafka/src/cJSON.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pointer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: CJSON_CDECL::internal_realloc
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: void *CJSON_CDECL internal_realloc(void *pointer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string_literal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: static_strlen
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: static_strlen(string_literal)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:187,1
    - Dst: internal_hooks*::allocate
      Src: /src/librdkafka/src/cJSON.c:188,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - string
    - hooks
    argTypes:
    - unsigned char*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: cJSON_strdup
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - internal_hooks*::allocate
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *cJSON_strdup(const unsigned char *string,\n                                   const
      internal_hooks *const hooks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - cJSON_Hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 222
    functionName: cJSON_InitHooks
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_InitHooks(cJSON_Hooks *hooks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: internal_hooks*::allocate
      Src: /src/librdkafka/src/cJSON.c:226,1
    - Dst: memset
      Src: /src/librdkafka/src/cJSON.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: cJSON_New_Item
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - internal_hooks*::allocate
    - memset
    linkageType: ''
    returnType: cJSON
    signature: cJSON *cJSON_New_Item(const internal_hooks *const hooks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:241,1
    - Dst: deallocate
      Src: /src/librdkafka/src/cJSON.c:245,1
    - Dst: deallocate
      Src: /src/librdkafka/src/cJSON.c:249,1
    - Dst: deallocate
      Src: /src/librdkafka/src/cJSON.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: cJSON_Delete
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 8
    functionsReached:
    - cJSON_Delete
    - deallocate
    linkageType: ''
    returnType: void
    signature: void cJSON_Delete(cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/librdkafka/src/cJSON.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 264
    functionName: get_decimal_point
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char get_decimal_point(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: can_read
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_read(buffer, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: can_access_at_index
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: can_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: cannot_access_at_index
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cannot_access_at_index(buffer, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: buffer_at_offset
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_at_offset(buffer)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/librdkafka/src/cJSON.c:294,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:306,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:308,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:323,1
    - Dst: strtod
      Src: /src/librdkafka/src/cJSON.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 357
    functionName: parse_number
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    - get_decimal_point
    - strtod
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool parse_number(cJSON *const item,\n                               parse_buffer
      *const input_buffer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - object
    - number
    argTypes:
    - cJSON*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 371
    functionName: cJSON_SetNumberHelper
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_SetNumberHelper(cJSON *object, double number)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:382,1
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:382,1
    - Dst: strcpy
      Src: /src/librdkafka/src/cJSON.c:383,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:386,1
    - Dst: cJSON_free
      Src: /src/librdkafka/src/cJSON.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - object
    - valuestring
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 397
    functionName: cJSON_SetValuestring
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    - cJSON_strdup
    - cJSON_free
    linkageType: ''
    returnType: void
    signature: void cJSON_SetValuestring(cJSON *object, const char *valuestring)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printbuffer*::hooks::reallocate
      Src: /src/librdkafka/src/cJSON.c:452,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/librdkafka/src/cJSON.c:454,1
    - Dst: printbuffer*::hooks::allocate
      Src: /src/librdkafka/src/cJSON.c:462,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/librdkafka/src/cJSON.c:464,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:471,1
    - Dst: printbuffer*::hooks::deallocate
      Src: /src/librdkafka/src/cJSON.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - p
    - needed
    argTypes:
    - printbuffer*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 479
    functionName: ensure
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 5
    functionsReached:
    - printbuffer*::hooks::reallocate
    - printbuffer*::hooks::allocate
    - printbuffer*::hooks::deallocate
    - memcpy
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char *ensure(printbuffer *const p, size_t needed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: update_offset
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void update_offset(printbuffer *const buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/librdkafka/src/cJSON.c:495,1
    - Dst: fabs
      Src: /src/librdkafka/src/cJSON.c:495,1
    - Dst: fabs
      Src: /src/librdkafka/src/cJSON.c:495,1
    - Dst: fabs
      Src: /src/librdkafka/src/cJSON.c:495,1
    - Dst: fabs
      Src: /src/librdkafka/src/cJSON.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: compare_double
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool compare_double(double a, double b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/librdkafka/src/cJSON.c:508,1
    - Dst: isnan
      Src: /src/librdkafka/src/cJSON.c:516,1
    - Dst: isinf
      Src: /src/librdkafka/src/cJSON.c:516,1
    - Dst: sprintf
      Src: /src/librdkafka/src/cJSON.c:517,1
    - Dst: sprintf
      Src: /src/librdkafka/src/cJSON.c:521,1
    - Dst: sscanf
      Src: /src/librdkafka/src/cJSON.c:524,1
    - Dst: compare_double
      Src: /src/librdkafka/src/cJSON.c:525,1
    - Dst: sprintf
      Src: /src/librdkafka/src/cJSON.c:527,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 557
    functionName: print_number
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - sprintf
    - ensure
    - isnan
    - compare_double
    - sscanf
    - get_decimal_point
    - isinf
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool print_number(const cJSON *const item,\n                               printbuffer
      *const output_buffer)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - input
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 584
    functionName: parse_hex4
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned parse_hex4(const unsigned char *const input)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_hex4
      Src: /src/librdkafka/src/cJSON.c:606,1
    - Dst: parse_hex4
      Src: /src/librdkafka/src/cJSON.c:631,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - input_pointer
    - input_end
    - output_pointer
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 692
    functionName: utf16_literal_to_utf8
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - parse_hex4
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char utf16_literal_to_utf8(const unsigned char *const input_pointer,\n
      \                     const unsigned char *const input_end,\n                      unsigned
      char **output_pointer)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:697,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:698,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:703,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:736,1
    - Dst: parse_buffer*::hooks::allocate
      Src: /src/librdkafka/src/cJSON.c:738,1
    - Dst: utf16_literal_to_utf8
      Src: /src/librdkafka/src/cJSON.c:782,1
    - Dst: parse_buffer*::hooks::deallocate
      Src: /src/librdkafka/src/cJSON.c:811,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 820
    functionName: parse_string
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - utf16_literal_to_utf8
    - parse_buffer*::hooks::allocate
    - parse_buffer*::hooks::deallocate
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool parse_string(cJSON *const item,\n                               parse_buffer
      *const input_buffer)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:838,1
    - Dst: strcpy
      Src: /src/librdkafka/src/cJSON.c:842,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:870,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:878,1
    - Dst: sprintf
      Src: /src/librdkafka/src/cJSON.c:921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 2
    argNames:
    - input
    - output_buffer
    argTypes:
    - unsigned char*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 932
    functionName: print_string_ptr
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - strcpy
    - ensure
    - sprintf
    - memcpy
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool print_string_ptr(const unsigned char *const input,\n                                   printbuffer
      *const output_buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string_ptr
      Src: /src/librdkafka/src/cJSON.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - item
    - p
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 937
    functionName: print_string
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - print_string_ptr
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool print_string(const cJSON *const item, printbuffer *const
      p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:959,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:963,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 973
    functionName: buffer_skip_whitespace
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    - cannot_access_at_index
    linkageType: ''
    returnType: parse_buffer
    signature: parse_buffer *buffer_skip_whitespace(parse_buffer *const buffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:982,1
    - Dst: strncmp
      Src: /src/librdkafka/src/cJSON.c:983,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 989
    functionName: skip_utf8_bom
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    - strncmp
    linkageType: ''
    returnType: parse_buffer
    signature: parse_buffer *skip_utf8_bom(parse_buffer *const buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:1002,1
    - Dst: cJSON_ParseWithLengthOpts
      Src: /src/librdkafka/src/cJSON.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - value
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - char**
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1006
    functionName: cJSON_ParseWithOpts
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - strlen
    - cJSON_ParseWithLengthOpts
    linkageType: ''
    returnType: void
    signature: "void cJSON_ParseWithOpts(const char *value,\n                    const
      char **return_parse_end,\n                    cJSON_bool require_null_terminated)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:1030,1
    - Dst: parse_value
      Src: /src/librdkafka/src/cJSON.c:1036,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1037,1
    - Dst: skip_utf8_bom
      Src: /src/librdkafka/src/cJSON.c:1037,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1045,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1047,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1052,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1059,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - value
    - buffer_length
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - size_t
    - char**
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1082
    functionName: cJSON_ParseWithLengthOpts
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    - parse_value
    - cJSON_Delete
    - buffer_skip_whitespace
    - buffer_at_offset
    - skip_utf8_bom
    linkageType: ''
    returnType: void
    signature: "void cJSON_ParseWithLengthOpts(const char *value,\n                          size_t
      buffer_length,\n                          const char **return_parse_end,\n                          cJSON_bool
      require_null_terminated)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithOpts
      Src: /src/librdkafka/src/cJSON.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: cJSON_Parse
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_ParseWithOpts
    linkageType: ''
    returnType: void
    signature: void cJSON_Parse(const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ParseWithLengthOpts
      Src: /src/librdkafka/src/cJSON.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - buffer_length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 3
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: cJSON_ParseWithLength
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ParseWithLengthOpts
    linkageType: ''
    returnType: void
    signature: void cJSON_ParseWithLength(const char *value, size_t buffer_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1095
    functionName: cjson_min
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cjson_min(a, b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/cJSON.c:1103,1
    - Dst: internal_hooks*::allocate
      Src: /src/librdkafka/src/cJSON.c:1106,1
    - Dst: print_value
      Src: /src/librdkafka/src/cJSON.c:1115,1
    - Dst: update_offset
      Src: /src/librdkafka/src/cJSON.c:1118,1
    - Dst: internal_hooks*::reallocate
      Src: /src/librdkafka/src/cJSON.c:1122,1
    - Dst: internal_hooks*::allocate
      Src: /src/librdkafka/src/cJSON.c:1130,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:1134,1
    - Dst: cjson_min
      Src: /src/librdkafka/src/cJSON.c:1135,1
    - Dst: internal_hooks*::deallocate
      Src: /src/librdkafka/src/cJSON.c:1139,1
    - Dst: internal_hooks*::deallocate
      Src: /src/librdkafka/src/cJSON.c:1146,1
    - Dst: internal_hooks*::deallocate
      Src: /src/librdkafka/src/cJSON.c:1150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - item
    - format
    - hooks
    argTypes:
    - cJSON*
    - cJSON_bool
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1154
    functionName: print
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 3
    functionsReached:
    - internal_hooks*::allocate
    - internal_hooks*::reallocate
    - memset
    - internal_hooks*::deallocate
    - update_offset
    - memcpy
    - print_value
    - cjson_min
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *print(const cJSON *const item,\n                            cJSON_bool
      format,\n                            const internal_hooks *const hooks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/librdkafka/src/cJSON.c:1158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1157
    functionDepth: 2
    functionLinenumber: 1157
    functionLinenumberEnd: 1159
    functionName: cJSON_Print
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void cJSON_Print(const cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/librdkafka/src/cJSON.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1163
    functionName: cJSON_PrintUnformatted
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - print
    linkageType: ''
    returnType: void
    signature: void cJSON_PrintUnformatted(const cJSON *item)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/librdkafka/src/cJSON.c:1173,1
    - Dst: print_value
      Src: /src/librdkafka/src/cJSON.c:1184,1
    - Dst: deallocate
      Src: /src/librdkafka/src/cJSON.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - item
    - prebuffer
    - fmt
    argTypes:
    - cJSON*
    - int
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1190
    functionName: cJSON_PrintBuffered
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - allocate
    - print_value
    - deallocate
    linkageType: ''
    returnType: void
    signature: void cJSON_PrintBuffered(const cJSON *item, int prebuffer, cJSON_bool
      fmt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_value
      Src: /src/librdkafka/src/cJSON.c:1210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - item
    - buffer
    - length
    - format
    argTypes:
    - cJSON*
    - char*
    - int
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1211
    functionName: cJSON_PrintPreallocated
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - print_value
    linkageType: ''
    returnType: void
    signature: "void cJSON_PrintPreallocated(cJSON *item,\n                        char
      *buffer,\n                        const int length,\n                        const
      cJSON_bool format)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/librdkafka/src/cJSON.c:1222,1
    - Dst: strncmp
      Src: /src/librdkafka/src/cJSON.c:1223,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1223,1
    - Dst: can_read
      Src: /src/librdkafka/src/cJSON.c:1230,1
    - Dst: strncmp
      Src: /src/librdkafka/src/cJSON.c:1231,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1231,1
    - Dst: can_read
      Src: /src/librdkafka/src/cJSON.c:1238,1
    - Dst: strncmp
      Src: /src/librdkafka/src/cJSON.c:1239,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1239,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1247,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1248,1
    - Dst: parse_string
      Src: /src/librdkafka/src/cJSON.c:1249,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1252,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1253,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1254,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1255,1
    - Dst: parse_number
      Src: /src/librdkafka/src/cJSON.c:1256,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1259,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1260,1
    - Dst: parse_array
      Src: /src/librdkafka/src/cJSON.c:1261,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1264,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1265,1
    - Dst: parse_object
      Src: /src/librdkafka/src/cJSON.c:1266,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1270
    functionName: parse_value
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - parse_object
    - parse_string
    - buffer_at_offset
    - can_access_at_index
    - parse_array
    - parse_number
    - strncmp
    - can_read
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool parse_value(cJSON *const item,\n                              parse_buffer
      *const input_buffer)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1283,1
    - Dst: strcpy
      Src: /src/librdkafka/src/cJSON.c:1287,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1291,1
    - Dst: strcpy
      Src: /src/librdkafka/src/cJSON.c:1295,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1299,1
    - Dst: strcpy
      Src: /src/librdkafka/src/cJSON.c:1303,1
    - Dst: print_number
      Src: /src/librdkafka/src/cJSON.c:1307,1
    - Dst: strlen
      Src: /src/librdkafka/src/cJSON.c:1315,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1316,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:1320,1
    - Dst: print_string
      Src: /src/librdkafka/src/cJSON.c:1325,1
    - Dst: print_array
      Src: /src/librdkafka/src/cJSON.c:1328,1
    - Dst: print_object
      Src: /src/librdkafka/src/cJSON.c:1331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1336
    functionName: print_value
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 3
    functionsReached:
    - ensure
    - print_object
    - print_number
    - print_array
    - strcpy
    - strlen
    - memcpy
    - print_string
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool print_value(const cJSON *const item,\n                              printbuffer
      *const output_buffer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1349,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1355,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1356,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1357,1
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1363,1
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:1373,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1391,1
    - Dst: parse_value
      Src: /src/librdkafka/src/cJSON.c:1392,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1395,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1396,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1397,1
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1399,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1400,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1420,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1339
    functionDepth: 4
    functionLinenumber: 1339
    functionLinenumberEnd: 1424
    functionName: parse_array
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    - parse_value
    - cJSON_Delete
    - buffer_skip_whitespace
    - cannot_access_at_index
    - buffer_at_offset
    - can_access_at_index
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool parse_array(cJSON *const item,\n                              parse_buffer
      *const input_buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1439,1
    - Dst: print_value
      Src: /src/librdkafka/src/cJSON.c:1449,1
    - Dst: update_offset
      Src: /src/librdkafka/src/cJSON.c:1452,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1455,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1469,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1427
    functionDepth: 4
    functionLinenumber: 1427
    functionLinenumberEnd: 1478
    functionName: print_array
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - ensure
    - print_value
    - update_offset
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool print_array(const cJSON *const item,\n                              printbuffer
      *const output_buffer)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1491,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1492,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1497,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1498,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1499,1
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1504,1
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:1514,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1532,1
    - Dst: parse_string
      Src: /src/librdkafka/src/cJSON.c:1533,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1536,1
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1542,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1543,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1549,1
    - Dst: parse_value
      Src: /src/librdkafka/src/cJSON.c:1550,1
    - Dst: buffer_skip_whitespace
      Src: /src/librdkafka/src/cJSON.c:1553,1
    - Dst: can_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1554,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1555,1
    - Dst: cannot_access_at_index
      Src: /src/librdkafka/src/cJSON.c:1557,1
    - Dst: buffer_at_offset
      Src: /src/librdkafka/src/cJSON.c:1558,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1577,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - cJSON*
    - parse_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1481
    functionDepth: 4
    functionLinenumber: 1481
    functionLinenumberEnd: 1581
    functionName: parse_object
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    - parse_value
    - cJSON_Delete
    - cannot_access_at_index
    - buffer_skip_whitespace
    - parse_string
    - buffer_at_offset
    - can_access_at_index
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool parse_object(cJSON *const item,\n                               parse_buffer
      *const input_buffer)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1596,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1612,1
    - Dst: print_string_ptr
      Src: /src/librdkafka/src/cJSON.c:1623,1
    - Dst: update_offset
      Src: /src/librdkafka/src/cJSON.c:1627,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1630,1
    - Dst: print_value
      Src: /src/librdkafka/src/cJSON.c:1641,1
    - Dst: update_offset
      Src: /src/librdkafka/src/cJSON.c:1644,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1649,1
    - Dst: ensure
      Src: /src/librdkafka/src/cJSON.c:1667,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - cJSON*
    - printbuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1584
    functionDepth: 4
    functionLinenumber: 1584
    functionLinenumberEnd: 1683
    functionName: print_object
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - ensure
    - print_value
    - print_string_ptr
    - update_offset
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool print_object(const cJSON *const item,\n                               printbuffer
      *const output_buffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - array
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1704
    functionName: cJSON_GetArraySize
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_GetArraySize(const cJSON *array)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - cJSON*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1720
    functionName: get_array_item
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cJSON
    signature: cJSON *get_array_item(const cJSON *array, size_t index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/librdkafka/src/cJSON.c:1727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1728
    functionName: cJSON_GetArrayItem
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_GetArrayItem(const cJSON *array, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/cJSON.c:1743,1
    - Dst: case_insensitive_strcmp
      Src: /src/librdkafka/src/cJSON.c:1748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - object
    - name
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1761
      start: 1730
    functionDepth: 1
    functionLinenumber: 1730
    functionLinenumberEnd: 1761
    functionName: get_object_item
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - case_insensitive_strcmp
    - strcmp
    linkageType: ''
    returnType: cJSON
    signature: "cJSON *get_object_item(const cJSON *const object,\n                              const
      char *const name,\n                              const cJSON_bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1764
    functionDepth: 2
    functionLinenumber: 1764
    functionLinenumberEnd: 1766
    functionName: cJSON_GetObjectItem
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 5
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_GetObjectItem(const cJSON *const object, const char *const
      string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1772
    functionName: cJSON_GetObjectItemCaseSensitive
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: void
    signature: "void cJSON_GetObjectItemCaseSensitive(const cJSON *const object,\n
      \                                const char *const string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/cJSON.c:1776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1775
    functionDepth: 3
    functionLinenumber: 1775
    functionLinenumberEnd: 1777
    functionName: cJSON_HasObjectItem
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: void
    signature: void cJSON_HasObjectItem(const cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1783
    functionName: suffix_object
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suffix_object(cJSON *prev, cJSON *item)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:1793,1
    - Dst: memcpy
      Src: /src/librdkafka/src/cJSON.c:1798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - item
    - hooks
    argTypes:
    - cJSON*
    - internal_hooks*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1803
    functionName: create_reference
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_New_Item
    - memcpy
    linkageType: ''
    returnType: cJSON
    signature: "cJSON *create_reference(const cJSON *item,\n                               const
      internal_hooks *const hooks)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: suffix_object
      Src: /src/librdkafka/src/cJSON.c:1824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1805
    functionDepth: 1
    functionLinenumber: 1805
    functionLinenumberEnd: 1830
    functionName: add_item_to_array
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - suffix_object
    linkageType: ''
    returnType: cJSON_bool
    signature: cJSON_bool add_item_to_array(cJSON *array, cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_array
      Src: /src/librdkafka/src/cJSON.c:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1835
    functionName: cJSON_AddItemToArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_array
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToArray(cJSON *array, cJSON *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - string
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1848
    functionName: cast_away_const
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *cast_away_const(const void *string)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cast_away_const
      Src: /src/librdkafka/src/cJSON.c:1870,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:1874,1
    - Dst: internal_hooks*::deallocate
      Src: /src/librdkafka/src/cJSON.c:1883,1
    - Dst: add_item_to_array
      Src: /src/librdkafka/src/cJSON.c:1889,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - object
    - string
    - item
    - hooks
    - constant_key
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    - internal_hooks*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1856
    functionDepth: 2
    functionLinenumber: 1856
    functionLinenumberEnd: 1890
    functionName: add_item_to_object
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cast_away_const
    - internal_hooks*::deallocate
    - cJSON_strdup
    - add_item_to_array
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool add_item_to_object(cJSON *const object,\n                                     const
      char *const string,\n                                     cJSON *const item,\n
      \                                    const internal_hooks *const hooks,\n                                     const
      cJSON_bool constant_key)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1893
    functionDepth: 3
    functionLinenumber: 1893
    functionLinenumberEnd: 1895
    functionName: cJSON_AddItemToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToObject(cJSON *object, const char *string, cJSON
      *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 1901
    functionName: cJSON_AddItemToObjectCS
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemToObjectCS(cJSON *object, const char *string, cJSON
      *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_array
      Src: /src/librdkafka/src/cJSON.c:1909,1
    - Dst: create_reference
      Src: /src/librdkafka/src/cJSON.c:1909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1904
    functionDepth: 2
    functionLinenumber: 1904
    functionLinenumberEnd: 1910
    functionName: cJSON_AddItemReferenceToArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - create_reference
    - add_item_to_array
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemReferenceToArray(cJSON *array, cJSON *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1918,1
    - Dst: create_reference
      Src: /src/librdkafka/src/cJSON.c:1919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1913
    functionDepth: 3
    functionLinenumber: 1913
    functionLinenumberEnd: 1921
    functionName: cJSON_AddItemReferenceToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - create_reference
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddItemReferenceToObject(cJSON *object, const char *string,
      cJSON *item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNull
      Src: /src/librdkafka/src/cJSON.c:1925,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1926,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1924
    functionDepth: 3
    functionLinenumber: 1924
    functionLinenumberEnd: 1932
    functionName: cJSON_AddNullToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNull
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddNullToObject(cJSON *const object, const char *const name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateTrue
      Src: /src/librdkafka/src/cJSON.c:1936,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1937,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1935
    functionDepth: 3
    functionLinenumber: 1935
    functionLinenumberEnd: 1943
    functionName: cJSON_AddTrueToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateTrue
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddTrueToObject(cJSON *const object, const char *const name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateFalse
      Src: /src/librdkafka/src/cJSON.c:1947,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1948,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1946
    functionDepth: 3
    functionLinenumber: 1946
    functionLinenumberEnd: 1955
    functionName: cJSON_AddFalseToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateFalse
    linkageType: ''
    returnType: void
    signature: void cJSON_AddFalseToObject(cJSON *const object, const char *const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateBool
      Src: /src/librdkafka/src/cJSON.c:1961,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1962,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - boolean
    argTypes:
    - cJSON*
    - char*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1958
    functionDepth: 3
    functionLinenumber: 1958
    functionLinenumberEnd: 1968
    functionName: cJSON_AddBoolToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateBool
    linkageType: ''
    returnType: void
    signature: "void cJSON_AddBoolToObject(cJSON *const object,\n                      const
      char *const name,\n                      const cJSON_bool boolean)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateNumber
      Src: /src/librdkafka/src/cJSON.c:1974,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1975,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - number
    argTypes:
    - cJSON*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1971
    functionDepth: 3
    functionLinenumber: 1971
    functionLinenumberEnd: 1982
    functionName: cJSON_AddNumberToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: "void cJSON_AddNumberToObject(cJSON *const object,\n                        const
      char *const name,\n                        const double number)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateString
      Src: /src/librdkafka/src/cJSON.c:1988,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:1989,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:1994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - string
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 1996
    functionName: cJSON_AddStringToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateString
    linkageType: ''
    returnType: void
    signature: "void cJSON_AddStringToObject(cJSON *const object,\n                        const
      char *const name,\n                        const char *const string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateRaw
      Src: /src/librdkafka/src/cJSON.c:2002,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:2003,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - object
    - name
    - raw
    argTypes:
    - cJSON*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2009
    functionName: cJSON_AddRawToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateRaw
    linkageType: ''
    returnType: void
    signature: "void cJSON_AddRawToObject(cJSON *const object,\n                     const
      char *const name,\n                     const char *const raw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/librdkafka/src/cJSON.c:2013,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:2014,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2012
    functionDepth: 3
    functionLinenumber: 2012
    functionLinenumberEnd: 2021
    functionName: cJSON_AddObjectToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_CreateObject
    - cJSON_Delete
    - add_item_to_object
    linkageType: ''
    returnType: void
    signature: void cJSON_AddObjectToObject(cJSON *const object, const char *const
      name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/librdkafka/src/cJSON.c:2025,1
    - Dst: add_item_to_object
      Src: /src/librdkafka/src/cJSON.c:2026,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - object
    - name
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2024
    functionDepth: 3
    functionLinenumber: 2024
    functionLinenumberEnd: 2032
    functionName: cJSON_AddArrayToObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - add_item_to_object
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cJSON_AddArrayToObject(cJSON *const object, const char *const
      name)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - parent
    - item
    argTypes:
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2062
    functionName: cJSON_DetachItemViaPointer
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemViaPointer(cJSON *parent, cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/librdkafka/src/cJSON.c:2069,1
    - Dst: get_array_item
      Src: /src/librdkafka/src/cJSON.c:2070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2071
    functionName: cJSON_DetachItemFromArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_DetachItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromArray(cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2074,1
    - Dst: cJSON_DetachItemFromArray
      Src: /src/librdkafka/src/cJSON.c:2074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - cJSON*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2073
    functionDepth: 2
    functionLinenumber: 2073
    functionLinenumberEnd: 2075
    functionName: cJSON_DeleteItemFromArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_DetachItemFromArray
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromArray(cJSON *array, int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/librdkafka/src/cJSON.c:2079,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/librdkafka/src/cJSON.c:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2078
    functionDepth: 3
    functionLinenumber: 2078
    functionLinenumberEnd: 2082
    functionName: cJSON_DetachItemFromObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItem
    - cJSON_DetachItemViaPointer
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromObject(cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItemCaseSensitive
      Src: /src/librdkafka/src/cJSON.c:2086,1
    - Dst: cJSON_DetachItemViaPointer
      Src: /src/librdkafka/src/cJSON.c:2088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2089
    functionName: cJSON_DetachItemFromObjectCaseSensitive
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_GetObjectItemCaseSensitive
    - cJSON_DetachItemViaPointer
    linkageType: ''
    returnType: void
    signature: void cJSON_DetachItemFromObjectCaseSensitive(cJSON *object, const char
      *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2093,1
    - Dst: cJSON_DetachItemFromObject
      Src: /src/librdkafka/src/cJSON.c:2093,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2092
    functionDepth: 4
    functionLinenumber: 2092
    functionLinenumberEnd: 2094
    functionName: cJSON_DeleteItemFromObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_DetachItemFromObject
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromObject(cJSON *object, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2098,1
    - Dst: cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/librdkafka/src/cJSON.c:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - cJSON*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2097
    functionDepth: 4
    functionLinenumber: 2097
    functionLinenumberEnd: 2099
    functionName: cJSON_DeleteItemFromObjectCaseSensitive
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_Delete
    - cJSON_DetachItemFromObjectCaseSensitive
    linkageType: ''
    returnType: void
    signature: void cJSON_DeleteItemFromObjectCaseSensitive(cJSON *object, const char
      *string)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/librdkafka/src/cJSON.c:2110,1
    - Dst: add_item_to_array
      Src: /src/librdkafka/src/cJSON.c:2112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - cJSON*
    - int
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2103
    functionDepth: 2
    functionLinenumber: 2103
    functionLinenumberEnd: 2124
    functionName: cJSON_InsertItemInArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - add_item_to_array
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_InsertItemInArray(cJSON *array, int which, cJSON *newitem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - parent
    - item
    - replacement
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2167
    functionName: cJSON_ReplaceItemViaPointer
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: "void cJSON_ReplaceItemViaPointer(cJSON *const parent,\n                            cJSON
      *const item,\n                            cJSON *replacement)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/librdkafka/src/cJSON.c:2175,1
    - Dst: get_array_item
      Src: /src/librdkafka/src/cJSON.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - cJSON*
    - int
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2170
    functionDepth: 3
    functionLinenumber: 2170
    functionLinenumberEnd: 2177
    functionName: cJSON_ReplaceItemInArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ReplaceItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemInArray(cJSON *array, int which, cJSON *newitem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_free
      Src: /src/librdkafka/src/cJSON.c:2190,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:2193,1
    - Dst: cJSON_ReplaceItemViaPointer
      Src: /src/librdkafka/src/cJSON.c:2196,1
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:2197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - object
    - string
    - replacement
    - case_sensitive
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2179
    functionDepth: 3
    functionLinenumber: 2179
    functionLinenumberEnd: 2199
    functionName: replace_item_in_object
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_ReplaceItemViaPointer
    - get_object_item
    - cJSON_strdup
    - cJSON_free
    linkageType: ''
    returnType: cJSON_bool
    signature: "cJSON_bool replace_item_in_object(cJSON *object,\n                                         const
      char *string,\n                                         cJSON *replacement,\n
      \                                        cJSON_bool case_sensitive)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/librdkafka/src/cJSON.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2202
    functionDepth: 4
    functionLinenumber: 2202
    functionLinenumberEnd: 2204
    functionName: cJSON_ReplaceItemInObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: void cJSON_ReplaceItemInObject(cJSON *object, const char *string, cJSON
      *newitem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/librdkafka/src/cJSON.c:2210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - cJSON*
    - char*
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2207
    functionDepth: 4
    functionLinenumber: 2207
    functionLinenumberEnd: 2211
    functionName: cJSON_ReplaceItemInObjectCaseSensitive
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: void
    signature: "void cJSON_ReplaceItemInObjectCaseSensitive(cJSON *object,\n                                       const
      char *string,\n                                       cJSON *newitem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2221
    functionName: cJSON_CreateNull
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateNull(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2223
    functionDepth: 1
    functionLinenumber: 2223
    functionLinenumberEnd: 2230
    functionName: cJSON_CreateTrue
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateTrue(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2239
    functionName: cJSON_CreateFalse
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateFalse(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - boolean
    argTypes:
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2241
    functionDepth: 1
    functionLinenumber: 2241
    functionLinenumberEnd: 2248
    functionName: cJSON_CreateBool
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateBool(cJSON_bool boolean)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2251,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2267
    functionName: cJSON_CreateNumber
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateNumber(double num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2270,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:2273,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2269
    functionDepth: 2
    functionLinenumber: 2269
    functionLinenumberEnd: 2282
    functionName: cJSON_CreateString
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    - cJSON_Delete
    - cJSON_strdup
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateString(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2285,1
    - Dst: cast_away_const
      Src: /src/librdkafka/src/cJSON.c:2288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2284
    functionDepth: 1
    functionLinenumber: 2284
    functionLinenumberEnd: 2292
    functionName: cJSON_CreateStringReference
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_New_Item
    - cast_away_const
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateStringReference(const char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2295,1
    - Dst: cast_away_const
      Src: /src/librdkafka/src/cJSON.c:2298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - child
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2294
    functionDepth: 1
    functionLinenumber: 2294
    functionLinenumberEnd: 2302
    functionName: cJSON_CreateObjectReference
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_New_Item
    - cast_away_const
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateObjectReference(const cJSON *child)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2305,1
    - Dst: cast_away_const
      Src: /src/librdkafka/src/cJSON.c:2308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - child
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2304
    functionDepth: 1
    functionLinenumber: 2304
    functionLinenumberEnd: 2312
    functionName: cJSON_CreateArrayReference
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_New_Item
    - cast_away_const
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateArrayReference(const cJSON *child)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2315,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:2318,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - raw
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2314
    functionDepth: 2
    functionLinenumber: 2314
    functionLinenumberEnd: 2327
    functionName: cJSON_CreateRaw
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    - cJSON_Delete
    - cJSON_strdup
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateRaw(const char *raw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2329
    functionDepth: 1
    functionLinenumber: 2329
    functionLinenumberEnd: 2336
    functionName: cJSON_CreateArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateArray(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2338
    functionDepth: 1
    functionLinenumber: 2338
    functionLinenumberEnd: 2345
    functionName: cJSON_CreateObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_New_Item
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateObject(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/librdkafka/src/cJSON.c:2358,1
    - Dst: cJSON_CreateNumber
      Src: /src/librdkafka/src/cJSON.c:2360,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2362,1
    - Dst: suffix_object
      Src: /src/librdkafka/src/cJSON.c:2368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2348
    functionDepth: 2
    functionLinenumber: 2348
    functionLinenumberEnd: 2375
    functionName: cJSON_CreateIntArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - suffix_object
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateIntArray(const int *numbers, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/librdkafka/src/cJSON.c:2387,1
    - Dst: cJSON_CreateNumber
      Src: /src/librdkafka/src/cJSON.c:2390,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2392,1
    - Dst: suffix_object
      Src: /src/librdkafka/src/cJSON.c:2398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2377
    functionDepth: 2
    functionLinenumber: 2377
    functionLinenumberEnd: 2405
    functionName: cJSON_CreateFloatArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - suffix_object
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateFloatArray(const float *numbers, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/librdkafka/src/cJSON.c:2418,1
    - Dst: cJSON_CreateNumber
      Src: /src/librdkafka/src/cJSON.c:2421,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2423,1
    - Dst: suffix_object
      Src: /src/librdkafka/src/cJSON.c:2429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2408
    functionDepth: 2
    functionLinenumber: 2408
    functionLinenumberEnd: 2436
    functionName: cJSON_CreateDoubleArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateNumber
    - suffix_object
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateDoubleArray(const double *numbers, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/librdkafka/src/cJSON.c:2449,1
    - Dst: cJSON_CreateString
      Src: /src/librdkafka/src/cJSON.c:2452,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2454,1
    - Dst: suffix_object
      Src: /src/librdkafka/src/cJSON.c:2460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - strings
    - count
    argTypes:
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2439
    functionDepth: 3
    functionLinenumber: 2439
    functionLinenumberEnd: 2467
    functionName: cJSON_CreateStringArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Delete
    - cJSON_CreateString
    - suffix_object
    - cJSON_CreateArray
    linkageType: ''
    returnType: void
    signature: void cJSON_CreateStringArray(const char *const *strings, int count)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_New_Item
      Src: /src/librdkafka/src/cJSON.c:2481,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:2490,1
    - Dst: cJSON_strdup
      Src: /src/librdkafka/src/cJSON.c:2500,1
    - Dst: cJSON_Duplicate
      Src: /src/librdkafka/src/cJSON.c:2513,1
    - Dst: cJSON_Delete
      Src: /src/librdkafka/src/cJSON.c:2540,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - item
    - recurse
    argTypes:
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2470
    functionDepth: 2
    functionLinenumber: 2470
    functionLinenumberEnd: 2544
    functionName: cJSON_Duplicate
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached:
    - cJSON_New_Item
    - cJSON_Duplicate
    - cJSON_strdup
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: void cJSON_Duplicate(const cJSON *item, cJSON_bool recurse)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2547,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2555
      start: 2546
    functionDepth: 1
    functionLinenumber: 2546
    functionLinenumberEnd: 2555
    functionName: skip_oneline_comment
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void skip_oneline_comment(char **input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2558,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2557
    functionDepth: 1
    functionLinenumber: 2557
    functionLinenumberEnd: 2566
    functionName: skip_multiline_comment
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void skip_multiline_comment(char **input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2570,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2571,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2579,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2580,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2584,1
    - Dst: static_strlen
      Src: /src/librdkafka/src/cJSON.c:2585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2568
    functionDepth: 1
    functionLinenumber: 2568
    functionLinenumberEnd: 2588
    functionName: minify_string
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - static_strlen
    linkageType: ''
    returnType: void
    signature: void minify_string(char **input, char **output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: skip_oneline_comment
      Src: /src/librdkafka/src/cJSON.c:2608,1
    - Dst: skip_multiline_comment
      Src: /src/librdkafka/src/cJSON.c:2610,1
    - Dst: minify_string
      Src: /src/librdkafka/src/cJSON.c:2617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2590
    functionDepth: 2
    functionLinenumber: 2590
    functionLinenumberEnd: 2629
    functionName: cJSON_Minify
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - skip_oneline_comment
    - skip_multiline_comment
    - minify_string
    linkageType: ''
    returnType: void
    signature: void cJSON_Minify(char *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2637
    functionName: cJSON_IsInvalid
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsInvalid(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2645
    functionName: cJSON_IsFalse
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsFalse(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2653
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2653
    functionName: cJSON_IsTrue
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsTrue(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2656
    functionDepth: 0
    functionLinenumber: 2656
    functionLinenumberEnd: 2662
    functionName: cJSON_IsBool
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsBool(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2669
    functionName: cJSON_IsNull
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsNull(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2677
    functionName: cJSON_IsNumber
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsNumber(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2679
    functionDepth: 0
    functionLinenumber: 2679
    functionLinenumberEnd: 2685
    functionName: cJSON_IsString
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsString(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2693
    functionName: cJSON_IsArray
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsArray(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2695
    functionDepth: 0
    functionLinenumber: 2695
    functionLinenumberEnd: 2701
    functionName: cJSON_IsObject
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsObject(const cJSON *const item)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - cJSON*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2709
    functionName: cJSON_IsRaw
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cJSON_IsRaw(const cJSON *const item)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsInvalid
      Src: /src/librdkafka/src/cJSON.c:2716,1
    - Dst: compare_double
      Src: /src/librdkafka/src/cJSON.c:2749,1
    - Dst: strcmp
      Src: /src/librdkafka/src/cJSON.c:2759,1
    - Dst: cJSON_Compare
      Src: /src/librdkafka/src/cJSON.c:2770,1
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:2792,1
    - Dst: cJSON_Compare
      Src: /src/librdkafka/src/cJSON.c:2798,1
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:2808,1
    - Dst: cJSON_Compare
      Src: /src/librdkafka/src/cJSON.c:2814,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - cJSON*
    - cJSON*
    - cJSON_bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2712
    functionDepth: 2
    functionLinenumber: 2712
    functionLinenumberEnd: 2826
    functionName: cJSON_Compare
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 1
    functionsReached:
    - strcmp
    - cJSON_Compare
    - cJSON_IsInvalid
    - compare_double
    - get_object_item
    linkageType: ''
    returnType: void
    signature: "void cJSON_Compare(const cJSON *const a,\n              const cJSON
      *const b,\n              const cJSON_bool case_sensitive)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:2792,1
    - Dst: cJSON_Compare
      Src: /src/librdkafka/src/cJSON.c:2798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2790
    functionDepth: 3
    functionLinenumber: 2790
    functionLinenumberEnd: 2802
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Compare
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(a_element, a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/librdkafka/src/cJSON.c:2808,1
    - Dst: cJSON_Compare
      Src: /src/librdkafka/src/cJSON.c:2814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2807
    functionDepth: 3
    functionLinenumber: 2807
    functionLinenumberEnd: 2818
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - cJSON_Compare
    - get_object_item
    linkageType: ''
    returnType: void
    signature: void cJSON_ArrayForEach(b_element, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocate
      Src: /src/librdkafka/src/cJSON.c:2829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2830
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2830
    functionName: cJSON_malloc
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 0
    functionsReached:
    - allocate
    linkageType: ''
    returnType: void
    signature: void cJSON_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deallocate
      Src: /src/librdkafka/src/cJSON.c:2833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2834
    functionName: cJSON_free
    functionSourceFile: /src/librdkafka/src/cJSON.c
    functionUses: 2
    functionsReached:
    - deallocate
    linkageType: ''
    returnType: void
    signature: void cJSON_free(void *object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:104,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_assignment.c:109,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_assignment.c:112,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_assignment.c:115,1
    - Dst: rd_kafka_topic_partition_list_log
      Src: /src/librdkafka/src/rdkafka_assignment.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 120
    functionName: rd_kafka_assignment_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_log
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_dump(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:141,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:143,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:146,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:160,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:166,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:188,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:195,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_assignment.c:200,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:206,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:222,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:227,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:229,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_assignment.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - offsets
    - err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 239
    functionName: rd_kafka_assignment_apply_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_consumer_err
    - rd_kafka_offset2str
    - rd_kafka_assignment_serve
    - rd_kafka_err2str
    - rd_kafka_topic_partition_toppar
    - rd_kafka_topic_partition_list_del
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assignment_apply_offsets(rd_kafka_t *rk,\n                                  rd_kafka_topic_partition_list_t
      *offsets,\n                                  rd_kafka_resp_err_t err)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:141,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:143,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:146,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:160,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:166,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:188,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:195,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_assignment.c:200,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:206,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:222,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:227,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 233
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 5
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_consumer_err
    - rd_kafka_offset2str
    - rd_kafka_err2str
    - rd_kafka_topic_partition_toppar
    - rd_kafka_topic_partition_list_del
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, offsets)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignment.c:266,1
    - Dst: rd_kafka_handle_OffsetFetch
      Src: /src/librdkafka/src/rdkafka_assignment.c:270,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:275,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_assignment.c:279,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_assignment.c:284,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:288,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:289,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_assignment.c:290,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_assignment.c:291,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:296,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_assignment.c:306,1
    - Dst: rd_kafka_cgrp_consumer_expedite_next_heartbeat
      Src: /src/librdkafka/src/rdkafka_assignment.c:311,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:315,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:318,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_assignment.c:319,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_assignment.c:320,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:325,1
    - Dst: rd_kafka_assignment_apply_offsets
      Src: /src/librdkafka/src/rdkafka_assignment.c:330,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:332,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 333
    functionName: rd_kafka_assignment_handle_OffsetFetch
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_apply_offsets
    - rd_free
    - rd_kafka_consumer_err
    - rd_kafka_broker_id
    - rd_kafka_err2str
    - rd_dassert
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_handle_OffsetFetch
    - rd_kafka_cgrp_consumer_expedite_next_heartbeat
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assignment_handle_OffsetFetch(rd_kafka_t *rk,\n                                                   rd_kafka_broker_t
      *rkb,\n                                                   rd_kafka_resp_err_t
      err,\n                                                   rd_kafka_buf_t *reply,\n
      \                                                  rd_kafka_buf_t *request,\n
      \                                                  void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_assignment.c:345,1
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:347,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:355,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:358,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:364,1
    - Dst: rd_kafka_toppar_op_fetch_stop
      Src: /src/librdkafka/src/rdkafka_assignment.c:366,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_assignment.c:367,1
    - Dst: rd_kafka_toppar_op_pause_resume
      Src: /src/librdkafka/src/rdkafka_assignment.c:373,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_assignment.c:377,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka_assignment.c:381,1
    - Dst: rd_kafka_topic_partition_set_metadata_from_rktp_stored
      Src: /src/librdkafka/src/rdkafka_assignment.c:383,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_assignment.c:385,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_assignment.c:391,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_assignment.c:392,1
    - Dst: rd_kafka_toppar_desired_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:396,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:398,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_assignment.c:401,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:403,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_assignment.c:409,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_assignment.c:410,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_assignment.c:410,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:411,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:414,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka_assignment.c:425,1
    - Dst: rd_kafka_cgrp_assigned_offsets_commit
      Src: /src/librdkafka/src/rdkafka_assignment.c:426,1
    - Dst: rd_kafka_topic_partition_list_clear
      Src: /src/librdkafka/src/rdkafka_assignment.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 341
    functionDepth: 4
    functionLinenumber: 341
    functionLinenumberEnd: 435
    functionName: rd_kafka_assignment_serve_removals
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_list_clear
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_topic_partition_list_del
    - RD_STR_ToF
    - rd_kafka_cgrp_assigned_offsets_commit
    - rd_kafka_topic_partition_ensure_toppar
    - rd_kafka_topic_partition_set_metadata_from_rktp_stored
    - RD_KAFKA_REPLYQ
    - rd_kafka_toppar_unlock
    - RD_KAFKA_FETCH_POS
    - rd_kafka_toppar_op_pause_resume
    - rd_kafka_toppar_op_fetch_stop
    - rd_kafka_offset_store0
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_kafka_offset2str
    - rd_kafka_toppar_desired_del
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - RD_KAFKA_TPLIST_FOREACH
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignment_serve_removals(rd_kafka_t *rk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get_coord
      Src: /src/librdkafka/src/rdkafka_assignment.c:458,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:465,1
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:474,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:476,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_assignment.c:478,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:493,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_assignment.c:497,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_assignment.c:498,1
    - Dst: rd_kafka_toppar_op_pause_resume
      Src: /src/librdkafka/src/rdkafka_assignment.c:503,1
    - Dst: rd_kafka_toppar_op_fetch_start
      Src: /src/librdkafka/src/rdkafka_assignment.c:511,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_assignment.c:513,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_assignment.c:524,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignment.c:524,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:528,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:531,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:534,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:541,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_assignment.c:561,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:568,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_assignment.c:575,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:578,1
    - Dst: rd_kafka_OffsetFetchRequest
      Src: /src/librdkafka/src/rdkafka_assignment.c:583,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_assignment.c:589,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:596,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 447
    functionDepth: 9
    functionLinenumber: 447
    functionLinenumberEnd: 602
    functionName: rd_kafka_assignment_serve_pending
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_OffsetFetchRequest
    - rd_assert
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_toppar_op_fetch_start
    - rd_kafka_topic_partition_list_del_by_idx
    - rd_kafka_cgrp_get_coord
    - rd_kafka_topic_partition_ensure_toppar
    - RD_KAFKA_REPLYQ
    - rd_kafka_topic_partition_list_new
    - rd_dassert
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_fetch_pos2str
    - rd_kafka_toppar_op_pause_resume
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_broker_destroy
    - rd_malloc
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignment_serve_pending(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment_dump
      Src: /src/librdkafka/src/rdkafka_assignment.c:618,1
    - Dst: rd_kafka_assignment_serve_removals
      Src: /src/librdkafka/src/rdkafka_assignment.c:622,1
    - Dst: rd_kafka_assignment_serve_pending
      Src: /src/librdkafka/src/rdkafka_assignment.c:632,1
    - Dst: rd_kafka_cgrp_assignment_done
      Src: /src/librdkafka/src/rdkafka_assignment.c:645,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 614
    functionDepth: 10
    functionLinenumber: 614
    functionLinenumberEnd: 657
    functionName: rd_kafka_assignment_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 9
    functionsReached:
    - rd_kafka_assignment_dump
    - rd_kafka_assignment_serve_removals
    - rd_kafka_cgrp_assignment_done
    - rd_kafka_assignment_serve_pending
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_serve(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: rd_kafka_assignment_in_progress
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_assignment_in_progress(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:685,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:690,1
    - Dst: rd_kafka_topic_partition_list_clear
      Src: /src/librdkafka/src/rdkafka_assignment.c:694,1
    - Dst: rd_kafka_topic_partition_list_clear
      Src: /src/librdkafka/src/rdkafka_assignment.c:695,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_assignment.c:697,1
    - Dst: rd_kafka_topic_partition_list_clear
      Src: /src/librdkafka/src/rdkafka_assignment.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 704
    functionName: rd_kafka_assignment_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 4
    functionsReached:
    - rd_kafka_topic_partition_list_clear
    - rd_kafka_topic_partition_list_add_list
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_assignment_clear(rd_kafka_t *rk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_assignment.c:724,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_assignment.c:731,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:737,1
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_assignment.c:743,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:744,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignment.c:749,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:752,1
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:771,1
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:780,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_assignment.c:782,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:784,1
    - Dst: rd_kafka_offset_store0
      Src: /src/librdkafka/src/rdkafka_assignment.c:789,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_assignment.c:790,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_assignment.c:793,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_assignment.c:800,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_assignment.c:803,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_assignment.c:807,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 822
    functionName: rd_kafka_assignment_add
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_list_add_list
    - rd_kafka_error_new
    - rd_kafka_topic_partition_cmp
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    - rd_kafka_topic_partition_ensure_toppar
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_list_sort
    - RD_KAFKA_FETCH_POS
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_offset_store0
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_assignment_add(rd_kafka_t *rk,\n                        rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:842,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_assignment.c:848,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_assignment.c:853,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:856,1
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_assignment.c:863,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:876,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka_assignment.c:879,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:884,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_assignment.c:889,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_assignment.c:895,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:899,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:908,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 915
    functionName: rd_kafka_assignment_subtract
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_assert
    - RD_BUG
    - rd_kafka_error_new
    - rd_kafka_topic_partition_ensure_toppar
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_list_sort
    - rd_kafka_topic_partition_list_del
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_assignment_subtract(rd_kafka_t *rk,\n
      \                            rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:923,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:926,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_assignment.c:929,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:935,1
    - Dst: rd_kafka_assignment_serve
      Src: /src/librdkafka/src/rdkafka_assignment.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - rktp
    argTypes:
    - rd_kafka_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 921
    functionDepth: 11
    functionLinenumber: 921
    functionLinenumberEnd: 940
    functionName: rd_kafka_assignment_partition_stopped
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_serve
    - rd_assert
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_assignment_partition_stopped(rd_kafka_t *rk,\n                                           rd_kafka_toppar_t
      *rktp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:954,1
    - Dst: rd_kafka_toppars_pause_resume
      Src: /src/librdkafka/src/rdkafka_assignment.c:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - reason
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 961
    functionName: rd_kafka_assignment_pause
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppars_pause_resume
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_pause(rd_kafka_t *rk, const char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_assignment.c:972,1
    - Dst: rd_kafka_toppars_pause_resume
      Src: /src/librdkafka/src/rdkafka_assignment.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - reason
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 979
    functionName: rd_kafka_assignment_resume
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 4
    functionsReached:
    - rd_kafka_toppars_pause_resume
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_resume(rd_kafka_t *rk, const char *reason)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:989,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:990,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:992,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_assignment.c:994,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: rd_kafka_assignment_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_destroy(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:1003,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:1005,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:1007,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_assignment.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1010
    functionName: rd_kafka_assignment_init
    functionSourceFile: /src/librdkafka/src/rdkafka_assignment.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_assignment_init(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - h
    - ','
    - k
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: MM_MIX
    functionSourceFile: /src/librdkafka/src/rdmurmur2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_MIX(h, k, m)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdmurmur2.c:64,1
    - Dst: htole32
      Src: /src/librdkafka/src/rdmurmur2.c:69,1
    - Dst: MM_MIX
      Src: /src/librdkafka/src/rdmurmur2.c:71,1
    - Dst: MM_MIX
      Src: /src/librdkafka/src/rdmurmur2.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 118
    functionName: rd_murmur2
    functionSourceFile: /src/librdkafka/src/rdmurmur2.c
    functionUses: 3
    functionsReached:
    - htole32
    - likely
    - MM_MIX
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rd_murmur2(const void *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdmurmur2.c:158,1
    - Dst: rd_murmur2
      Src: /src/librdkafka/src/rdmurmur2.c:159,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdmurmur2.c:160,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmurmur2.c:161,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdmurmur2.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 167
    functionName: unittest_murmur2
    functionSourceFile: /src/librdkafka/src/rdmurmur2.c
    functionUses: 0
    functionsReached:
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_murmur2
    - strlen
    linkageType: ''
    returnType: int
    signature: int unittest_murmur2(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: rd_kafka_msg_enq_time
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_msg_enq_time(rkm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.h:179,1
    - Dst: rd_kafka_headers_serialized_size
      Src: /src/librdkafka/src/rdkafka_msg.h:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rkm
    - MsgVersion
    argTypes:
    - rd_kafka_msg_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: rd_kafka_msg_wire_size
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_kafka_headers_serialized_size
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msg_wire_size(const rd_kafka_msg_t *rkm, int MsgVersion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - keylen
    - valuelen
    - hdrslen
    argTypes:
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: rd_kafka_msg_max_wire_size
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msg_max_wire_size(size_t keylen,\n                                                             size_t
      valuelen,\n                                                             size_t
      hdrslen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: rd_kafka_message2msg
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_message2msg(rd_kafka_message_t *rkmessage)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkmq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: RD_KAFKA_MSGQ_INITIALIZER
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_MSGQ_INITIALIZER(rkmq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: RD_KAFKA_MSGQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_MSGQ_FOREACH(elm, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkmq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: RD_KAFKA_MSGQ_EMPTY
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_MSGQ_EMPTY(rkmq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: rd_kafka_msgq_len
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_len(const rd_kafka_msgq_t *rkmq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: rd_kafka_msgq_size
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_size(const rd_kafka_msgq_t *rkmq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_msg.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: rd_kafka_msgq_init
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 8
    functionsReached:
    - TAILQ_INIT
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_init(rd_kafka_msgq_t *rkmq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rktp
    - ','
    - rkmq
    - ','
    - exp_first_msgid
    - ','
    - gapless
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: rd_kafka_msgq_verify_order
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_msgq_verify_order(rktp, rkmq, exp_first_msgid, gapless)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rktp
    - ','
    - rkmq
    - ','
    - exp_first_msgid
    - ','
    - gapless
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 282
    functionName: rd_kafka_msgq_verify_order
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_msgq_verify_order(rktp, rkmq, exp_first_msgid, gapless)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_CONCAT
      Src: /src/librdkafka/src/rdkafka_msg.h:299,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.h:302,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: rd_kafka_msgq_concat
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_init
    - TAILQ_CONCAT
    - rd_kafka_msgq_verify_order
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_concat(rd_kafka_msgq_t *dst,\n                                                     rd_kafka_msgq_t
      *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_MOVE
      Src: /src/librdkafka/src/rdkafka_msg.h:312,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.h:315,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: rd_kafka_msgq_move
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 3
    functionsReached:
    - rd_kafka_msgq_init
    - TAILQ_MOVE
    - rd_kafka_msgq_verify_order
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_move(rd_kafka_msgq_t *dst,\n                                                   rd_kafka_msgq_t
      *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_concat
      Src: /src/librdkafka/src/rdkafka_msg.h:328,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_msg.h:329,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msg.h:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: rd_kafka_msgq_prepend
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - rd_kafka_msgq_move
    - rd_kafka_msgq_verify_order
    - rd_kafka_msgq_concat
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_prepend(rd_kafka_msgq_t *dst,\n                                                      rd_kafka_msgq_t
      *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msg.h:341,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_msg.h:344,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_msg.h:346,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_msg.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - rkmq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: rd_kafka_msgq_purge
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 6
    functionsReached:
    - TAILQ_NEXT
    - rd_kafka_msgq_init
    - rd_kafka_msg_destroy
    - TAILQ_FIRST
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_purge(rd_kafka_t *rk,\n                                                    rd_kafka_msgq_t
      *rkmq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msg.h:358,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msg.h:359,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msg.h:360,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_msg.h:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rkmq
    - rkm
    - do_count
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 370
    functionName: rd_kafka_msgq_deq
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 2
    functionsReached:
    - rd_kafka_assert
    - TAILQ_REMOVE
    - likely
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_msgq_deq(rd_kafka_msgq_t *rkmq, rd_kafka_msg_t *rkm, int do_count)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msg.h:376,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_msg.h:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: rd_kafka_msgq_pop
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 1
    functionsReached:
    - rd_kafka_msgq_deq
    - TAILQ_FIRST
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_msgq_pop(rd_kafka_msgq_t *rkmq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msg.h:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: rd_kafka_msgq_first
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 9
    functionsReached:
    - TAILQ_FIRST
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_msgq_first(const rd_kafka_msgq_t *rkmq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdkafka_msg.h:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: rd_kafka_msgq_last
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 4
    functionsReached:
    - TAILQ_LAST
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_msgq_last(const rd_kafka_msgq_t *rkmq)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msg.h:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkmq
    argTypes:
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: rd_kafka_msgq_first_msgid
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - TAILQ_FIRST
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_first_msgid(const rd_kafka_msgq_t *rkmq)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - rkmq
    - now
    argTypes:
    - rd_kafka_msgq_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 453
    functionName: rd_kafka_msgq_may_wakeup
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_may_wakeup(const rd_kafka_msgq_t *rkmq, rd_ts_t
      now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.h:463,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_msg.h:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: rd_kafka_msg_cmp_msgid
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - rd_dassert
    - RD_CMP
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msg_cmp_msgid(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msg.h:476,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_msg.h:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: rd_kafka_msg_cmp_msgid_lifo
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - rd_dassert
    - RD_CMP
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msg_cmp_msgid_lifo(const void *_a,\n                                                 const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_msg.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkmq
    - rkm
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: rd_kafka_msgq_insert
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_HEAD
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_insert(rd_kafka_msgq_t *rkmq,\n                                                     rd_kafka_msg_t
      *rkm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_msg.h:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkmq
    - rkm
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 520
    functionName: rd_kafka_msgq_enq
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 6
    functionsReached:
    - TAILQ_INSERT_TAIL
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgq_enq(rd_kafka_msgq_t *rkmq,\n                                                 rd_kafka_msg_t
      *rkm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_msg.h:530,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_msg.h:530,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.h:533,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msg.h:534,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_msg.h:535,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_msg.h:536,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: rd_kafka_msgq_overlap
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 0
    functionsReached:
    - RD_KAFKA_MSGQ_EMPTY
    - rd_kafka_msgq_last
    - rd_kafka_msgq_first
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgq_overlap(const rd_kafka_msgq_t *a, const rd_kafka_msgq_t
      *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - seq
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 596
    functionName: rd_kafka_seq_wrap
    functionSourceFile: /src/librdkafka/src/rdkafka_msg.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_seq_wrap(int64_t seq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdatomic.h:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: rd_atomic32_init
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 17
    functionsReached:
    - mtx_init
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_atomic32_init(rd_atomic32_t *ra, int32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/librdkafka/src/rdatomic.h:59,1
    - Dst: InterlockedAdd
      Src: /src/librdkafka/src/rdatomic.h:61,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:64,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:67,1
    - Dst: ATOMIC_OP32
      Src: /src/librdkafka/src/rdatomic.h:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: rd_atomic32_add
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 29
    functionsReached:
    - mtx_lock
    - InterlockedAdd
    - atomic_add_32_nv
    - mtx_unlock
    - ATOMIC_OP32
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic32_add(rd_atomic32_t *ra,\n                                                   int32_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_32_nv
      Src: /src/librdkafka/src/rdatomic.h:77,1
    - Dst: InterlockedAdd
      Src: /src/librdkafka/src/rdatomic.h:79,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:82,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:85,1
    - Dst: ATOMIC_OP32
      Src: /src/librdkafka/src/rdatomic.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: rd_atomic32_sub
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 10
    functionsReached:
    - mtx_lock
    - InterlockedAdd
    - atomic_add_32_nv
    - mtx_unlock
    - ATOMIC_OP32
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic32_sub(rd_atomic32_t *ra,\n                                                   int32_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:105,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:107,1
    - Dst: ATOMIC_OP32
      Src: /src/librdkafka/src/rdatomic.h:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - rd_atomic32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: rd_atomic32_get
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 51
    functionsReached:
    - mtx_unlock
    - ATOMIC_OP32
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_atomic32_get(rd_atomic32_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchange
      Src: /src/librdkafka/src/rdatomic.h:121,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:124,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:127,1
    - Dst: __atomic_exchange_n
      Src: /src/librdkafka/src/rdatomic.h:130,1
    - Dst: __sync_lock_test_and_set
      Src: /src/librdkafka/src/rdatomic.h:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: rd_atomic32_set
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 11
    functionsReached:
    - mtx_lock
    - InterlockedExchange
    - __atomic_exchange_n
    - __sync_lock_test_and_set
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic32_set(rd_atomic32_t *ra,\n                                                   int32_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdatomic.h:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: rd_atomic64_init
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 2
    functionsReached:
    - mtx_init
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_atomic64_init(rd_atomic64_t *ra, int64_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64_nv
      Src: /src/librdkafka/src/rdatomic.h:150,1
    - Dst: InterlockedAdd64
      Src: /src/librdkafka/src/rdatomic.h:152,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:155,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:158,1
    - Dst: ATOMIC_OP64
      Src: /src/librdkafka/src/rdatomic.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: rd_atomic64_add
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 10
    functionsReached:
    - mtx_lock
    - atomic_add_64_nv
    - mtx_unlock
    - ATOMIC_OP64
    - InterlockedAdd64
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic64_add(rd_atomic64_t *ra,\n                                                   int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_64_nv
      Src: /src/librdkafka/src/rdatomic.h:168,1
    - Dst: InterlockedAdd64
      Src: /src/librdkafka/src/rdatomic.h:170,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:173,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:176,1
    - Dst: ATOMIC_OP64
      Src: /src/librdkafka/src/rdatomic.h:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 181
    functionName: rd_atomic64_sub
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 0
    functionsReached:
    - mtx_lock
    - atomic_add_64_nv
    - mtx_unlock
    - ATOMIC_OP64
    - InterlockedAdd64
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic64_sub(rd_atomic64_t *ra,\n                                                   int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedCompareExchange64
      Src: /src/librdkafka/src/rdatomic.h:194,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:197,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:199,1
    - Dst: ATOMIC_OP64
      Src: /src/librdkafka/src/rdatomic.h:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ra
    argTypes:
    - rd_atomic64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: rd_atomic64_get
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 5
    functionsReached:
    - mtx_unlock
    - InterlockedCompareExchange64
    - ATOMIC_OP64
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_atomic64_get(rd_atomic64_t *ra)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchange64
      Src: /src/librdkafka/src/rdatomic.h:213,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdatomic.h:216,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdatomic.h:219,1
    - Dst: __atomic_exchange_n
      Src: /src/librdkafka/src/rdatomic.h:222,1
    - Dst: __sync_lock_test_and_set
      Src: /src/librdkafka/src/rdatomic.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ra
    - v
    argTypes:
    - rd_atomic64_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: rd_atomic64_set
    functionSourceFile: /src/librdkafka/src/rdatomic.h
    functionUses: 7
    functionsReached:
    - mtx_lock
    - __atomic_exchange_n
    - __sync_lock_test_and_set
    - InterlockedExchange64
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_atomic64_set(rd_atomic64_t *ra,\n                                                   int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: expect
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect(expr,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: expect
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: expect(expr,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: likely
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 172
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: unlikely
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 144
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: ALLOC
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: ALLOC_AND_ZERO
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_AND_ZERO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: FREEMEM
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEMEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: ALLOC
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: ALLOC_AND_ZERO
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_AND_ZERO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: FREEMEM
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEMEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: ALLOC
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: ALLOC_AND_ZERO
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_AND_ZERO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: FREEMEM
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEMEM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: LZ4_memset
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_memset(p,v,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: MEM_INIT
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INIT(p,v,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: assert
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 277
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: LZ4_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_STATIC_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: DEBUGLOG
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGLOG(l, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: DEBUGLOG
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGLOG(l, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - alignment
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: LZ4_isAligned
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_isAligned(const void* ptr, size_t alignment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 353
    functionName: LZ4_memcpy
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_memcpy(dst, src, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: LZ4_memcpy
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_memcpy(dst, src, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: LZ4_isLittleEndian
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4_isLittleEndian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 376
    functionName: LZ4_read16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U16
    signature: U16 LZ4_read16(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 377
    functionName: LZ4_read32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 LZ4_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 378
    functionName: LZ4_read_ARCH
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reg_t
    signature: reg_t LZ4_read_ARCH(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 380
    functionName: LZ4_write16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_write16(void* memPtr, U16 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 381
    functionName: LZ4_write32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_write32(void* memPtr, U32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 389
    functionName: LZ4_read16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U16
    signature: U16 LZ4_read16(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: LZ4_read32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 LZ4_read32(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 391
    functionName: LZ4_read_ARCH
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: reg_t
    signature: reg_t LZ4_read_ARCH(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: LZ4_write16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_write16(void* memPtr, U16 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: LZ4_write32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_write32(void* memPtr, U32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: LZ4_read16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: U16
    signature: U16 LZ4_read16(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: LZ4_read32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: U32
    signature: U32 LZ4_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: LZ4_read_ARCH
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: reg_t
    signature: reg_t LZ4_read_ARCH(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: LZ4_write16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: void
    signature: void LZ4_write16(void* memPtr, U16 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: LZ4_write32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: void
    signature: void LZ4_write32(void* memPtr, U32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_isLittleEndian
      Src: /src/librdkafka/src/lz4.c:428,1
    - Dst: LZ4_read16
      Src: /src/librdkafka/src/lz4.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 434
    functionName: LZ4_readLE16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_read16
    - LZ4_isLittleEndian
    linkageType: ''
    returnType: U16
    signature: U16 LZ4_readLE16(const void* memPtr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_isLittleEndian
      Src: /src/librdkafka/src/lz4.c:438,1
    - Dst: LZ4_write16
      Src: /src/librdkafka/src/lz4.c:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - memPtr
    - value
    argTypes:
    - void*
    - U16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 445
    functionName: LZ4_writeLE16
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_isLittleEndian
    - LZ4_write16
    linkageType: ''
    returnType: void
    signature: void LZ4_writeLE16(void* memPtr, U16 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dstPtr
    - srcPtr
    - dstEnd
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: LZ4_wildCopy8
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_wildCopy8(void* dstPtr, const void* srcPtr, void*
      dstEnd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:482,1
    - Dst: LZ4_write32
      Src: /src/librdkafka/src/lz4.c:484,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:490,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:494,1
    - Dst: LZ4_wildCopy8
      Src: /src/librdkafka/src/lz4.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - dstPtr
    - srcPtr
    - dstEnd
    - offset
    argTypes:
    - BYTE*
    - BYTE*
    - BYTE*
    - size_t
    assertStmts:
    - condition: (srcPtr + offset == dstPtr)
      pos:
        line_end: 481
        line_start: 481
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 500
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 500
    functionName: LZ4_memcpy_using_offset_base
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    - assert
    - LZ4_write32
    - LZ4_wildCopy8
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_memcpy_using_offset_base(BYTE* dstPtr, const BYTE*
      srcPtr, BYTE* dstEnd, const size_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:512,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:512,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dstPtr
    - srcPtr
    - dstEnd
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: LZ4_wildCopy32
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_wildCopy32(void* dstPtr, const void* srcPtr, void*
      dstEnd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:523,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4.c:527,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:530,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:531,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:536,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:542,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:543,1
    - Dst: LZ4_memcpy_using_offset_base
      Src: /src/librdkafka/src/lz4.c:546,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:550,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - dstPtr
    - srcPtr
    - dstEnd
    - offset
    argTypes:
    - BYTE*
    - BYTE*
    - BYTE*
    - size_t
    assertStmts:
    - condition: (dstEnd >= dstPtr + MINMATCH)
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 556
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 556
    functionName: LZ4_memcpy_using_offset
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - assert
    - LZ4_memcpy_using_offset_base
    - LZ4_memcpy
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_memcpy_using_offset(BYTE* dstPtr, const BYTE*
      srcPtr, BYTE* dstEnd, const size_t offset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:565,1
    - Dst: LZ4_isLittleEndian
      Src: /src/librdkafka/src/lz4.c:566,1
    - Dst: __builtin_ia32_tzcnt_u64
      Src: /src/librdkafka/src/lz4.c:577,1
    - Dst: _tzcnt_u64
      Src: /src/librdkafka/src/lz4.c:580,1
    - Dst: _BitScanForward64
      Src: /src/librdkafka/src/lz4.c:584,1
    - Dst: __builtin_ctzll
      Src: /src/librdkafka/src/lz4.c:589,1
    - Dst: _BitScanForward
      Src: /src/librdkafka/src/lz4.c:598,1
    - Dst: __builtin_ctz
      Src: /src/librdkafka/src/lz4.c:603,1
    - Dst: __builtin_clzll
      Src: /src/librdkafka/src/lz4.c:614,1
    - Dst: __builtin_clz
      Src: /src/librdkafka/src/lz4.c:650,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 42
    argCount: 1
    argNames:
    - val
    argTypes:
    - reg_t
    assertStmts:
    - condition: (val != 0)
      pos:
        line_end: 564
        line_start: 564
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 659
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 659
    functionName: LZ4_NbCommonBytes
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - __builtin_ctz
    - __builtin_clzll
    - _BitScanForward64
    - __builtin_clz
    - LZ4_isLittleEndian
    - __builtin_ia32_tzcnt_u64
    - _tzcnt_u64
    - __builtin_ctzll
    - assert
    - _BitScanForward
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4_NbCommonBytes (reg_t val)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/lz4.c:668,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4.c:669,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4.c:669,1
    - Dst: LZ4_NbCommonBytes
      Src: /src/librdkafka/src/lz4.c:673,1
    - Dst: likely
      Src: /src/librdkafka/src/lz4.c:676,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4.c:677,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4.c:677,1
    - Dst: LZ4_NbCommonBytes
      Src: /src/librdkafka/src/lz4.c:679,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:683,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:683,1
    - Dst: LZ4_read16
      Src: /src/librdkafka/src/lz4.c:684,1
    - Dst: LZ4_read16
      Src: /src/librdkafka/src/lz4.c:684,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - pIn
    - pMatch
    - pInLimit
    argTypes:
    - BYTE*
    - BYTE*
    - BYTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 687
    functionName: LZ4_count
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_read_ARCH
    - LZ4_read16
    - LZ4_NbCommonBytes
    - likely
    - LZ4_read32
    linkageType: ''
    returnType: 'LZ4_FORCE_INLINE

      unsigned'
    signature: 'LZ4_FORCE_INLINE

      unsigned LZ4_count(const BYTE* pIn, const BYTE* pMatch, const BYTE* pInLimit)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 733
    functionName: LZ4_versionNumber
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_versionNumber (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 734
    functionName: LZ4_versionString
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * LZ4_versionString(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_COMPRESSBOUND
      Src: /src/librdkafka/src/lz4.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - isize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 735
    functionName: LZ4_compressBound
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_COMPRESSBOUND
    linkageType: ''
    returnType: int
    signature: int LZ4_compressBound(int isize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 736
    functionName: LZ4_sizeofState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_sizeofState(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sequence
    - tableType
    argTypes:
    - U32
    - tableType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 767
    functionName: LZ4_hash4
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_hash4(U32 sequence, tableType_t const tableType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_isLittleEndian
      Src: /src/librdkafka/src/lz4.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sequence
    - tableType
    argTypes:
    - U64
    - tableType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 779
    functionName: LZ4_hash5
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_isLittleEndian
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_hash5(U64 sequence, tableType_t const tableType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_hash5
      Src: /src/librdkafka/src/lz4.c:783,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4.c:783,1
    - Dst: LZ4_hash4
      Src: /src/librdkafka/src/lz4.c:784,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p
    - tableType
    argTypes:
    - void*
    - tableType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 785
    functionName: LZ4_hashPosition
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_read_ARCH
    - LZ4_hash4
    - LZ4_hash5
    - LZ4_read32
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_hashPosition(const void* const p, tableType_t
      const tableType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - h
    - tableBase
    - tableType
    argTypes:
    - U32
    - void*
    - tableType_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 791
        line_start: 791
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 797
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 797
    functionName: LZ4_clearHash
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_clearHash(U32 h, void* tableBase, tableType_t
      const tableType)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:805,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - idx
    - h
    - tableBase
    - tableType
    argTypes:
    - U32
    - U32
    - void*
    - tableType_t
    assertStmts:
    - condition: (0)
      pos:
        line_end: 804
        line_start: 804
        source_file: /src/librdkafka/src/lz4.c
    - condition: (idx < 65536)
      pos:
        line_end: 806
        line_start: 806
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: LZ4_putIndexOnHash
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_putIndexOnHash(U32 idx, U32 h, void* tableBase,
      tableType_t const tableType)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - p
    - h
    - tableBase
    - tableType
    - srcBase
    argTypes:
    - BYTE*
    - U32
    - void*
    - tableType_t
    - BYTE*
    assertStmts:
    - condition: (0)
      pos:
        line_end: 816
        line_start: 816
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 822
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 822
    functionName: LZ4_putPositionOnHash
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_putPositionOnHash(const BYTE* p, U32 h,\n                                  void*
      tableBase, tableType_t const tableType,\n                            const BYTE*
      srcBase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:826,1
    - Dst: LZ4_putPositionOnHash
      Src: /src/librdkafka/src/lz4.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - tableBase
    - tableType
    - srcBase
    argTypes:
    - BYTE*
    - void*
    - tableType_t
    - BYTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: LZ4_putPosition
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_putPositionOnHash
    - LZ4_hashPosition
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_putPosition(const BYTE* p, void* tableBase, tableType_t
      tableType, const BYTE* srcBase)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4.c:838,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:841,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:846,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - h
    - tableBase
    - tableType
    argTypes:
    - U32
    - void*
    - tableType_t
    assertStmts:
    - condition: (h < (1U << (LZ4_MEMORY_USAGE-1)))
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/librdkafka/src/lz4.c
    - condition: (0)
      pos:
        line_end: 848
        line_start: 848
        source_file: /src/librdkafka/src/lz4.c
    - condition: (h < (1U << (LZ4_MEMORY_USAGE-2)))
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 850
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 850
    functionName: LZ4_getIndexOnHash
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4_STATIC_ASSERT
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4_getIndexOnHash(U32 h, const void* tableBase, tableType_t
      tableType)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - h
    - tableBase
    - tableType
    - srcBase
    argTypes:
    - U32
    - void*
    - tableType_t
    - BYTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: LZ4_getPositionOnHash
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BYTE
    signature: BYTE * LZ4_getPositionOnHash(U32 h, const void* tableBase, tableType_t
      tableType, const BYTE* srcBase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:864,1
    - Dst: LZ4_getPositionOnHash
      Src: /src/librdkafka/src/lz4.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - tableBase
    - tableType
    - srcBase
    argTypes:
    - BYTE*
    - void*
    - tableType_t
    - BYTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 866
    functionName: LZ4_getPosition
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_hashPosition
    - LZ4_getPositionOnHash
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE *\nLZ4_getPosition(const BYTE* p,\n                const
      void* tableBase, tableType_t tableType,\n                const BYTE* srcBase)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:877,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:884,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4.c:885,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:889,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:899,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - cctx
    - inputSize
    - tableType
    argTypes:
    - LZ4_stream_t_internal*
    - int
    - tableType_t
    assertStmts:
    - condition: (inputSize >= 0)
      pos:
        line_end: 876
        line_start: 876
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 907
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 907
    functionName: LZ4_prepareTable
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - assert
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_prepareTable(LZ4_stream_t_internal* const cctx,\n
      \          const int inputSize,\n           const tableType_t tableType)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:963,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:964,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:969,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:970,1
    - Dst: LZ4_putPosition
      Src: /src/librdkafka/src/lz4.c:989,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:990,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1009,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1010,1
    - Dst: LZ4_getPositionOnHash
      Src: /src/librdkafka/src/lz4.c:1012,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:1013,1
    - Dst: LZ4_putPositionOnHash
      Src: /src/librdkafka/src/lz4.c:1014,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1017,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1017,1
    - Dst: LZ4_getIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1027,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1028,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1029,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1034,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1035,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1040,1
    - Dst: LZ4_getIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1041,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1051,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1052,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1053,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:1063,1
    - Dst: LZ4_putIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1064,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1066,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1068,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1073,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1075,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1075,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1085,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1091,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1095,1
    - Dst: LZ4_wildCopy8
      Src: /src/librdkafka/src/lz4.c:1108,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1110,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1132,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1133,1
    - Dst: LZ4_writeLE16
      Src: /src/librdkafka/src/lz4.c:1134,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1136,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1137,1
    - Dst: LZ4_writeLE16
      Src: /src/librdkafka/src/lz4.c:1138,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1147,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4.c:1149,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4.c:1152,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1156,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4.c:1158,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1160,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1164,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1169,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1171,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1178,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:1180,1
    - Dst: LZ4_clearHash
      Src: /src/librdkafka/src/lz4.c:1181,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1185,1
    - Dst: LZ4_write32
      Src: /src/librdkafka/src/lz4.c:1192,1
    - Dst: LZ4_write32
      Src: /src/librdkafka/src/lz4.c:1195,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1204,1
    - Dst: LZ4_putPosition
      Src: /src/librdkafka/src/lz4.c:1212,1
    - Dst: LZ4_getPosition
      Src: /src/librdkafka/src/lz4.c:1217,1
    - Dst: LZ4_putPosition
      Src: /src/librdkafka/src/lz4.c:1218,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1220,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1220,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:1225,1
    - Dst: LZ4_getIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1227,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1228,1
    - Dst: LZ4_getIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1232,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1242,1
    - Dst: LZ4_putIndexOnHash
      Src: /src/librdkafka/src/lz4.c:1252,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1253,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1256,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4.c:1256,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1260,1
    - Dst: LZ4_hashPosition
      Src: /src/librdkafka/src/lz4.c:1267,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1278,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1282,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1286,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:1295,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1304,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1305,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 270
    argCount: 11
    argNames:
    - cctx
    - source
    - dest
    - inputSize
    - inputConsumed
    - maxOutputSize
    - outputDirective
    - tableType
    - dictDirective
    - dictIssue
    - acceleration
    argTypes:
    - LZ4_stream_t_internal*
    - char*
    - char*
    - int
    - int*
    - int
    - limitedOutput_directive
    - tableType_t
    - dict_directive
    - dictIssue_directive
    - int
    assertStmts:
    - condition: ((current - matchIndex) <= LZ4_DISTANCE_MAX)
      pos:
        line_end: 1072
        line_start: 1072
        source_file: /src/librdkafka/src/lz4.c
    - condition: (!(outputDirective == fillOutput && op + 1 + LASTLITERALS > olimit))
      pos:
        line_end: 1203
        line_start: 1203
        source_file: /src/librdkafka/src/lz4.c
    - condition: (forwardIp - base < (ptrdiff_t)(2 GB - 1))
      pos:
        line_end: 1028
        line_start: 1028
        source_file: /src/librdkafka/src/lz4.c
    - condition: (matchIndex < current)
      pos:
        line_end: 1067
        line_start: 1067
        source_file: /src/librdkafka/src/lz4.c
    - condition: (outputDirective == limitedOutput)
      pos:
        line_end: 1281
        line_start: 1281
        source_file: /src/librdkafka/src/lz4.c
    - condition: (newMatchCode < matchCode)
      pos:
        line_end: 1168
        line_start: 1168
        source_file: /src/librdkafka/src/lz4.c
    - condition: (ip != NULL)
      pos:
        line_end: 963
        line_start: 963
        source_file: /src/librdkafka/src/lz4.c
    - condition: (olimit >= op)
      pos:
        line_end: 1277
        line_start: 1277
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictDirective==noDict)
      pos:
        line_end: 968
        line_start: 968
        source_file: /src/librdkafka/src/lz4.c
    - condition: (tableType == byU32)
      pos:
        line_end: 1039
        line_start: 1039
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictBase)
      pos:
        line_end: 1052
        line_start: 1052
        source_file: /src/librdkafka/src/lz4.c
    - condition: (acceleration >= 1)
      pos:
        line_end: 969
        line_start: 969
        source_file: /src/librdkafka/src/lz4.c
    - condition: (result > 0)
      pos:
        line_end: 1303
        line_start: 1303
        source_file: /src/librdkafka/src/lz4.c
    - condition: (offset <= LZ4_DISTANCE_MAX && offset > 0)
      pos:
        line_end: 1132
        line_start: 1132
        source_file: /src/librdkafka/src/lz4.c
    - condition: (ip < mflimitPlusOne)
      pos:
        line_end: 1009
        line_start: 1009
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictEnd > match)
      pos:
        line_end: 1146
        line_start: 1146
        source_file: /src/librdkafka/src/lz4.c
    - condition: (ip < mflimitPlusOne)
      pos:
        line_end: 1034
        line_start: 1034
        source_file: /src/librdkafka/src/lz4.c
    - condition: (ip-match <= LZ4_DISTANCE_MAX)
      pos:
        line_end: 1136
        line_start: 1136
        source_file: /src/librdkafka/src/lz4.c
    - condition: (outputDirective == limitedOutput)
      pos:
        line_end: 1184
        line_start: 1184
        source_file: /src/librdkafka/src/lz4.c
    - condition: (matchIndex <= current)
      pos:
        line_end: 1027
        line_start: 1027
        source_file: /src/librdkafka/src/lz4.c
    - condition: (startIndex - matchIndex >= MINMATCH)
      pos:
        line_end: 1051
        line_start: 1051
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictBase)
      pos:
        line_end: 1241
        line_start: 1241
        source_file: /src/librdkafka/src/lz4.c
    - condition: (matchIndex < current)
      pos:
        line_end: 1227
        line_start: 1227
        source_file: /src/librdkafka/src/lz4.c
    - condition: (matchIndex < current)
      pos:
        line_end: 1252
        line_start: 1252
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1307
      start: 915
    functionDepth: 4
    functionLinenumber: 915
    functionLinenumberEnd: 1307
    functionName: LZ4_compress_generic_validated
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_getPosition
    - LZ4_putIndexOnHash
    - LZ4_writeLE16
    - LZ4_wildCopy8
    - LZ4_memcpy
    - LZ4_count
    - LZ4_putPositionOnHash
    - DEBUGLOG
    - LZ4_write32
    - LZ4_clearHash
    - LZ4_hashPosition
    - LZ4_putPosition
    - assert
    - LZ4_read32
    - unlikely
    - LZ4_getIndexOnHash
    - LZ4_getPositionOnHash
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_compress_generic_validated(\n                 LZ4_stream_t_internal*
      const cctx,\n                 const char* const source,\n                 char*
      const dest,\n                 const int inputSize,\n                 int*  inputConsumed,
      /* only written when outputDirective == fillOutput */\n                 const
      int maxOutputSize,\n                 const limitedOutput_directive outputDirective,\n
      \                const tableType_t tableType,\n                 const dict_directive
      dictDirective,\n                 const dictIssue_directive dictIssue,\n                 const
      int acceleration)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1326,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1332,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1333,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1334,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1337,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1342,1
    - Dst: LZ4_compress_generic_validated
      Src: /src/librdkafka/src/lz4.c:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 11
    argNames:
    - cctx
    - src
    - dst
    - srcSize
    - inputConsumed
    - dstCapacity
    - outputDirective
    - tableType
    - dictDirective
    - dictIssue
    - acceleration
    argTypes:
    - LZ4_stream_t_internal*
    - char*
    - char*
    - int
    - int*
    - int
    - limitedOutput_directive
    - tableType_t
    - dict_directive
    - dictIssue_directive
    - int
    assertStmts:
    - condition: (dst != NULL)
      pos:
        line_end: 1333
        line_start: 1333
        source_file: /src/librdkafka/src/lz4.c
    - condition: (outputDirective == notLimited || dstCapacity >= 1)
      pos:
        line_end: 1332
        line_start: 1332
        source_file: /src/librdkafka/src/lz4.c
    - condition: (inputConsumed != NULL)
      pos:
        line_end: 1336
        line_start: 1336
        source_file: /src/librdkafka/src/lz4.c
    - condition: (src != NULL)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1348
      start: 1313
    functionDepth: 5
    functionLinenumber: 1313
    functionLinenumberEnd: 1348
    functionName: LZ4_compress_generic
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4_compress_generic_validated
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_compress_generic(\n                 LZ4_stream_t_internal*
      const cctx,\n                 const char* const src,\n                 char*
      const dst,\n                 const int srcSize,\n                 int *inputConsumed,
      /* only written when outputDirective == fillOutput */\n                 const
      int dstCapacity,\n                 const limitedOutput_directive outputDirective,\n
      \                const tableType_t tableType,\n                 const dict_directive
      dictDirective,\n                 const dictIssue_directive dictIssue,\n                 const
      int acceleration)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4.c:1353,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1354,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:1357,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1359,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1362,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1366,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - state
    - source
    - dest
    - inputSize
    - maxOutputSize
    - acceleration
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts:
    - condition: (ctx != NULL)
      pos:
        line_end: 1353
        line_start: 1353
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1372
      start: 1351
    functionDepth: 6
    functionLinenumber: 1351
    functionLinenumberEnd: 1372
    functionName: LZ4_compress_fast_extState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4_compress_generic
    - LZ4_initStream
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_fast_extState(void* state, const char* source, char*
      dest, int inputSize, int maxOutputSize, int acceleration)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:1389,1
    - Dst: LZ4_prepareTable
      Src: /src/librdkafka/src/lz4.c:1392,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1394,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1396,1
    - Dst: LZ4_prepareTable
      Src: /src/librdkafka/src/lz4.c:1400,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1401,1
    - Dst: LZ4_prepareTable
      Src: /src/librdkafka/src/lz4.c:1406,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1408,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1410,1
    - Dst: LZ4_prepareTable
      Src: /src/librdkafka/src/lz4.c:1414,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - state
    - src
    - dst
    - srcSize
    - dstCapacity
    - acceleration
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1383
    functionDepth: 6
    functionLinenumber: 1383
    functionLinenumberEnd: 1418
    functionName: LZ4_compress_fast_extState_fastReset
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_generic
    - LZ4_prepareTable
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_fast_extState_fastReset(void* state, const char* src,
      char* dst, int srcSize, int dstCapacity, int acceleration)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4.c:1425,1
    - Dst: LZ4_compress_fast_extState
      Src: /src/librdkafka/src/lz4.c:1431,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4.c:1434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - source
    - dest
    - inputSize
    - maxOutputSize
    - acceleration
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1421
    functionDepth: 7
    functionLinenumber: 1421
    functionLinenumberEnd: 1437
    functionName: LZ4_compress_fast
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - FREEMEM
    - LZ4_compress_fast_extState
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_fast(const char* source, char* dest, int inputSize,
      int maxOutputSize, int acceleration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_fast
      Src: /src/librdkafka/src/lz4.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - srcSize
    - maxOutputSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1440
    functionDepth: 8
    functionLinenumber: 1440
    functionLinenumberEnd: 1443
    functionName: LZ4_compress_default
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_default(const char* src, char* dst, int srcSize, int
      maxOutputSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4.c:1451,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1452,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:1454,1
    - Dst: LZ4_compress_fast_extState
      Src: /src/librdkafka/src/lz4.c:1455,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1458,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - state
    - src
    - dst
    - srcSizePtr
    - targetDstSize
    argTypes:
    - LZ4_stream_t*
    - char*
    - char*
    - int*
    - int
    assertStmts:
    - condition: (s != NULL)
      pos:
        line_end: 1451
        line_start: 1451
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1463
      start: 1449
    functionDepth: 7
    functionLinenumber: 1449
    functionLinenumberEnd: 1463
    functionName: LZ4_compress_destSize_extState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_initStream
    - LZ4_compress_generic
    - assert
    - LZ4_compressBound
    - LZ4_compress_fast_extState
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_destSize_extState (LZ4_stream_t* state, const char*
      src, char* dst, int* srcSizePtr, int targetDstSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4.c:1469,1
    - Dst: LZ4_compress_destSize_extState
      Src: /src/librdkafka/src/lz4.c:1476,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4.c:1479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - src
    - dst
    - srcSizePtr
    - targetDstSize
    argTypes:
    - char*
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1466
    functionDepth: 8
    functionLinenumber: 1466
    functionLinenumberEnd: 1482
    functionName: LZ4_compress_destSize
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_destSize_extState
    - ALLOC
    - FREEMEM
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_destSize(const char* src, char* dst, int* srcSizePtr,
      int targetDstSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4.c:1493,1
    - Dst: LZ4_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4.c:1494,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1495,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1499
    functionName: LZ4_createStream
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - LZ4_initStream
    - LZ4_STATIC_ASSERT
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4_stream_t
    signature: LZ4_stream_t * LZ4_createStream(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1510
    functionName: LZ4_stream_t_alignment
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4_stream_t_alignment(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1514,1
    - Dst: LZ4_isAligned
      Src: /src/librdkafka/src/lz4.c:1517,1
    - Dst: LZ4_stream_t_alignment
      Src: /src/librdkafka/src/lz4.c:1517,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4.c:1518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1520
    functionName: LZ4_initStream
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 3
    functionsReached:
    - LZ4_isAligned
    - MEM_INIT
    - LZ4_stream_t_alignment
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4_stream_t
    signature: LZ4_stream_t * LZ4_initStream (void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1526,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4.c:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - LZ4_stream
    argTypes:
    - LZ4_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1528
    functionName: LZ4_resetStream
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4_resetStream (LZ4_stream_t* LZ4_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_prepareTable
      Src: /src/librdkafka/src/lz4.c:1531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - LZ4_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1532
    functionName: LZ4_resetStream_fast
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_prepareTable
    linkageType: ''
    returnType: void
    signature: void LZ4_resetStream_fast(LZ4_stream_t* ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1538,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - LZ4_stream
    argTypes:
    - LZ4_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1541
    functionName: LZ4_freeStream
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - FREEMEM
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4_freeStream (LZ4_stream_t* LZ4_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1554,1
    - Dst: LZ4_resetStream
      Src: /src/librdkafka/src/lz4.c:1560,1
    - Dst: LZ4_putPosition
      Src: /src/librdkafka/src/lz4.c:1581,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - LZ4_dict
    - dictionary
    - dictSize
    argTypes:
    - LZ4_stream_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1546
    functionDepth: 4
    functionLinenumber: 1546
    functionLinenumberEnd: 1586
    functionName: LZ4_loadDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_resetStream
    - LZ4_putPosition
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4_loadDict (LZ4_stream_t* LZ4_dict, const char* dictionary, int
      dictSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - workingStream
    - dictionaryStream
    argTypes:
    - LZ4_stream_t*
    - LZ4_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1614
    functionName: LZ4_attach_dictionary
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4_attach_dictionary(LZ4_stream_t* workingStream, const LZ4_stream_t*
      dictionaryStream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1619,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - LZ4_dict
    - nextSize
    argTypes:
    - LZ4_stream_t_internal*
    - int
    assertStmts:
    - condition: (nextSize >= 0)
      pos:
        line_end: 1618
        line_start: 1618
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1634
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1634
    functionName: LZ4_renormDictT
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4_renormDictT(LZ4_stream_t_internal* LZ4_dict, int nextSize)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1646,1
    - Dst: LZ4_renormDictT
      Src: /src/librdkafka/src/lz4.c:1648,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1658,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1678,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1680,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4.c:1697,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1698,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1700,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1704,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 6
    argNames:
    - LZ4_stream
    - source
    - dest
    - inputSize
    - maxOutputSize
    - acceleration
    argTypes:
    - LZ4_stream_t*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1637
    functionDepth: 6
    functionLinenumber: 1637
    functionLinenumberEnd: 1713
    functionName: LZ4_compress_fast_continue
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memcpy
    - LZ4_compress_generic
    - LZ4_renormDictT
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: "int LZ4_compress_fast_continue (LZ4_stream_t* LZ4_stream,\n                                const
      char* source, char* dest,\n                                int inputSize, int
      maxOutputSize,\n                                int acceleration)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_renormDictT
      Src: /src/librdkafka/src/lz4.c:1722,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1725,1
    - Dst: LZ4_compress_generic
      Src: /src/librdkafka/src/lz4.c:1727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - LZ4_dict
    - source
    - dest
    - srcSize
    argTypes:
    - LZ4_stream_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1717
    functionDepth: 6
    functionLinenumber: 1717
    functionLinenumberEnd: 1734
    functionName: LZ4_compress_forceExtDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_generic
    - LZ4_renormDictT
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_forceExtDict (LZ4_stream_t* LZ4_dict, const char*
      source, char* dest, int srcSize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1748,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1753,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1756,1
    - Dst: LZ4_memmove
      Src: /src/librdkafka/src/lz4.c:1757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - LZ4_dict
    - safeBuffer
    - dictSize
    argTypes:
    - LZ4_stream_t*
    - char*
    - int
    assertStmts:
    - condition: (dictSize == 0)
      pos:
        line_end: 1752
        line_start: 1752
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dict->dictionary)
      pos:
        line_end: 1755
        line_start: 1755
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1764
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1764
    functionName: LZ4_saveDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4_memmove
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4_saveDict (LZ4_stream_t* LZ4_dict, char* safeBuffer, int dictSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1776
    functionName: MIN
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - BYTE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1788
    functionName: read_long_length_no_check
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - DEBUGLOG
    linkageType: ''
    returnType: size_t
    signature: size_t read_long_length_no_check(const BYTE** pp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1815,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1816,1
    - Dst: read_long_length_no_check
      Src: /src/librdkafka/src/lz4.c:1826,1
    - Dst: LZ4_memmove
      Src: /src/librdkafka/src/lz4.c:1829,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1834,1
    - Dst: LZ4_readLE16
      Src: /src/librdkafka/src/lz4.c:1842,1
    - Dst: read_long_length_no_check
      Src: /src/librdkafka/src/lz4.c:1847,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1857,1
    - Dst: LZ4_memmove
      Src: /src/librdkafka/src/lz4.c:1869,1
    - Dst: LZ4_memmove
      Src: /src/librdkafka/src/lz4.c:1874,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:1888,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 6
    argNames:
    - istart
    - ostart
    - decompressedSize
    - prefixSize
    - dictStart
    - dictSize
    argTypes:
    - BYTE*
    - BYTE*
    - int
    - size_t
    - BYTE*
    - size_t
    assertStmts:
    - condition: (dictSize == 0)
      pos:
        line_end: 1815
        line_start: 1815
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1896
      start: 1799
    functionDepth: 2
    functionLinenumber: 1799
    functionLinenumberEnd: 1896
    functionName: LZ4_decompress_unsafe_generic
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_memmove
    - DEBUGLOG
    - read_long_length_no_check
    - LZ4_readLE16
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_decompress_unsafe_generic(\n                 const
      BYTE* const istart,\n                 BYTE* const ostart,\n                 int
      decompressedSize,\n\n                 size_t prefixSize,\n                 const
      BYTE* const dictStart,  /* only if dict==usingExtDict */\n                 const
      size_t dictSize         /* note: =0 if dictStart==NULL */\n                 )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1913,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1914,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:1915,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1916,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1923,1
    - Dst: unlikely
      Src: /src/librdkafka/src/lz4.c:1927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ip
    - ilimit
    - initial_check
    argTypes:
    - BYTE**
    - BYTE*
    - int
    assertStmts:
    - condition: (ip != NULL)
      pos:
        line_end: 1912
        line_start: 1912
        source_file: /src/librdkafka/src/lz4.c
    - condition: (*ip !=  NULL)
      pos:
        line_end: 1913
        line_start: 1913
        source_file: /src/librdkafka/src/lz4.c
    - condition: (ilimit != NULL)
      pos:
        line_end: 1914
        line_start: 1914
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 1933
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1933
    functionName: read_variable_length
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    - unlikely
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE read_variable_length(const BYTE** ip, const BYTE*
      ilimit,\n                     int initial_check)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - dest
    - compressedSize
    - maxDecompressedSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2355
    functionName: LZ4_decompress_safe
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_safe(const char* source, char* dest, int
      compressedSize, int maxDecompressedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/librdkafka/src/lz4.c:2360,1
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - src
    - dst
    - compressedSize
    - targetOutputSize
    - dstCapacity
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2364
    functionName: LZ4_decompress_safe_partial
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    - MIN
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_safe_partial(const char* src, char* dst,
      int compressedSize, int targetOutputSize, int dstCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:2369,1
    - Dst: LZ4_decompress_unsafe_generic
      Src: /src/librdkafka/src/lz4.c:2370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - source
    - dest
    - originalSize
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2366
    functionDepth: 3
    functionLinenumber: 2366
    functionLinenumberEnd: 2373
    functionName: LZ4_decompress_fast
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_unsafe_generic
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_fast(const char* source, char* dest, int
      originalSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - dest
    - compressedSize
    - maxOutputSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2383
    functionName: LZ4_decompress_safe_withPrefix64k
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_safe_withPrefix64k(const char* source,
      char* dest, int compressedSize, int maxOutputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/librdkafka/src/lz4.c:2388,1
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - source
    - dest
    - compressedSize
    - targetOutputSize
    - dstCapacity
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2385
    functionDepth: 0
    functionLinenumber: 2385
    functionLinenumberEnd: 2392
    functionName: LZ4_decompress_safe_partial_withPrefix64k
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    - MIN
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_safe_partial_withPrefix64k(const char*
      source, char* dest, int compressedSize, int targetOutputSize, int dstCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_unsafe_generic
      Src: /src/librdkafka/src/lz4.c:2397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - source
    - dest
    - originalSize
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2395
    functionDepth: 3
    functionLinenumber: 2395
    functionLinenumberEnd: 2400
    functionName: LZ4_decompress_fast_withPrefix64k
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_unsafe_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_decompress_fast_withPrefix64k(const char* source, char* dest,
      int originalSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - source
    - dest
    - compressedSize
    - maxOutputSize
    - prefixSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2409
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2409
    functionName: LZ4_decompress_safe_withSmallPrefix
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_safe_withSmallPrefix(const char* source,
      char* dest, int compressedSize, int maxOutputSize,\n                                               size_t
      prefixSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/librdkafka/src/lz4.c:2415,1
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - source
    - dest
    - compressedSize
    - targetOutputSize
    - dstCapacity
    - prefixSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2411
    functionDepth: 0
    functionLinenumber: 2411
    functionLinenumberEnd: 2419
    functionName: LZ4_decompress_safe_partial_withSmallPrefix
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    - MIN
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_safe_partial_withSmallPrefix(const char*
      source, char* dest, int compressedSize, int targetOutputSize, int dstCapacity,\n
      \                                              size_t prefixSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - source
    - dest
    - compressedSize
    - maxOutputSize
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2429
    functionName: LZ4_decompress_safe_forceExtDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_safe_forceExtDict(const char* source,
      char* dest,\n                                     int compressedSize, int maxOutputSize,\n
      \                                    const void* dictStart, size_t dictSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/librdkafka/src/lz4.c:2436,1
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - source
    - dest
    - compressedSize
    - targetOutputSize
    - dstCapacity
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2440
      start: 2431
    functionDepth: 0
    functionLinenumber: 2431
    functionLinenumberEnd: 2440
    functionName: LZ4_decompress_safe_partial_forceExtDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    - MIN
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_safe_partial_forceExtDict(const char*
      source, char* dest,\n                                     int compressedSize,
      int targetOutputSize, int dstCapacity,\n                                     const
      void* dictStart, size_t dictSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_unsafe_generic
      Src: /src/librdkafka/src/lz4.c:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - source
    - dest
    - originalSize
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2442
    functionDepth: 3
    functionLinenumber: 2442
    functionLinenumberEnd: 2449
    functionName: LZ4_decompress_fast_extDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_unsafe_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_fast_extDict(const char* source, char*
      dest, int originalSize,\n                                       const void*
      dictStart, size_t dictSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_generic
      Src: /src/librdkafka/src/lz4.c:2459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - source
    - dest
    - compressedSize
    - maxOutputSize
    - prefixSize
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2462
    functionName: LZ4_decompress_safe_doubleDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_generic
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4_decompress_safe_doubleDict(const char* source,
      char* dest, int compressedSize, int maxOutputSize,\n                                   size_t
      prefixSize, const void* dictStart, size_t dictSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4.c:2469,1
    - Dst: ALLOC_AND_ZERO
      Src: /src/librdkafka/src/lz4.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2467
    functionDepth: 1
    functionLinenumber: 2467
    functionLinenumberEnd: 2471
    functionName: LZ4_createStreamDecode
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - ALLOC_AND_ZERO
    - LZ4_STATIC_ASSERT
    linkageType: ''
    returnType: LZ4_streamDecode_t
    signature: LZ4_streamDecode_t * LZ4_createStreamDecode(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4.c:2476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - LZ4_stream
    argTypes:
    - LZ4_streamDecode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2478
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2478
    functionName: LZ4_freeStreamDecode
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - FREEMEM
    linkageType: ''
    returnType: int
    signature: int LZ4_freeStreamDecode (LZ4_streamDecode_t* LZ4_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - LZ4_streamDecode
    - dictionary
    - dictSize
    argTypes:
    - LZ4_streamDecode_t*
    - char*
    - int
    assertStmts:
    - condition: (dictionary != NULL)
      pos:
        line_end: 2491
        line_start: 2491
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2500
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2500
    functionName: LZ4_setStreamDecode
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int LZ4_setStreamDecode (LZ4_streamDecode_t* LZ4_streamDecode, const
      char* dictionary, int dictSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_DECODER_RING_BUFFER_SIZE
      Src: /src/librdkafka/src/lz4.c:2518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - maxBlockSize
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2519
      start: 2513
    functionDepth: 1
    functionLinenumber: 2513
    functionLinenumberEnd: 2519
    functionName: LZ4_decoderRingBufferSize
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_DECODER_RING_BUFFER_SIZE
    linkageType: ''
    returnType: int
    signature: int LZ4_decoderRingBufferSize(int maxBlockSize)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2536,1
    - Dst: LZ4_decompress_safe
      Src: /src/librdkafka/src/lz4.c:2537,1
    - Dst: LZ4_decompress_safe_withPrefix64k
      Src: /src/librdkafka/src/lz4.c:2544,1
    - Dst: LZ4_decompress_safe_withSmallPrefix
      Src: /src/librdkafka/src/lz4.c:2546,1
    - Dst: LZ4_decompress_safe_doubleDict
      Src: /src/librdkafka/src/lz4.c:2549,1
    - Dst: LZ4_decompress_safe_forceExtDict
      Src: /src/librdkafka/src/lz4.c:2558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - LZ4_streamDecode
    - source
    - dest
    - compressedSize
    - maxOutputSize
    argTypes:
    - LZ4_streamDecode_t*
    - char*
    - char*
    - int
    - int
    assertStmts:
    - condition: (lz4sd->extDictSize == 0)
      pos:
        line_end: 2535
        line_start: 2535
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2566
      start: 2528
    functionDepth: 1
    functionLinenumber: 2528
    functionLinenumberEnd: 2566
    functionName: LZ4_decompress_safe_continue
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_safe_withSmallPrefix
    - LZ4_decompress_safe_doubleDict
    - LZ4_decompress_safe
    - LZ4_decompress_safe_withPrefix64k
    - assert
    - LZ4_decompress_safe_forceExtDict
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: LZ4_FORCE_O2 LZ4_decompress_safe_continue (LZ4_streamDecode_t* LZ4_streamDecode,
      const char* source, char* dest, int compressedSize, int maxOutputSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2573,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:2576,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2577,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:2580,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2581,1
    - Dst: LZ4_decompress_fast
      Src: /src/librdkafka/src/lz4.c:2582,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:2587,1
    - Dst: LZ4_decompress_unsafe_generic
      Src: /src/librdkafka/src/lz4.c:2588,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4.c:2596,1
    - Dst: LZ4_decompress_fast_extDict
      Src: /src/librdkafka/src/lz4.c:2599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - LZ4_streamDecode
    - source
    - dest
    - originalSize
    argTypes:
    - LZ4_streamDecode_t*
    - char*
    - char*
    - int
    assertStmts:
    - condition: (LZ4_streamDecode!=NULL)
      pos:
        line_end: 2572
        line_start: 2572
        source_file: /src/librdkafka/src/lz4.c
    - condition: (lz4sd->extDictSize == 0)
      pos:
        line_end: 2580
        line_start: 2580
        source_file: /src/librdkafka/src/lz4.c
    - condition: (originalSize >= 0)
      pos:
        line_end: 2576
        line_start: 2576
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2607
      start: 2568
    functionDepth: 4
    functionLinenumber: 2568
    functionLinenumberEnd: 2607
    functionName: LZ4_decompress_fast_continue
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_fast_extDict
    - DEBUGLOG
    - LZ4_decompress_fast
    - assert
    - LZ4_decompress_unsafe_generic
    linkageType: ''
    returnType: LZ4_FORCE_O2
    signature: "LZ4_FORCE_O2 LZ4_decompress_fast_continue (LZ4_streamDecode_t* LZ4_streamDecode,\n
      \                       const char* source, char* dest, int originalSize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_safe
      Src: /src/librdkafka/src/lz4.c:2620,1
    - Dst: LZ4_decompress_safe_withPrefix64k
      Src: /src/librdkafka/src/lz4.c:2623,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2625,1
    - Dst: LZ4_decompress_safe_withSmallPrefix
      Src: /src/librdkafka/src/lz4.c:2626,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2628,1
    - Dst: LZ4_decompress_safe_forceExtDict
      Src: /src/librdkafka/src/lz4.c:2629,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - source
    - dest
    - compressedSize
    - maxOutputSize
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - char*
    - int
    assertStmts:
    - condition: (dictSize >= 0)
      pos:
        line_end: 2624
        line_start: 2624
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictSize >= 0)
      pos:
        line_end: 2627
        line_start: 2627
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2630
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2630
    functionName: LZ4_decompress_safe_usingDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_safe_withSmallPrefix
    - LZ4_decompress_safe
    - LZ4_decompress_safe_withPrefix64k
    - assert
    - LZ4_decompress_safe_forceExtDict
    linkageType: ''
    returnType: int
    signature: int LZ4_decompress_safe_usingDict(const char* source, char* dest, int
      compressedSize, int maxOutputSize, const char* dictStart, int dictSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_safe_partial
      Src: /src/librdkafka/src/lz4.c:2635,1
    - Dst: LZ4_decompress_safe_partial_withPrefix64k
      Src: /src/librdkafka/src/lz4.c:2638,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2640,1
    - Dst: LZ4_decompress_safe_partial_withSmallPrefix
      Src: /src/librdkafka/src/lz4.c:2641,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2643,1
    - Dst: LZ4_decompress_safe_partial_forceExtDict
      Src: /src/librdkafka/src/lz4.c:2644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - source
    - dest
    - compressedSize
    - targetOutputSize
    - dstCapacity
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - char*
    - int
    assertStmts:
    - condition: (dictSize >= 0)
      pos:
        line_end: 2642
        line_start: 2642
        source_file: /src/librdkafka/src/lz4.c
    - condition: (dictSize >= 0)
      pos:
        line_end: 2639
        line_start: 2639
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2645
      start: 2632
    functionDepth: 1
    functionLinenumber: 2632
    functionLinenumberEnd: 2645
    functionName: LZ4_decompress_safe_partial_usingDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_safe_partial_forceExtDict
    - LZ4_decompress_safe_partial
    - LZ4_decompress_safe_partial_withPrefix64k
    - LZ4_decompress_safe_partial_withSmallPrefix
    - assert
    linkageType: ''
    returnType: int
    signature: int LZ4_decompress_safe_partial_usingDict(const char* source, char*
      dest, int compressedSize, int targetOutputSize, int dstCapacity, const char*
      dictStart, int dictSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_unsafe_generic
      Src: /src/librdkafka/src/lz4.c:2650,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4.c:2653,1
    - Dst: LZ4_decompress_fast_extDict
      Src: /src/librdkafka/src/lz4.c:2654,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 5
    argNames:
    - source
    - dest
    - originalSize
    - dictStart
    - dictSize
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    assertStmts:
    - condition: (dictSize >= 0)
      pos:
        line_end: 2652
        line_start: 2652
        source_file: /src/librdkafka/src/lz4.c
    constantsTouched: []
    func_position:
      end: 2655
      start: 2647
    functionDepth: 4
    functionLinenumber: 2647
    functionLinenumberEnd: 2655
    functionName: LZ4_decompress_fast_usingDict
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_fast_extDict
    - assert
    - LZ4_decompress_unsafe_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_decompress_fast_usingDict(const char* source, char* dest, int
      originalSize, const char* dictStart, int dictSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_default
      Src: /src/librdkafka/src/lz4.c:2664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - dest
    - inputSize
    - maxOutputSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2662
    functionDepth: 9
    functionLinenumber: 2662
    functionLinenumberEnd: 2665
    functionName: LZ4_compress_limitedOutput
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_default
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_limitedOutput(const char* source, char* dest, int
      inputSize, int maxOutputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_default
      Src: /src/librdkafka/src/lz4.c:2668,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:2668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dest
    - srcSize
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2666
    functionDepth: 9
    functionLinenumber: 2666
    functionLinenumberEnd: 2669
    functionName: LZ4_compress
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_default
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress(const char* src, char* dest, int srcSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_fast_extState
      Src: /src/librdkafka/src/lz4.c:2672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - state
    - src
    - dst
    - srcSize
    - dstSize
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2670
    functionDepth: 7
    functionLinenumber: 2670
    functionLinenumberEnd: 2673
    functionName: LZ4_compress_limitedOutput_withState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast_extState
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_limitedOutput_withState (void* state, const char*
      src, char* dst, int srcSize, int dstSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_fast_extState
      Src: /src/librdkafka/src/lz4.c:2676,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:2676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - src
    - dst
    - srcSize
    argTypes:
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2677
      start: 2674
    functionDepth: 7
    functionLinenumber: 2674
    functionLinenumberEnd: 2677
    functionName: LZ4_compress_withState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compressBound
    - LZ4_compress_fast_extState
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_withState (void* state, const char* src, char* dst,
      int srcSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_fast_continue
      Src: /src/librdkafka/src/lz4.c:2680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - LZ4_stream
    - src
    - dst
    - srcSize
    - dstCapacity
    argTypes:
    - LZ4_stream_t*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2678
    functionDepth: 7
    functionLinenumber: 2678
    functionLinenumberEnd: 2681
    functionName: LZ4_compress_limitedOutput_continue
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast_continue
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_limitedOutput_continue (LZ4_stream_t* LZ4_stream,
      const char* src, char* dst, int srcSize, int dstCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_fast_continue
      Src: /src/librdkafka/src/lz4.c:2684,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4.c:2684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - LZ4_stream
    - source
    - dest
    - inputSize
    argTypes:
    - LZ4_stream_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2685
      start: 2682
    functionDepth: 7
    functionLinenumber: 2682
    functionLinenumberEnd: 2685
    functionName: LZ4_compress_continue
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast_continue
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_continue (LZ4_stream_t* LZ4_stream, const char* source,
      char* dest, int inputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_fast
      Src: /src/librdkafka/src/lz4.c:2695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - source
    - dest
    - outputSize
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2693
    functionDepth: 4
    functionLinenumber: 2693
    functionLinenumberEnd: 2696
    functionName: LZ4_uncompress
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_fast
    linkageType: ''
    returnType: int
    signature: int LZ4_uncompress (const char* source, char* dest, int outputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_safe
      Src: /src/librdkafka/src/lz4.c:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - source
    - dest
    - isize
    - maxOutputSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2700
      start: 2697
    functionDepth: 1
    functionLinenumber: 2697
    functionLinenumberEnd: 2700
    functionName: LZ4_uncompress_unknownOutputSize
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_decompress_safe
    linkageType: ''
    returnType: int
    signature: int LZ4_uncompress_unknownOutputSize (const char* source, char* dest,
      int isize, int maxOutputSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2704
    functionName: LZ4_sizeofStreamState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_sizeofStreamState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_resetStream
      Src: /src/librdkafka/src/lz4.c:2709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - state
    - inputBuffer
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2711
    functionName: LZ4_resetStreamState
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_resetStream
    linkageType: ''
    returnType: int
    signature: int LZ4_resetStreamState(void* state, char* inputBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_createStream
      Src: /src/librdkafka/src/lz4.c:2717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - inputBuffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2714
    functionDepth: 2
    functionLinenumber: 2714
    functionLinenumberEnd: 2718
    functionName: LZ4_create
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached:
    - LZ4_createStream
    linkageType: ''
    returnType: void
    signature: void * LZ4_create (char* inputBuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2725
    functionName: LZ4_slideInputBuffer
    functionSourceFile: /src/librdkafka/src/lz4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * LZ4_slideInputBuffer (void* state)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:150,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:158,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:159,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:162,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:168,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:170,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:172,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:178,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:180,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:206,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:214,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:219,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:224,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:225,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:226,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 235
    functionName: rd_kafka_msgset_writer_select_MsgVersion
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_compression2str
    - rd_kafka_msgq_first
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_broker_ApiVersion_at_least
    - rd_rkb_dbg
    - RD_KAFKAP_STR_PR
    - rd_interval
    - rd_rkb_log
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_msgset_writer_select_MsgVersion(rd_kafka_msgset_writer_t
      *msetw)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:254,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:284,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:293,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:300,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:334,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:346,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:348,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:363,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:368,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 370
    functionName: rd_kafka_msgset_writer_alloc_buf
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - RD_MIN
    - RD_NOTREACHED
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_ApiVersion_set
    - RD_KAFKAP_STR_SIZE
    - rd_kafka_assert
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgset_writer_alloc_buf(rd_kafka_msgset_writer_t *msetw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:381,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:382,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:386,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:389,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:392,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:395,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:401,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:404,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:407,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:410,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:413,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:416,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:419,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:422,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 426
    functionName: rd_kafka_msgset_writer_write_MessageSet_v2_header
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_i32
    - rd_kafka_assert
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgset_writer_write_MessageSet_v2_header(\n    rd_kafka_msgset_writer_t
      *msetw)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:444,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:447,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:450,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:453,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:456,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:459,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:462,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:465,1
    - Dst: rd_kafka_msgset_writer_write_MessageSet_v2_header
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 475
    functionName: rd_kafka_msgset_writer_write_Produce_header
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_msgset_writer_write_MessageSet_v2_header
    - rd_kafka_buf_write_arraycnt_pos
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgset_writer_write_Produce_header(rd_kafka_msgset_writer_t
      *msetw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:497,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:502,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:513,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:514,1
    - Dst: rd_kafka_msgset_writer_select_MsgVersion
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:517,1
    - Dst: rd_kafka_msgset_writer_alloc_buf
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:521,1
    - Dst: rd_kafka_msgset_writer_write_Produce_header
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:524,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:531,1
    - Dst: rd_kafka_msgbatch_init
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - msetw
    - rkb
    - rktp
    - rkmq
    - pid
    - epoch_base_msgid
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    - rd_kafka_pid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 538
    functionName: rd_kafka_msgset_writer_init
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgset_writer_select_MsgVersion
    - rd_kafka_msgbatch_init
    - RD_MIN
    - rd_kafka_msgset_writer_alloc_buf
    - rd_kafka_msgset_writer_write_Produce_header
    - rd_dassert
    - memset
    - rd_kafka_msgq_len
    - rd_buf_write_pos
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_init(rd_kafka_msgset_writer_t *msetw,\n
      \                                      rd_kafka_broker_t *rkb,\n                                       rd_kafka_toppar_t
      *rktp,\n                                       rd_kafka_msgq_t *rkmq,\n                                       rd_kafka_pid_t
      pid,\n                                       uint64_t epoch_base_msgid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_write_remains
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:556,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:557,1
    - Dst: free_cb
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:559,1
    - Dst: rd_kafka_buf_push
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:561,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - msetw
    - rkm
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_msg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 563
    functionName: rd_kafka_msgset_writer_write_msg_payload
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_buf_write_remains
    - rd_kafka_buf_push
    - free_cb
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_msgset_writer_write_msg_payload(rd_kafka_msgset_writer_t
      *msetw,\n                                         const rd_kafka_msg_t *rkm,\n
      \                                        void (*free_cb)(void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:578,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:581,1
    - Dst: rd_kafka_buf_write_varint
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:582,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:583,1
    - Dst: rd_kafka_buf_write_varint
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:585,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:588,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:592,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - msetw
    - hdrs
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 596
    functionName: rd_kafka_msgset_writer_write_msg_headers
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_varint
    - rd_kafka_buf_write
    - rd_dassert
    - RD_LIST_FOREACH
    - rd_buf_write_pos
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_msgset_writer_write_msg_headers(rd_kafka_msgset_writer_t
      *msetw,\n                                         const rd_kafka_headers_t *hdrs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:619,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:629,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:635,1
    - Dst: rd_kafka_buf_crc_init
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:638,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:641,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:644,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:648,1
    - Dst: rd_kafka_buf_write_bytes
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:651,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:655,1
    - Dst: rd_kafka_msgset_writer_write_msg_payload
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:656,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:658,1
    - Dst: rd_kafka_buf_update_u32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:661,1
    - Dst: rd_kafka_buf_crc_finalize
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - msetw
    - rkm
    - Offset
    - MsgAttributes
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_msg_t*
    - int64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 667
    functionName: rd_kafka_msgset_writer_write_msg_v0_1
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_bytes
    - rd_kafka_buf_crc_init
    - rd_kafka_msgset_writer_write_msg_payload
    - rd_kafka_buf_crc_finalize
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_update_u32
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_msgset_writer_write_msg_v0_1(rd_kafka_msgset_writer_t
      *msetw,\n                                      rd_kafka_msg_t *rkm,\n                                      int64_t
      Offset,\n                                      int8_t MsgAttributes,\n                                      void
      (*free_cb)(void *))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:681,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:682,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:683,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:684,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:685,1
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:686,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:705,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:708,1
    - Dst: rd_uvarint_enc_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:710,1
    - Dst: rd_uvarint_enc_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:714,1
    - Dst: rd_uvarint_enc_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:719,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:729,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:731,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:736,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:739,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:742,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:745,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:749,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:752,1
    - Dst: rd_kafka_msgset_writer_write_msg_payload
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:756,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:759,1
    - Dst: rd_kafka_msgset_writer_write_msg_headers
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - msetw
    - rkm
    - Offset
    - MsgAttributes
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_msg_t*
    - int64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 768
    functionName: rd_kafka_msgset_writer_write_msg_v2
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_uvarint_enc_i64
    - rd_kafka_buf_write
    - rd_kafka_msgset_writer_write_msg_payload
    - rd_kafka_msgset_writer_write_msg_headers
    - RD_UVARINT_ENC_SIZEOF
    - rd_uvarint_enc_i32
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_msgset_writer_write_msg_v2(rd_kafka_msgset_writer_t
      *msetw,\n                                    rd_kafka_msg_t *rkm,\n                                    int64_t
      Offset,\n                                    int8_t MsgAttributes,\n                                    void
      (*free_cb)(void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:789,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:792,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:798,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:799,1
    - Dst: rd_kafka_msg_wire_size
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:800,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - msetw
    - rkm
    - Offset
    - MsgAttributes
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_msg_t*
    - int64_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 775
    functionDepth: 2
    functionLinenumber: 775
    functionLinenumberEnd: 804
    functionName: rd_kafka_msgset_writer_write_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msg_wire_size
    - rd_assert
    - likely
    - rd_buf_write_pos
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_msgset_writer_write_msg(rd_kafka_msgset_writer_t *msetw,\n
      \                                              rd_kafka_msg_t *rkm,\n                                               int64_t
      Offset,\n                                               int8_t MsgAttributes,\n
      \                                              void (*free_cb)(void *))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:818,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:820,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:826,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:834,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:835,1
    - Dst: rd_kafka_msgbatch_set_first_msg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:838,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:845,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:848,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:855,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:870,1
    - Dst: rd_kafka_msg_wire_size
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:872,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:875,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:880,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:885,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:892,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:893,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:898,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:902,1
    - Dst: rd_kafka_msgset_writer_write_msg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:906,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:911,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:927,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:928,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:930,1
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:932,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - msetw
    - rkmq
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 948
    functionName: rd_kafka_msgset_writer_write_msgq
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_buf_len
    - RD_MIN
    - rd_kafka_msg_wire_size
    - rd_rkb_dbg
    - TAILQ_FIRST
    - rd_kafka_set_fatal_error
    - rd_kafka_msgbatch_set_first_msg
    - RD_KAFKAP_STR_PR
    - rd_kafka_msgq_deq
    - rd_kafka_msgset_writer_write_msg
    - rd_kafka_assert
    - rd_kafka_msgq_enq
    - rd_clock
    - unlikely
    - rd_kafka_msgq_last
    - rd_avg_add
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_write_msgq(rd_kafka_msgset_writer_t *msetw,\n
      \                                            rd_kafka_msgq_t *rkmq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:961,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:966,1
    - Dst: deflateInit2
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:967,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:970,1
    - Dst: deflateBound
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:983,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:983,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:984,1
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:990,1
    - Dst: deflate
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:996,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:997,1
    - Dst: deflateEnd
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1004,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1005,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1010,1
    - Dst: deflate
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1014,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1015,1
    - Dst: deflateEnd
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1022,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1023,1
    - Dst: deflateEnd
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 5
    argNames:
    - rkb
    - comp_level
    - slice
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_slice_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1034
    functionName: rd_kafka_gzip_compress
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - deflate
    - rd_free
    - rd_slice_remains
    - rd_slice_reader
    - deflateBound
    - deflateInit2
    - memset
    - rd_malloc
    - deflateEnd
    - rd_kafka_assert
    - rd_rkb_log
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_gzip_compress(rd_kafka_broker_t *rkb,\n
      \                                          int comp_level,\n                                           rd_slice_t
      *slice,\n                                           void **outbuf,\n                                           size_t
      *outlenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_gzip_compress
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msetw
    - slice
    - ciov
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_slice_t*
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1039
    functionDepth: 4
    functionLinenumber: 1039
    functionLinenumberEnd: 1048
    functionName: rd_kafka_msgset_writer_compress_gzip
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_gzip_compress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_compress_gzip(rd_kafka_msgset_writer_t
      *msetw,\n                                                rd_slice_t *slice,\n
      \                                               struct iovec *ciov)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1063,1
    - Dst: rd_kafka_snappy_init_env_sg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1068,1
    - Dst: rd_kafka_snappy_max_compressed_length
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1072,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1073,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1076,1
    - Dst: rd_slice_get_iov
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1078,1
    - Dst: rd_kafka_snappy_compress_iov
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1081,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1083,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1088,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1089,1
    - Dst: rd_kafka_snappy_free_env
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - rkb
    - slice
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - rd_slice_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1056
    functionDepth: 6
    functionLinenumber: 1056
    functionLinenumberEnd: 1100
    functionName: rd_kafka_snappy_compress_slice
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_slice_get_iov
    - rd_free
    - rd_slice_remains
    - rd_alloca
    - rd_malloc
    - rd_kafka_snappy_max_compressed_length
    - rd_kafka_snappy_free_env
    - rd_strerror
    - rd_kafka_snappy_compress_iov
    - rd_rkb_log
    - rd_kafka_snappy_init_env_sg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_snappy_compress_slice(rd_kafka_broker_t
      *rkb,\n                                                   rd_slice_t *slice,\n
      \                                                  void **outbuf,\n                                                   size_t
      *outlenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_snappy_compress_slice
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msetw
    - slice
    - ciov
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_slice_t*
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 7
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: rd_kafka_msgset_writer_compress_snappy
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_snappy_compress_slice
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_compress_snappy(rd_kafka_msgset_writer_t
      *msetw,\n                                       rd_slice_t *slice,\n                                       struct
      iovec *ciov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_lz4_compress
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msetw
    - slice
    - ciov
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_slice_t*
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1131
    functionName: rd_kafka_msgset_writer_compress_lz4
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_lz4_compress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_compress_lz4(rd_kafka_msgset_writer_t *msetw,\n
      \                                              rd_slice_t *slice,\n                                               struct
      iovec *ciov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_zstd_compress
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - msetw
    - slice
    - ciov
    argTypes:
    - rd_kafka_msgset_writer_t*
    - rd_slice_t*
    - struct iovec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: rd_kafka_msgset_writer_compress_zstd
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_zstd_compress
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_compress_zstd(rd_kafka_msgset_writer_t
      *msetw,\n                                                rd_slice_t *slice,\n
      \                                               struct iovec *ciov)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1166,1
    - Dst: rd_buf_len
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1166,1
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1169,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1170,1
    - Dst: rd_kafka_msgset_writer_compress_gzip
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1175,1
    - Dst: rd_kafka_msgset_writer_compress_snappy
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1181,1
    - Dst: rd_kafka_msgset_writer_compress_lz4
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1187,1
    - Dst: rd_kafka_msgset_writer_compress_zstd
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1192,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1197,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1206,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1209,1
    - Dst: rd_buf_write_seek
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1219,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1221,1
    - Dst: rd_buf_push
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1228,1
    - Dst: rd_kafka_msgset_writer_write_msg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - msetw
    - outlenp
    argTypes:
    - rd_kafka_msgset_writer_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1157
    functionDepth: 8
    functionLinenumber: 1157
    functionLinenumberEnd: 1246
    functionName: rd_kafka_msgset_writer_compress
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_msgset_writer_compress_lz4
    - rd_kafka_msgset_writer_compress_snappy
    - rd_assert
    - rd_free
    - rd_buf_len
    - rd_buf_push
    - rd_kafka_msgset_writer_compress_gzip
    - rd_slice_init
    - rd_kafka_msgset_writer_write_msg
    - rd_buf_write_seek
    - rd_kafka_assert
    - rd_kafka_msgset_writer_compress_zstd
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_msgset_writer_compress(rd_kafka_msgset_writer_t *msetw,\n
      \                                          size_t *outlenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_init
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1259,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1261,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1263,1
    - Dst: rd_slice_crc32c
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1266,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1253
    functionDepth: 4
    functionLinenumber: 1253
    functionLinenumberEnd: 1270
    functionName: rd_kafka_msgset_writer_calc_crc_v2
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_slice_init
    - rd_kafka_buf_update_i32
    - rd_slice_crc32c
    - rd_buf_write_pos
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgset_writer_calc_crc_v2(rd_kafka_msgset_writer_t *msetw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1278,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1280,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1281,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1288,1
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1294,1
    - Dst: rd_kafka_buf_update_i16
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1298,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1302,1
    - Dst: rd_kafka_buf_update_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1307,1
    - Dst: rd_kafka_buf_update_i64
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1311,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1315,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1319,1
    - Dst: rd_kafka_msgset_writer_calc_crc_v2
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1275
    functionDepth: 5
    functionLinenumber: 1275
    functionLinenumberEnd: 1324
    functionName: rd_kafka_msgset_writer_finalize_MessageSet_v2_header
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_update_i16
    - rd_kafka_buf_update_i64
    - rd_kafka_is_transactional
    - rd_kafka_buf_update_i32
    - rd_kafka_assert
    - rd_kafka_msgq_len
    - rd_kafka_msgset_writer_calc_crc_v2
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgset_writer_finalize_MessageSet_v2_header(\n    rd_kafka_msgset_writer_t
      *msetw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1333,1
    - Dst: rd_kafka_msgset_writer_finalize_MessageSet_v2_header
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1336,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msetw
    argTypes:
    - rd_kafka_msgset_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1345
    functionName: rd_kafka_msgset_writer_finalize_MessageSet
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_msgset_writer_finalize_MessageSet_v2_header
    linkageType: ''
    returnType: void
    signature: void rd_kafka_msgset_writer_finalize_MessageSet(rd_kafka_msgset_writer_t
      *msetw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1371,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1371,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1373,1
    - Dst: rd_buf_write_pos
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1378,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1380,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1381,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1383,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1384,1
    - Dst: rd_kafka_msgset_writer_compress
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1395,1
    - Dst: rd_kafka_msgset_writer_finalize_MessageSet
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1402,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1405,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1407,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1412,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1424,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1426,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1429,1
    - Dst: rd_kafka_msgbatch_ready_produce
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - msetw
    - MessageSetSizep
    argTypes:
    - rd_kafka_msgset_writer_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1362
    functionDepth: 9
    functionLinenumber: 1362
    functionLinenumberEnd: 1435
    functionName: rd_kafka_msgset_writer_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_assert
    - rd_kafka_msgset_writer_finalize_MessageSet
    - rd_kafka_compression2str
    - rd_kafka_buf_destroy
    - rd_atomic64_add
    - rd_kafka_msgset_writer_compress
    - rd_rkb_dbg
    - rd_kafka_msgq_verify_order
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_msgbatch_ready_produce
    - rd_kafka_msgq_len
    - unlikely
    - rd_buf_write_pos
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: "rd_kafka_buf_t *\nrd_kafka_msgset_writer_finalize(rd_kafka_msgset_writer_t
      *msetw,\n                                size_t *MessageSetSizep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgset_writer_init
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1461,1
    - Dst: rd_kafka_msgset_writer_write_msgq
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1465,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1468,1
    - Dst: rd_kafka_msgset_writer_finalize
      Src: /src/librdkafka/src/rdkafka_msgset_writer.c:1473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - rkb
    - rktp
    - rkmq
    - pid
    - epoch_base_msgid
    - MessageSetSizep
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    - rd_kafka_pid_t
    - uint64_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1452
    functionDepth: 10
    functionLinenumber: 1452
    functionLinenumberEnd: 1474
    functionName: rd_kafka_msgset_create_ProduceRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_writer.c
    functionUses: 2
    functionsReached:
    - rd_kafka_msgset_writer_init
    - rd_kafka_msgset_writer_write_msgq
    - rd_kafka_msgset_writer_finalize
    - rd_kafka_msgq_insert_msgq
    linkageType: ''
    returnType: rd_kafka_buf_t
    signature: "rd_kafka_buf_t *rd_kafka_msgset_create_ProduceRequest(rd_kafka_broker_t
      *rkb,\n                                                      rd_kafka_toppar_t
      *rktp,\n                                                      rd_kafka_msgq_t
      *rkmq,\n                                                      const rd_kafka_pid_t
      pid,\n                                                      uint64_t epoch_base_msgid,\n
      \                                                     size_t *MessageSetSizep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/librdkafka/src/rdfloat.h:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - prec
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: rd_dbl_eq0
    functionSourceFile: /src/librdkafka/src/rdfloat.h
    functionUses: 3
    functionsReached:
    - fabs
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_dbl_eq0(double a, double b, double prec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: rd_dbl_eq
    functionSourceFile: /src/librdkafka/src/rdfloat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_dbl_eq(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: rd_dbl_ne
    functionSourceFile: /src/librdkafka/src/rdfloat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_dbl_ne(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: rd_dbl_zero
    functionSourceFile: /src/librdkafka/src/rdfloat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_dbl_zero(a)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdaddr.c:54,1
    - Dst: getnameinfo
      Src: /src/librdkafka/src/rdaddr.c:66,1
    - Dst: RD_SOCKADDR_INX_LEN
      Src: /src/librdkafka/src/rdaddr.c:67,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdaddr.c:88,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdaddr.c:89,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdaddr.c:99,1
    - Dst: rd_family2str
      Src: /src/librdkafka/src/rdaddr.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - addr
    - flags
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 103
    functionName: rd_sockaddr2str
    functionSourceFile: /src/librdkafka/src/rdaddr.c
    functionUses: 13
    functionsReached:
    - rd_family2str
    - rd_snprintf
    - getnameinfo
    - RD_SOCKADDR_INX_LEN
    - strlen
    linkageType: ''
    returnType: char
    signature: char *rd_sockaddr2str(const void *addr, int flags)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/librdkafka/src/rdaddr.c:118,1
    - Dst: strrchr
      Src: /src/librdkafka/src/rdaddr.c:130,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdaddr.c:133,1
    - Dst: strcpy
      Src: /src/librdkafka/src/rdaddr.c:135,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdaddr.c:140,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdaddr.c:144,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdaddr.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - nodesvc
    - node
    - svc
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 153
    functionName: rd_addrinfo_prepare
    functionSourceFile: /src/librdkafka/src/rdaddr.c
    functionUses: 0
    functionsReached:
    - RD_MIN
    - strrchr
    - strcpy
    - strchr
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: char *rd_addrinfo_prepare(const char *nodesvc, char **node, char **svc)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdaddr.c:172,1
    - Dst: rd_addrinfo_prepare
      Src: /src/librdkafka/src/rdaddr.c:184,1
    - Dst: resolve_cb
      Src: /src/librdkafka/src/rdaddr.c:193,1
    - Dst: getaddrinfo
      Src: /src/librdkafka/src/rdaddr.c:195,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdaddr.c:204,1
    - Dst: gai_strerrorA
      Src: /src/librdkafka/src/rdaddr.c:207,1
    - Dst: gai_strerror
      Src: /src/librdkafka/src/rdaddr.c:209,1
    - Dst: resolve_cb
      Src: /src/librdkafka/src/rdaddr.c:223,1
    - Dst: freeaddrinfo
      Src: /src/librdkafka/src/rdaddr.c:225,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdaddr.c:232,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdaddr.c:235,1
    - Dst: resolve_cb
      Src: /src/librdkafka/src/rdaddr.c:239,1
    - Dst: freeaddrinfo
      Src: /src/librdkafka/src/rdaddr.c:241,1
    - Dst: rd_array_shuffle
      Src: /src/librdkafka/src/rdaddr.c:245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 8
    argNames:
    - nodesvc
    - defsvc
    - flags
    - family
    - socktype
    - protocol
    - opaque
    - errstr
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - int
    - void*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 249
    functionName: rd_getaddrinfo
    functionSourceFile: /src/librdkafka/src/rdaddr.c
    functionUses: 2
    functionsReached:
    - freeaddrinfo
    - getaddrinfo
    - rd_addrinfo_prepare
    - gai_strerrorA
    - rd_calloc
    - memset
    - rd_strerror
    - gai_strerror
    - rd_array_shuffle
    - memcpy
    - resolve_cb
    linkageType: ''
    returnType: rd_sockaddr_list_t
    signature: "rd_sockaddr_list_t *\nrd_getaddrinfo(const char *nodesvc,\n               const
      char *defsvc,\n               int flags,\n               int family,\n               int
      socktype,\n               int protocol,\n               int (*resolve_cb)(const
      char *node,\n                                 const char *service,\n                                 const
      struct addrinfo *hints,\n                                 struct addrinfo **res,\n
      \                                void *opaque),\n               void *opaque,\n
      \              const char **errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdaddr.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsal
    argTypes:
    - rd_sockaddr_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: rd_sockaddr_list_destroy
    functionSourceFile: /src/librdkafka/src/rdaddr.c
    functionUses: 3
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_sockaddr_list_destroy(rd_sockaddr_list_t *rsal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: MEM_INIT
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_INIT(p,v,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: ALLOC
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ALLOC_AND_ZERO
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_AND_ZERO(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: FREEMEM
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREEMEM(p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_CustomMem::customCalloc
      Src: /src/librdkafka/src/lz4frame.c:104,1
    - Dst: ALLOC_AND_ZERO
      Src: /src/librdkafka/src/lz4frame.c:108,1
    - Dst: LZ4F_CustomMem::customAlloc
      Src: /src/librdkafka/src/lz4frame.c:111,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - cmem
    argTypes:
    - size_t
    - LZ4F_CustomMem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: LZ4F_calloc
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - LZ4F_CustomMem::customAlloc
    - LZ4F_CustomMem::customCalloc
    - ALLOC_AND_ZERO
    linkageType: ''
    returnType: void
    signature: void * LZ4F_calloc(size_t s, LZ4F_CustomMem cmem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_CustomMem::customAlloc
      Src: /src/librdkafka/src/lz4frame.c:120,1
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4frame.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - cmem
    argTypes:
    - size_t
    - LZ4F_CustomMem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: LZ4F_malloc
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_CustomMem::customAlloc
    - ALLOC
    linkageType: ''
    returnType: void
    signature: void * LZ4F_malloc(size_t s, LZ4F_CustomMem cmem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_CustomMem::customFree
      Src: /src/librdkafka/src/lz4frame.c:130,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4frame.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - cmem
    argTypes:
    - void*
    - LZ4F_CustomMem
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: LZ4F_free
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_CustomMem::customFree
    - FREEMEM
    linkageType: ''
    returnType: void
    signature: void LZ4F_free(void* p, LZ4F_CustomMem cmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: assert
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 312
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: LZ4F_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_STATIC_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: DEBUGLOG
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGLOG(l, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: DEBUGLOG
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUGLOG(l, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: LZ4F_readLE32
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 LZ4F_readLE32 (const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - value32
    argTypes:
    - void*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: LZ4F_writeLE32
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4F_writeLE32 (void* dst, U32 value32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: LZ4F_readLE64
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U64
    signature: U64 LZ4F_readLE64 (const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dst
    - value64
    argTypes:
    - void*
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 229
    functionName: LZ4F_writeLE64
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4F_writeLE64 (void* dst, U64 value64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STRING
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: LZ4F_GENERATE_STRING
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4F_GENERATE_STRING(STRING)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - code
    argTypes:
    - LZ4F_errorCode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: LZ4F_isError
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4F_isError(LZ4F_errorCode_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/lz4frame.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - code
    argTypes:
    - LZ4F_errorCode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 300
    functionName: LZ4F_getErrorName
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - LZ4F_isError
    linkageType: ''
    returnType: char
    signature: char * LZ4F_getErrorName(LZ4F_errorCode_t code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/lz4frame.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - functionResult
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: LZ4F_getErrorCode
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_isError
    linkageType: ''
    returnType: LZ4F_errorCodes
    signature: LZ4F_errorCodes LZ4F_getErrorCode(size_t functionResult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4frame.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - code
    argTypes:
    - LZ4F_errorCodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: LZ4F_returnErrorCode
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_STATIC_ASSERT
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: LZ4F_errorCode_t LZ4F_returnErrorCode(LZ4F_errorCodes code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: RETURN_ERROR
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_ERROR(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: RETURN_ERROR_IF
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_ERROR_IF(c,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: FORWARD_IF_ERROR
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORWARD_IF_ERROR(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: LZ4F_getVersion
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4F_getVersion(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: LZ4F_compressionLevel_max
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4F_compressionLevel_max(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - blockSizeID
    argTypes:
    - LZ4F_blockSizeID_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: LZ4F_getBlockSize
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - RETURN_ERROR
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4F_getBlockSize(LZ4F_blockSizeID_t blockSizeID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: MIN
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH32
      Src: /src/librdkafka/src/lz4frame.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - header
    - length
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: LZ4F_headerChecksum
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - XXH32
    linkageType: ''
    returnType: BYTE
    signature: BYTE LZ4F_headerChecksum (const void* header, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - requestedBSID
    - srcSize
    argTypes:
    - LZ4F_blockSizeID_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: LZ4F_optimalBSID
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LZ4F_blockSizeID_t
    signature: "LZ4F_blockSizeID_t LZ4F_optimalBSID(const LZ4F_blockSizeID_t requestedBSID,\n
      \                                          const size_t srcSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_getBlockSize
      Src: /src/librdkafka/src/lz4frame.c:381,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - srcSize
    - preferencesPtr
    - alreadyBuffered
    argTypes:
    - size_t
    - LZ4F_preferences_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 396
    functionName: LZ4F_compressBound_internal
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - MIN
    - LZ4F_getBlockSize
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressBound_internal(size_t srcSize,\n                                    const
      LZ4F_preferences_t* preferencesPtr,\n                                          size_t
      alreadyBuffered)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:404,1
    - Dst: LZ4F_compressBound_internal
      Src: /src/librdkafka/src/lz4frame.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - srcSize
    - preferencesPtr
    argTypes:
    - size_t
    - LZ4F_preferences_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: LZ4F_compressFrameBound
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - LZ4F_compressBound_internal
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4F_compressFrameBound(size_t srcSize, const LZ4F_preferences_t*
      preferencesPtr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:435,1
    - Dst: LZ4F_optimalBSID
      Src: /src/librdkafka/src/lz4frame.c:439,1
    - Dst: LZ4F_getBlockSize
      Src: /src/librdkafka/src/lz4frame.c:441,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:444,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:447,1
    - Dst: LZ4F_compressFrameBound
      Src: /src/librdkafka/src/lz4frame.c:447,1
    - Dst: LZ4F_compressBegin_usingCDict
      Src: /src/librdkafka/src/lz4frame.c:449,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:450,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:453,1
    - Dst: LZ4F_compressUpdate
      Src: /src/librdkafka/src/lz4frame.c:454,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:455,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:458,1
    - Dst: LZ4F_compressEnd
      Src: /src/librdkafka/src/lz4frame.c:459,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:460,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 7
    argNames:
    - cctx
    - dstBuffer
    - dstCapacity
    - srcBuffer
    - srcSize
    - cdict
    - preferencesPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - void*
    - size_t
    - LZ4F_CDict*
    - LZ4F_preferences_t*
    assertStmts:
    - condition: (dstEnd >= dstPtr)
      pos:
        line_end: 452
        line_start: 452
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dstEnd >= dstStart)
      pos:
        line_end: 462
        line_start: 462
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dstEnd >= dstPtr)
      pos:
        line_end: 457
        line_start: 457
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 465
      start: 420
    functionDepth: 4
    functionLinenumber: 420
    functionLinenumberEnd: 465
    functionName: LZ4F_compressFrame_usingCDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_compressFrameBound
    - FORWARD_IF_ERROR
    - MEM_INIT
    - LZ4F_compressUpdate
    - RETURN_ERROR_IF
    - LZ4F_optimalBSID
    - LZ4F_compressEnd
    - LZ4F_compressBegin_usingCDict
    - assert
    - LZ4F_getBlockSize
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressFrame_usingCDict(LZ4F_cctx* cctx,\n                                     void*
      dstBuffer, size_t dstCapacity,\n                               const void* srcBuffer,
      size_t srcSize,\n                               const LZ4F_CDict* cdict,\n                               const
      LZ4F_preferences_t* preferencesPtr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_createCompressionContext
      Src: /src/librdkafka/src/lz4frame.c:482,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:483,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:489,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4frame.c:494,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:500,1
    - Dst: LZ4F_compressFrame_usingCDict
      Src: /src/librdkafka/src/lz4frame.c:502,1
    - Dst: LZ4F_freeCompressionContext
      Src: /src/librdkafka/src/lz4frame.c:507,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 5
    argNames:
    - dstBuffer
    - dstCapacity
    - srcBuffer
    - srcSize
    - preferencesPtr
    argTypes:
    - void*
    - size_t
    - void*
    - size_t
    - LZ4F_preferences_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 475
    functionDepth: 5
    functionLinenumber: 475
    functionLinenumberEnd: 515
    functionName: LZ4F_compressFrame
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_free
    - LZ4F_freeCompressionContext
    - FORWARD_IF_ERROR
    - LZ4_initStream
    - MEM_INIT
    - LZ4F_compressFrame_usingCDict
    - LZ4F_createCompressionContext
    - DEBUGLOG
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressFrame(void* dstBuffer, size_t dstCapacity,\n                    const
      void* srcBuffer, size_t srcSize,\n                    const LZ4F_preferences_t*
      preferencesPtr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:533,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:534,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:541,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:542,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4frame.c:544,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:545,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4frame.c:547,1
    - Dst: LZ4F_freeCDict
      Src: /src/librdkafka/src/lz4frame.c:549,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:552,1
    - Dst: LZ4_loadDict
      Src: /src/librdkafka/src/lz4frame.c:553,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4frame.c:554,1
    - Dst: LZ4_loadDictHC
      Src: /src/librdkafka/src/lz4frame.c:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - cmem
    - dictBuffer
    - dictSize
    argTypes:
    - LZ4F_CustomMem
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 529
    functionDepth: 5
    functionLinenumber: 529
    functionLinenumberEnd: 557
    functionName: LZ4F_createCDict_advanced
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_loadDict
    - LZ4_initStream
    - LZ4_setCompressionLevel
    - LZ4F_freeCDict
    - LZ4_loadDictHC
    - DEBUGLOG
    - LZ4F_malloc
    - memcpy
    linkageType: ''
    returnType: LZ4F_CDict
    signature: 'LZ4F_CDict *

      LZ4F_createCDict_advanced(LZ4F_CustomMem cmem, const void* dictBuffer, size_t
      dictSize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:567,1
    - Dst: LZ4F_createCDict_advanced
      Src: /src/librdkafka/src/lz4frame.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dictBuffer
    - dictSize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 6
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: LZ4F_createCDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_createCDict_advanced
    - DEBUGLOG
    linkageType: ''
    returnType: LZ4F_CDict
    signature: LZ4F_CDict * LZ4F_createCDict(const void* dictBuffer, size_t dictSize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:574,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:575,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:576,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cdict
    argTypes:
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: LZ4F_freeCDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_free
    linkageType: ''
    returnType: void
    signature: void LZ4F_freeCDict(LZ4F_CDict* cdict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_calloc
      Src: /src/librdkafka/src/lz4frame.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - customMem
    - version
    argTypes:
    - LZ4F_CustomMem
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 597
    functionName: LZ4F_createCompressionContext_advanced
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_calloc
    linkageType: ''
    returnType: LZ4F_cctx
    signature: 'LZ4F_cctx *

      LZ4F_createCompressionContext_advanced(LZ4F_CustomMem customMem, unsigned version)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:610,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:612,1
    - Dst: LZ4F_createCompressionContext_advanced
      Src: /src/librdkafka/src/lz4frame.c:614,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - LZ4F_compressionContextPtr
    - version
    argTypes:
    - LZ4F_cctx**
    - unsigned
    assertStmts:
    - condition: (LZ4F_compressionContextPtr != NULL)
      pos:
        line_end: 609
        line_start: 609
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 2
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: LZ4F_createCompressionContext
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - assert
    - LZ4F_createCompressionContext_advanced
    - RETURN_ERROR_IF
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: LZ4F_errorCode_t LZ4F_createCompressionContext(LZ4F_cctx** LZ4F_compressionContextPtr,
      unsigned version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:623,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:624,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cctxPtr
    argTypes:
    - LZ4F_cctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: LZ4F_freeCompressionContext
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - LZ4F_free
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: LZ4F_errorCode_t LZ4F_freeCompressionContext(LZ4F_cctx* cctxPtr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_resetStream_fast
      Src: /src/librdkafka/src/lz4frame.c:651,1
    - Dst: LZ4_attach_dictionary
      Src: /src/librdkafka/src/lz4frame.c:653,1
    - Dst: LZ4_resetStreamHC_fast
      Src: /src/librdkafka/src/lz4frame.c:655,1
    - Dst: LZ4_attach_HC_dictionary
      Src: /src/librdkafka/src/lz4frame.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ctx
    - cdict
    - level
    - blockMode
    argTypes:
    - void*
    - LZ4F_CDict*
    - int
    - LZ4F_blockMode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 658
    functionName: LZ4F_initStream
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_attach_dictionary
    - LZ4_resetStreamHC_fast
    - LZ4_resetStream_fast
    - LZ4_attach_HC_dictionary
    linkageType: ''
    returnType: void
    signature: "void LZ4F_initStream(void* ctx,\n                            const
      LZ4F_CDict* cdict,\n                            int level,\n                            LZ4F_blockMode_t
      blockMode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_sizeofState
      Src: /src/librdkafka/src/lz4frame.c:663,1
    - Dst: LZ4_sizeofStateHC
      Src: /src/librdkafka/src/lz4frame.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctxTypeID
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: ctxTypeID_to_size
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_sizeofState
    - LZ4_sizeofStateHC
    linkageType: ''
    returnType: int
    signature: int ctxTypeID_to_size(int ctxTypeID)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:686,1
    - Dst: ctxTypeID_to_size
      Src: /src/librdkafka/src/lz4frame.c:692,1
    - Dst: ctxTypeID_to_size
      Src: /src/librdkafka/src/lz4frame.c:693,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:696,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:700,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4frame.c:702,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:704,1
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4frame.c:706,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:708,1
    - Dst: LZ4_initStream
      Src: /src/librdkafka/src/lz4frame.c:715,1
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4frame.c:717,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4frame.c:718,1
    - Dst: LZ4F_getBlockSize
      Src: /src/librdkafka/src/lz4frame.c:726,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:734,1
    - Dst: LZ4F_calloc
      Src: /src/librdkafka/src/lz4frame.c:735,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:736,1
    - Dst: XXH32_reset
      Src: /src/librdkafka/src/lz4frame.c:741,1
    - Dst: LZ4F_initStream
      Src: /src/librdkafka/src/lz4frame.c:747,1
    - Dst: LZ4_favorDecompressionSpeed
      Src: /src/librdkafka/src/lz4frame.c:750,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:754,1
    - Dst: LZ4F_writeLE64
      Src: /src/librdkafka/src/lz4frame.c:769,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:775,1
    - Dst: LZ4F_headerChecksum
      Src: /src/librdkafka/src/lz4frame.c:779,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    argCount: 5
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - cdict
    - preferencesPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - LZ4F_CDict*
    - LZ4F_preferences_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 785
    functionName: LZ4F_compressBegin_usingCDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_free
    - LZ4F_writeLE32
    - LZ4_initStreamHC
    - LZ4_initStream
    - LZ4_setCompressionLevel
    - LZ4F_initStream
    - RETURN_ERROR_IF
    - LZ4F_calloc
    - LZ4F_writeLE64
    - LZ4F_headerChecksum
    - XXH32_reset
    - LZ4F_malloc
    - LZ4_favorDecompressionSpeed
    - ctxTypeID_to_size
    - LZ4F_getBlockSize
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressBegin_usingCDict(LZ4F_cctx* cctxPtr,\n                          void*
      dstBuffer, size_t dstCapacity,\n                          const LZ4F_CDict*
      cdict,\n                          const LZ4F_preferences_t* preferencesPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_compressBegin_usingCDict
      Src: /src/librdkafka/src/lz4frame.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - preferencesPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - LZ4F_preferences_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: LZ4F_compressBegin
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_compressBegin_usingCDict
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressBegin(LZ4F_cctx* cctxPtr,\n                          void*
      dstBuffer, size_t dstCapacity,\n                          const LZ4F_preferences_t*
      preferencesPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_compressBound_internal
      Src: /src/librdkafka/src/lz4frame.c:812,1
    - Dst: LZ4F_compressBound_internal
      Src: /src/librdkafka/src/lz4frame.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - srcSize
    - preferencesPtr
    argTypes:
    - size_t
    - LZ4F_preferences_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 815
    functionName: LZ4F_compressBound
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_compressBound_internal
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4F_compressBound(size_t srcSize, const LZ4F_preferences_t*
      preferencesPtr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:833,1
    - Dst: compress
      Src: /src/librdkafka/src/lz4frame.c:834,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:840,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:841,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:843,1
    - Dst: XXH32
      Src: /src/librdkafka/src/lz4frame.c:846,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 8
    argNames:
    - dst
    - src
    - srcSize
    - compress
    - lz4ctx
    - level
    - cdict
    - crcFlag
    argTypes:
    - void*
    - void*
    - size_t
    - compressFunc_t
    - void*
    - int
    - LZ4F_CDict*
    - LZ4F_blockChecksum_t
    assertStmts:
    - condition: (compress != NULL)
      pos:
        line_end: 832
        line_start: 832
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 850
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 850
    functionName: LZ4F_makeBlock
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_writeLE32
    - XXH32
    - compress
    - assert
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_makeBlock(void* dst,\n                       const void*
      src, size_t srcSize,\n                             compressFunc_t compress,
      void* lz4ctx, int level,\n                       const LZ4F_CDict* cdict,\n
      \                            LZ4F_blockChecksum_t crcFlag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:856,1
    - Dst: LZ4F_initStream
      Src: /src/librdkafka/src/lz4frame.c:857,1
    - Dst: LZ4_compress_fast_continue
      Src: /src/librdkafka/src/lz4frame.c:859,1
    - Dst: LZ4_compress_fast_extState_fastReset
      Src: /src/librdkafka/src/lz4frame.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - dstCapacity
    - level
    - cdict
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 853
    functionDepth: 7
    functionLinenumber: 853
    functionLinenumberEnd: 863
    functionName: LZ4F_compressBlock
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast_continue
    - LZ4_compress_fast_extState_fastReset
    - LZ4F_initStream
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4F_compressBlock(void* ctx, const char* src, char* dst, int srcSize,
      int dstCapacity, int level, const LZ4F_CDict* cdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:869,1
    - Dst: LZ4_compress_fast_continue
      Src: /src/librdkafka/src/lz4frame.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - dstCapacity
    - level
    - cdict
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 865
    functionDepth: 7
    functionLinenumber: 865
    functionLinenumberEnd: 871
    functionName: LZ4F_compressBlock_continue
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_fast_continue
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4F_compressBlock_continue(void* ctx, const char* src, char* dst,
      int srcSize, int dstCapacity, int level, const LZ4F_CDict* cdict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_initStream
      Src: /src/librdkafka/src/lz4frame.c:875,1
    - Dst: LZ4_compress_HC_continue
      Src: /src/librdkafka/src/lz4frame.c:877,1
    - Dst: LZ4_compress_HC_extStateHC_fastReset
      Src: /src/librdkafka/src/lz4frame.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - dstCapacity
    - level
    - cdict
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: LZ4F_compressBlockHC
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_continue
    - LZ4_compress_HC_extStateHC_fastReset
    - LZ4F_initStream
    linkageType: ''
    returnType: int
    signature: int LZ4F_compressBlockHC(void* ctx, const char* src, char* dst, int
      srcSize, int dstCapacity, int level, const LZ4F_CDict* cdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_continue
      Src: /src/librdkafka/src/lz4frame.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - dstCapacity
    - level
    - cdict
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 886
    functionName: LZ4F_compressBlockHC_continue
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_continue
    linkageType: ''
    returnType: int
    signature: int LZ4F_compressBlockHC_continue(void* ctx, const char* src, char*
      dst, int srcSize, int dstCapacity, int level, const LZ4F_CDict* cdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - dstCapacity
    - level
    - cdict
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    - LZ4F_CDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: LZ4F_doNotCompressBlock
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4F_doNotCompressBlock(void* ctx, const char* src, char* dst,
      int srcSize, int dstCapacity, int level, const LZ4F_CDict* cdict)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - blockMode
    - level
    - compressMode
    argTypes:
    - LZ4F_blockMode_t
    - int
    - LZ4F_blockCompression_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 903
    functionName: LZ4F_selectCompression
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: compressFunc_t
    signature: compressFunc_t LZ4F_selectCompression(LZ4F_blockMode_t blockMode, int
      level, LZ4F_blockCompression_t  compressMode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_saveDict
      Src: /src/librdkafka/src/lz4frame.c:909,1
    - Dst: LZ4_saveDictHC
      Src: /src/librdkafka/src/lz4frame.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cctxPtr
    argTypes:
    - LZ4F_cctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 911
    functionName: LZ4F_localSaveDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4_saveDictHC
    - LZ4_saveDict
    linkageType: ''
    returnType: int
    signature: int LZ4F_localSaveDict(LZ4F_cctx_t* cctxPtr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_selectCompression
      Src: /src/librdkafka/src/lz4frame.c:942,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:944,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:946,1
    - Dst: LZ4F_compressBound_internal
      Src: /src/librdkafka/src/lz4frame.c:947,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:948,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:951,1
    - Dst: LZ4F_flush
      Src: /src/librdkafka/src/lz4frame.c:955,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:965,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:968,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:975,1
    - Dst: LZ4F_makeBlock
      Src: /src/librdkafka/src/lz4frame.c:978,1
    - Dst: LZ4F_makeBlock
      Src: /src/librdkafka/src/lz4frame.c:990,1
    - Dst: LZ4F_makeBlock
      Src: /src/librdkafka/src/lz4frame.c:1001,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1012,1
    - Dst: LZ4F_localSaveDict
      Src: /src/librdkafka/src/lz4frame.c:1016,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1017,1
    - Dst: LZ4F_localSaveDict
      Src: /src/librdkafka/src/lz4frame.c:1028,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1030,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1037,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/lz4frame.c:1042,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 7
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - srcBuffer
    - srcSize
    - compressOptionsPtr
    - blockCompression
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - void*
    - size_t
    - LZ4F_compressOptions_t*
    - LZ4F_blockCompression_t
    assertStmts:
    - condition: (blockCompression == LZ4B_COMPRESSED)
      pos:
        line_end: 1011
        line_start: 1011
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (blockSize > cctxPtr->tmpInSize)
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (0 <= realDictSize && realDictSize <= 64 KB)
      pos:
        line_end: 1016
        line_start: 1016
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: ((cctxPtr->tmpIn + blockSize) <= (cctxPtr->tmpBuff + cctxPtr->maxBufferSize))
      pos:
        line_end: 1029
        line_start: 1029
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1046
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 1046
    functionName: LZ4F_compressUpdateImpl
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_localSaveDict
    - LZ4F_selectCompression
    - XXH32_update
    - LZ4F_flush
    - RETURN_ERROR_IF
    - DEBUGLOG
    - RETURN_ERROR
    - memcpy
    - LZ4F_makeBlock
    - assert
    - LZ4F_compressBound_internal
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressUpdateImpl(LZ4F_cctx* cctxPtr,\n                     void*
      dstBuffer, size_t dstCapacity,\n                     const void* srcBuffer,
      size_t srcSize,\n                     const LZ4F_compressOptions_t* compressOptionsPtr,\n
      \                    LZ4F_blockCompression_t blockCompression)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_compressUpdateImpl
      Src: /src/librdkafka/src/lz4frame.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - srcBuffer
    - srcSize
    - compressOptionsPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - void*
    - size_t
    - LZ4F_compressOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1060
    functionDepth: 4
    functionLinenumber: 1060
    functionLinenumberEnd: 1069
    functionName: LZ4F_compressUpdate
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - LZ4F_compressUpdateImpl
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressUpdate(LZ4F_cctx* cctxPtr,\n                           void*
      dstBuffer, size_t dstCapacity,\n                     const void* srcBuffer,
      size_t srcSize,\n                     const LZ4F_compressOptions_t* compressOptionsPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1088,1
    - Dst: LZ4F_compressUpdateImpl
      Src: /src/librdkafka/src/lz4frame.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - srcBuffer
    - srcSize
    - compressOptionsPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - void*
    - size_t
    - LZ4F_compressOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1084
    functionDepth: 4
    functionLinenumber: 1084
    functionLinenumberEnd: 1093
    functionName: LZ4F_uncompressedUpdate
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_compressUpdateImpl
    - RETURN_ERROR_IF
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_uncompressedUpdate(LZ4F_cctx* cctxPtr,\n                               void*
      dstBuffer, size_t dstCapacity,\n                         const void* srcBuffer,
      size_t srcSize,\n                         const LZ4F_compressOptions_t* compressOptionsPtr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1113,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1114,1
    - Dst: LZ4F_selectCompression
      Src: /src/librdkafka/src/lz4frame.c:1118,1
    - Dst: LZ4F_makeBlock
      Src: /src/librdkafka/src/lz4frame.c:1121,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1126,1
    - Dst: LZ4F_localSaveDict
      Src: /src/librdkafka/src/lz4frame.c:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - compressOptionsPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - LZ4F_compressOptions_t*
    assertStmts:
    - condition: (((void)"flush overflows dstBuffer!", (size_t)(dstPtr - dstStart)
        <= dstCapacity))
      pos:
        line_end: 1125
        line_start: 1125
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1139
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1139
    functionName: LZ4F_flush
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_localSaveDict
    - LZ4F_selectCompression
    - RETURN_ERROR_IF
    - assert
    - LZ4F_makeBlock
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_flush(LZ4F_cctx* cctxPtr,\n                  void* dstBuffer,
      size_t dstCapacity,\n            const LZ4F_compressOptions_t* compressOptionsPtr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_flush
      Src: /src/librdkafka/src/lz4frame.c:1158,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1159,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1160,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1163,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1166,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:1167,1
    - Dst: XXH32_digest
      Src: /src/librdkafka/src/lz4frame.c:1171,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1172,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1173,1
    - Dst: LZ4F_writeLE32
      Src: /src/librdkafka/src/lz4frame.c:1174,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - cctxPtr
    - dstBuffer
    - dstCapacity
    - compressOptionsPtr
    argTypes:
    - LZ4F_cctx*
    - void*
    - size_t
    - LZ4F_compressOptions_t*
    assertStmts:
    - condition: (flushSize <= dstCapacity)
      pos:
        line_end: 1162
        line_start: 1162
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1187
      start: 1151
    functionDepth: 3
    functionLinenumber: 1151
    functionLinenumberEnd: 1187
    functionName: LZ4F_compressEnd
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - FORWARD_IF_ERROR
    - LZ4F_writeLE32
    - XXH32_digest
    - LZ4F_flush
    - RETURN_ERROR_IF
    - DEBUGLOG
    - assert
    - RETURN_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_compressEnd(LZ4F_cctx* cctxPtr,\n                        void*
      dstBuffer, size_t dstCapacity,\n                  const LZ4F_compressOptions_t*
      compressOptionsPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_calloc
      Src: /src/librdkafka/src/lz4frame.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - customMem
    - version
    argTypes:
    - LZ4F_CustomMem
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1238
    functionName: LZ4F_createDecompressionContext_advanced
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_calloc
    linkageType: ''
    returnType: LZ4F_dctx
    signature: LZ4F_dctx * LZ4F_createDecompressionContext_advanced(LZ4F_CustomMem
      customMem, unsigned version)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1249,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1250,1
    - Dst: LZ4F_createDecompressionContext_advanced
      Src: /src/librdkafka/src/lz4frame.c:1252,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - LZ4F_decompressionContextPtr
    - versionNumber
    argTypes:
    - LZ4F_dctx**
    - unsigned
    assertStmts:
    - condition: (LZ4F_decompressionContextPtr != NULL)
      pos:
        line_end: 1248
        line_start: 1248
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1257
      start: 1246
    functionDepth: 2
    functionLinenumber: 1246
    functionLinenumberEnd: 1257
    functionName: LZ4F_createDecompressionContext
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - assert
    - LZ4F_createDecompressionContext_advanced
    - RETURN_ERROR
    - RETURN_ERROR_IF
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: LZ4F_errorCode_t LZ4F_createDecompressionContext(LZ4F_dctx** LZ4F_decompressionContextPtr,
      unsigned versionNumber)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:1264,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:1265,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - LZ4F_dctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1269
    functionName: LZ4F_freeDecompressionContext
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_free
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: LZ4F_errorCode_t LZ4F_freeDecompressionContext(LZ4F_dctx* dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - LZ4F_dctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1280
    functionName: LZ4F_resetDecompressionContext
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4F_resetDecompressionContext(LZ4F_dctx* dctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1297,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1299,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:1300,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1303,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1317,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1318,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1319,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1333,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1334,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1343,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1353,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1354,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1355,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1359,1
    - Dst: LZ4F_headerChecksum
      Src: /src/librdkafka/src/lz4frame.c:1361,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1362,1
    - Dst: LZ4F_getBlockSize
      Src: /src/librdkafka/src/lz4frame.c:1371,1
    - Dst: LZ4F_readLE64
      Src: /src/librdkafka/src/lz4frame.c:1373,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 3
    argNames:
    - dctx
    - src
    - srcSize
    argTypes:
    - LZ4F_dctx*
    - void*
    - size_t
    assertStmts:
    - condition: (frameHeaderSize > 5)
      pos:
        line_end: 1358
        line_start: 1358
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1380
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1380
    functionName: LZ4F_decodeHeader
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    - LZ4F_readLE32
    - LZ4F_readLE64
    - RETURN_ERROR_IF
    - DEBUGLOG
    - LZ4F_headerChecksum
    - RETURN_ERROR
    - memcpy
    - assert
    - LZ4F_getBlockSize
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4F_decodeHeader(LZ4F_dctx* dctx, const void* src, size_t srcSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1389,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1393,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1396,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1401,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - srcSize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    functionName: LZ4F_headerSize
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - RETURN_ERROR
    - LZ4F_readLE32
    - RETURN_ERROR_IF
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4F_headerSize(const void* src, size_t srcSize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4frame.c:1432,1
    - Dst: LZ4F_decompress
      Src: /src/librdkafka/src/lz4frame.c:1439,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1444,1
    - Dst: LZ4F_headerSize
      Src: /src/librdkafka/src/lz4frame.c:1446,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/lz4frame.c:1447,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1450,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src/lz4frame.c:1453,1
    - Dst: LZ4F_isError
      Src: /src/librdkafka/src/lz4frame.c:1454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - dctx
    - frameInfoPtr
    - srcBuffer
    - srcSizePtr
    argTypes:
    - LZ4F_dctx*
    - LZ4F_frameInfo_t*
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1463
    functionName: LZ4F_getFrameInfo
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 1
    functionsReached:
    - LZ4F_headerSize
    - LZ4F_decodeHeader
    - LZ4F_isError
    - LZ4F_STATIC_ASSERT
    - RETURN_ERROR
    - LZ4F_decompress
    linkageType: ''
    returnType: LZ4F_errorCode_t
    signature: "LZ4F_errorCode_t LZ4F_getFrameInfo(LZ4F_dctx* dctx,\n                                   LZ4F_frameInfo_t*
      frameInfoPtr,\n                             const void* srcBuffer, size_t* srcSizePtr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1474,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1476,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1483,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1490,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1493,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1497,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1509,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1519,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1522,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1530,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 5
    argNames:
    - dctx
    - dstPtr
    - dstSize
    - dstBufferStart
    - withinTmp
    argTypes:
    - LZ4F_dctx*
    - BYTE*
    - size_t
    - BYTE*
    - unsigned
    assertStmts:
    - condition: (dstPtr != NULL)
      pos:
        line_end: 1473
        line_start: 1473
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx->dict != NULL)
      pos:
        line_end: 1475
        line_start: 1475
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx->tmpOutBuffer != NULL)
      pos:
        line_end: 1492
        line_start: 1492
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dstSize < 64 KB)
      pos:
        line_end: 1489
        line_start: 1489
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dstPtr >= dstBufferStart)
      pos:
        line_end: 1482
        line_start: 1482
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx->dict + dctx->dictSize == dctx->tmpOut + dctx->tmpOutStart)
      pos:
        line_end: 1496
        line_start: 1496
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 1535
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1535
    functionName: LZ4F_updateDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - assert
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void LZ4F_updateDict(LZ4F_dctx* dctx,\n                      const
      BYTE* dstPtr, size_t dstSize, const BYTE* dstBufferStart,\n                      unsigned
      withinTmp)"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1573,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1575,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4frame.c:1576,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1580,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1591,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src/lz4frame.c:1593,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1594,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1605,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1606,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1607,1
    - Dst: FORWARD_IF_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1616,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src/lz4frame.c:1616,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1620,1
    - Dst: XXH32_reset
      Src: /src/librdkafka/src/lz4frame.c:1621,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:1627,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:1628,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1629,1
    - Dst: LZ4F_free
      Src: /src/librdkafka/src/lz4frame.c:1630,1
    - Dst: LZ4F_malloc
      Src: /src/librdkafka/src/lz4frame.c:1631,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1632,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1658,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1659,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1672,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1676,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1681,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1686,1
    - Dst: XXH32_reset
      Src: /src/librdkafka/src/lz4frame.c:1688,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1704,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1709,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1710,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1711,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/lz4frame.c:1714,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/lz4frame.c:1717,1
    - Dst: LZ4F_updateDict
      Src: /src/librdkafka/src/lz4frame.c:1724,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1747,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1754,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1755,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1765,1
    - Dst: XXH32_digest
      Src: /src/librdkafka/src/lz4frame.c:1766,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1768,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1770,1
    - Dst: RETURN_ERROR
      Src: /src/librdkafka/src/lz4frame.c:1772,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1783,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1797,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1798,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1815,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1817,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1818,1
    - Dst: XXH32
      Src: /src/librdkafka/src/lz4frame.c:1819,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1821,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:1838,1
    - Dst: LZ4_decompress_safe_usingDict
      Src: /src/librdkafka/src/lz4frame.c:1844,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1848,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/lz4frame.c:1850,1
    - Dst: LZ4F_updateDict
      Src: /src/librdkafka/src/lz4frame.c:1856,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1871,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1876,1
    - Dst: LZ4_decompress_safe_usingDict
      Src: /src/librdkafka/src/lz4frame.c:1889,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1893,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/lz4frame.c:1895,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4frame.c:1905,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1907,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1908,1
    - Dst: LZ4F_updateDict
      Src: /src/librdkafka/src/lz4frame.c:1912,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1927,1
    - Dst: LZ4F_resetDecompressionContext
      Src: /src/librdkafka/src/lz4frame.c:1930,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1946,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1947,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:1960,1
    - Dst: XXH32_digest
      Src: /src/librdkafka/src/lz4frame.c:1961,1
    - Dst: RETURN_ERROR_IF
      Src: /src/librdkafka/src/lz4frame.c:1963,1
    - Dst: LZ4F_resetDecompressionContext
      Src: /src/librdkafka/src/lz4frame.c:1970,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:1987,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:1989,1
    - Dst: LZ4F_readLE32
      Src: /src/librdkafka/src/lz4frame.c:2002,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:2010,1
    - Dst: LZ4F_resetDecompressionContext
      Src: /src/librdkafka/src/lz4frame.c:2017,1
    - Dst: LZ4F_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4frame.c:2024,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4frame.c:2037,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:2039,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4frame.c:2045,1
    - Dst: memcpy
      Src: /src/librdkafka/src/lz4frame.c:2047,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 351
    argCount: 6
    argNames:
    - dctx
    - dstBuffer
    - dstSizePtr
    - srcBuffer
    - srcSizePtr
    - decompressOptionsPtr
    argTypes:
    - LZ4F_dctx*
    - void*
    - size_t*
    - void*
    - size_t*
    - LZ4F_decompressOptions_t*
    assertStmts:
    - condition: (selectedIn != NULL)
      pos:
        line_end: 1816
        line_start: 1816
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx->tmpOutBuffer != NULL)
      pos:
        line_end: 2036
        line_start: 2036
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx != NULL)
      pos:
        line_end: 1579
        line_start: 1579
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dstPtr != NULL)
      pos:
        line_end: 1837
        line_start: 1837
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (dctx->tmpInTarget >= 4)
      pos:
        line_end: 1814
        line_start: 1814
        source_file: /src/librdkafka/src/lz4frame.c
    - condition: (*dstSizePtr == 0)
      pos:
        line_end: 1574
        line_start: 1574
        source_file: /src/librdkafka/src/lz4frame.c
    constantsTouched: []
    func_position:
      end: 2058
      start: 1556
    functionDepth: 3
    functionLinenumber: 1556
    functionLinenumberEnd: 2058
    functionName: LZ4F_decompress
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 2
    functionsReached:
    - LZ4F_decodeHeader
    - XXH32_digest
    - RETURN_ERROR_IF
    - assert
    - LZ4_decompress_safe_usingDict
    - LZ4F_STATIC_ASSERT
    - LZ4F_resetDecompressionContext
    - FORWARD_IF_ERROR
    - MEM_INIT
    - LZ4F_readLE32
    - MIN
    - LZ4F_updateDict
    - RETURN_ERROR
    - memcpy
    - LZ4F_free
    - XXH32_update
    - XXH32
    - DEBUGLOG
    - XXH32_reset
    - LZ4F_malloc
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_decompress(LZ4F_dctx* dctx,\n                       void*
      dstBuffer, size_t* dstSizePtr,\n                       const void* srcBuffer,
      size_t* srcSizePtr,\n                       const LZ4F_decompressOptions_t*
      decompressOptionsPtr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4F_decompress
      Src: /src/librdkafka/src/lz4frame.c:2075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - dctx
    - dstBuffer
    - dstSizePtr
    - srcBuffer
    - srcSizePtr
    - dict
    - dictSize
    - decompressOptionsPtr
    argTypes:
    - LZ4F_dctx*
    - void*
    - size_t*
    - void*
    - size_t*
    - void*
    - size_t
    - LZ4F_decompressOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2065
    functionDepth: 4
    functionLinenumber: 2065
    functionLinenumberEnd: 2078
    functionName: LZ4F_decompress_usingDict
    functionSourceFile: /src/librdkafka/src/lz4frame.c
    functionUses: 0
    functionsReached:
    - LZ4F_decompress
    linkageType: ''
    returnType: size_t
    signature: "size_t LZ4F_decompress_usingDict(LZ4F_dctx* dctx,\n                       void*
      dstBuffer, size_t* dstSizePtr,\n                       const void* srcBuffer,
      size_t* srcSizePtr,\n                       const void* dict, size_t dictSize,\n
      \                      const LZ4F_decompressOptions_t* decompressOptionsPtr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - rd_crc32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: rd_crc32_reflect
    functionSourceFile: /src/librdkafka/src/rdcrc32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_crc32_t
    signature: rd_crc32_t rd_crc32_reflect(rd_crc32_t data, size_t data_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_is_transactional
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:40,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: rd_kafka_txn_may_enq_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 1
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_is_transactional
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_txn_may_enq_msg(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:55,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: rd_kafka_txn_may_send_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 1
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_txn_may_send_msg(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: rd_kafka_txn_toppar_may_send_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 1
    functionsReached:
    - likely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_txn_toppar_may_send_msg(rd_kafka_toppar_t *rktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:100,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:103,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:105,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:111,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:115,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:116,1
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:120,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:123,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:124,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:126,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:130,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:135,1
    - Dst: rd_kafka_txn_schedule_register_partitions
      Src: /src/librdkafka/src/rdkafka_txnmgr.h:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 137
    functionName: rd_kafka_txn_add_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 2
    functionsReached:
    - rd_kafka_txn_schedule_register_partitions
    - rd_kafka_toppar_lock
    - TAILQ_EMPTY
    - mtx_lock
    - TAILQ_INSERT_SORTED
    - unlikely
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_keep
    - mtx_unlock
    - likely
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_txn_add_partition(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: rd_kafka_txn_set_abortable_error
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_set_abortable_error(rk, err, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: rd_kafka_txn_set_abortable_error_with_bump
    functionSourceFile: /src/librdkafka/src/rdkafka_txnmgr.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_txn_set_abortable_error_with_bump(rk, err, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_op_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 134
    functionName: rd_kafka_op2str
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_op2str(rd_kafka_op_type_t type)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:138,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_op.c:141,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:144,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_op.c:145,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:147,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:156,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_op.c:162,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:167,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:171,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:175,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:178,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:184,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:187,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_op.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - fp
    - prefix
    - rko
    argTypes:
    - FILE*
    - char*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 202
    functionName: rd_kafka_op_print
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - fprintf
    - rd_kafka_op2str
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void rd_kafka_op_print(FILE *fp, const char *prefix, rd_kafka_op_t
      *rko)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:293,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_op.c:297,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_op.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - source
    - type
    argTypes:
    - char*
    - rd_kafka_op_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 305
    functionName: rd_kafka_op_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - rd_assert
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: rd_kafka_op_t *rd_kafka_op_new0(const char *source, rd_kafka_op_type_t
      type)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_t*::rko_op_cb
      Src: /src/librdkafka/src/rdkafka_op.c:315,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:316,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:317,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:323,1
    - Dst: rd_kafka_buf_handle_op
      Src: /src/librdkafka/src/rdkafka_op.c:326,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:333,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:338,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:340,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:345,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:351,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:356,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:361,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:365,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:371,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:372,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:378,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:382,1
    - Dst: rd_kafka_buf_handle_op
      Src: /src/librdkafka/src/rdkafka_op.c:389,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:391,1
    - Dst: rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_op.c:395,1
    - Dst: rd_kafka_msgq_purge
      Src: /src/librdkafka/src/rdkafka_op.c:397,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_op.c:400,1
    - Dst: rd_kafka_Produce_result_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:402,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:406,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:410,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_op.c:416,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:420,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:421,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:444,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:445,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:448,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:453,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:456,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:457,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:461,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:462,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:463,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:464,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:469,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:470,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_op.c:474,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_op.c:475,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:480,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:484,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:485,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:487,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:492,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:493,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:494,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:495,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:500,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:506,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:514,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:516,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:518,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_op.c:521,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_op.c:522,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_op.c:525,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 156
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 526
    functionName: rd_kafka_op_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 17
    functionsReached:
    - rd_assert
    - rd_free
    - rd_kafka_op_t*::rko_op_cb
    - rd_kafka_broker_destroy
    - rd_list_destroy
    - rd_kafka_topic_destroy0
    - rd_kafka_Produce_result_destroy
    - rd_kafka_buf_handle_op
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_replyq_destroy
    - rd_kafka_msgq_purge
    - RD_IF_FREE
    - rd_kafka_assert
    - rd_kafka_msg_destroy
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: void rd_kafka_op_destroy(rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_op.c:541,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_op.c:542,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_op.c:543,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:545,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_op.c:547,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_op.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - rkq
    - err
    - fmt
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 550
    functionName: rd_kafka_q_op_err
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_enq
    - va_start
    - rd_kafka_op_new
    - rd_vsnprintf
    - va_end
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_op_err(rd_kafka_q_t *rkq,\n                       rd_kafka_resp_err_t
      err,\n                       const char *fmt,\n                       ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_op.c:580,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_op.c:581,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_op.c:582,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:584,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_op.c:588,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_op.c:592,1
    - Dst: rd_kafka_lwtopic_new
      Src: /src/librdkafka/src/rdkafka_op.c:595,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_op.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 8
    argNames:
    - rkq
    - broker_id
    - err
    - version
    - topic
    - rktp
    - offset
    - fmt
    argTypes:
    - rd_kafka_q_t*
    - int32_t
    - rd_kafka_resp_err_t
    - int32_t
    - char*
    - rd_kafka_toppar_t*
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 600
    functionName: rd_kafka_consumer_err
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 10
    functionsReached:
    - rd_kafka_lwtopic_new
    - rd_kafka_q_enq
    - va_start
    - rd_kafka_op_new
    - rd_vsnprintf
    - rd_kafka_toppar_keep
    - va_end
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_consumer_err(rd_kafka_q_t *rkq,\n                           int32_t
      broker_id,\n                           rd_kafka_resp_err_t err,\n                           int32_t
      version,\n                           const char *topic,\n                           rd_kafka_toppar_t
      *rktp,\n                           int64_t offset,\n                           const
      char *fmt,\n                           ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:613,1
    - Dst: rd_kafka_op_get_reply_version
      Src: /src/librdkafka/src/rdkafka_op.c:614,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_op.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rko_orig
    - err
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 620
    functionName: rd_kafka_op_new_reply
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_op_get_reply_version
    - rd_kafka_toppar_keep
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_op_new_reply(rd_kafka_op_t *rko_orig,\n                                     rd_kafka_resp_err_t
      err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - type
    - cb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_type_t
    - rd_kafka_op_cb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 634
    functionName: rd_kafka_op_new_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 6
    functionsReached:
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_op_new_cb(rd_kafka_t *rk,\n                                  rd_kafka_op_type_t
      type,\n                                  rd_kafka_op_cb_t *cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:648,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_op.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - rko
    - err
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 645
    functionDepth: 6
    functionLinenumber: 645
    functionLinenumberEnd: 657
    functionName: rd_kafka_op_reply
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 4
    functionsReached:
    - rd_kafka_replyq_enq
    - rd_kafka_op_destroy
    linkageType: ''
    returnType: int
    signature: int rd_kafka_op_reply(rd_kafka_op_t *rko, rd_kafka_resp_err_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_op.c:672,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:673,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_op.c:679,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_op.c:682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rko
    - error
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 6
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: rd_kafka_op_error_reply
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_replyq_enq
    - rd_kafka_error_code
    - rd_kafka_op_destroy
    - RD_IF_FREE
    linkageType: ''
    returnType: int
    signature: int rd_kafka_op_error_reply(rd_kafka_op_t *rko, rd_kafka_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_op.c:698,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_op.c:701,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka_op.c:705,1
    - Dst: rd_timeout_us
      Src: /src/librdkafka/src/rdkafka_op.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - destq
    - recvq
    - rko
    - timeout_ms
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 709
    functionName: rd_kafka_op_req0
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_pop
    - rd_timeout_us
    - rd_kafka_q_enq
    - rd_kafka_op_set_replyq
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_op_req0(rd_kafka_q_t *destq,\n                                rd_kafka_q_t
      *recvq,\n                                rd_kafka_op_t *rko,\n                                int
      timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_op.c:720,1
    - Dst: rd_kafka_op_req0
      Src: /src/librdkafka/src/rdkafka_op.c:722,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_op.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - destq
    - rko
    - timeout_ms
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 727
    functionName: rd_kafka_op_req
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 19
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_q_destroy_owner
    - rd_kafka_op_req0
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: 'rd_kafka_op_t *

      rd_kafka_op_req(rd_kafka_q_t *destq, rd_kafka_op_t *rko, int timeout_ms)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:736,1
    - Dst: rd_kafka_op_req
      Src: /src/librdkafka/src/rdkafka_op.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - destq
    - type
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: rd_kafka_op_req2
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 6
    functionsReached:
    - rd_kafka_op_req
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: rd_kafka_op_t *rd_kafka_op_req2(rd_kafka_q_t *destq, rd_kafka_op_type_t
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 744
    functionDepth: 6
    functionLinenumber: 744
    functionLinenumberEnd: 752
    functionName: rd_kafka_op_err_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 18
    functionsReached:
    - rd_kafka_op_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_op_err_destroy(rd_kafka_op_t *rko)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:762,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_op.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 758
    functionDepth: 6
    functionLinenumber: 758
    functionLinenumberEnd: 768
    functionName: rd_kafka_op_error_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_op_destroy
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_op_error_destroy(rd_kafka_op_t *rko)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_op.c:777,1
    - Dst: rd_kafka_op_t*::rko_op_cb
      Src: /src/librdkafka/src/rdkafka_op.c:778,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 784
    functionName: rd_kafka_op_call
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - unlikely
    - rd_kafka_op_t*::rko_op_cb
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: rd_kafka_op_res_t rd_kafka_op_call(rd_kafka_t *rk, rd_kafka_q_t *rkq,
      rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new_fetch_msg
      Src: /src/librdkafka/src/rdkafka_op.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rktp
    - version
    - rkbuf
    - pos
    argTypes:
    - rd_kafka_toppar_t*
    - int32_t
    - rd_kafka_buf_t*
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 805
    functionName: rd_kafka_op_new_ctrl_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_new_fetch_msg
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_op_new_ctrl_msg(rd_kafka_toppar_t *rktp,\n
      \                                       int32_t version,\n                                        rd_kafka_buf_t
      *rkbuf,\n                                        rd_kafka_fetch_pos_t pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:826,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_op.c:827,1
    - Dst: rd_kafka_buf_keep
      Src: /src/librdkafka/src/rdkafka_op.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 9
    argNames:
    - rkmp
    - rktp
    - version
    - rkbuf
    - pos
    - key_len
    - key
    - val_len
    - val
    argTypes:
    - rd_kafka_msg_t**
    - rd_kafka_toppar_t*
    - int32_t
    - rd_kafka_buf_t*
    - rd_kafka_fetch_pos_t
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 857
    functionName: rd_kafka_op_new_fetch_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_keep
    - rd_kafka_toppar_keep
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_op_new_fetch_msg(rd_kafka_msg_t **rkmp,\n
      \                                        rd_kafka_toppar_t *rktp,\n                                         int32_t
      version,\n                                         rd_kafka_buf_t *rkbuf,\n
      \                                        rd_kafka_fetch_pos_t pos,\n                                         size_t
      key_len,\n                                         const void *key,\n                                         size_t
      val_len,\n                                         const void *val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:868,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_op.c:869,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_op.c:870,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_op.c:880,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka_op.c:883,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_op.c:885,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka_op.c:886,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_op.c:887,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_op.c:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - rkb
    - rkq
    - throttle_time
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 891
    functionName: rd_kafka_op_throttle_time
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_enq
    - rd_atomic32_set
    - rd_kafka_op_new
    - rd_atomic32_get
    - rd_kafka_op_set_prio
    - rd_strdup
    - unlikely
    - rd_avg_add
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_op_throttle_time(rd_kafka_broker_t *rkb,\n                               rd_kafka_q_t
      *rkq,\n                               int throttle_time)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:903,1
    - Dst: rd_kafka_op_is_ctrl_msg
      Src: /src/librdkafka/src/rdkafka_op.c:903,1
    - Dst: rd_kafka_fetch_op_app_prepare
      Src: /src/librdkafka/src/rdkafka_op.c:906,1
    - Dst: rd_kafka_op_call
      Src: /src/librdkafka/src/rdkafka_op.c:910,1
    - Dst: rd_kafka_buf_handle_op
      Src: /src/librdkafka/src/rdkafka_op.c:912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 897
    functionDepth: 2
    functionLinenumber: 897
    functionLinenumberEnd: 922
    functionName: rd_kafka_op_handle_std
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_call
    - rd_kafka_buf_handle_op
    - rd_kafka_fetch_op_app_prepare
    - rd_kafka_op_is_ctrl_msg
    - unlikely
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_op_handle_std(rd_kafka_t *rk,\n                                         rd_kafka_q_t
      *rkq,\n                                         rd_kafka_op_t *rko,\n                                         int
      cb_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_handle_std
      Src: /src/librdkafka/src/rdkafka_op.c:952,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_op.c:958,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:960,1
    - Dst: callback
      Src: /src/librdkafka/src/rdkafka_op.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    - callback
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    - rd_kafka_q_serve_cb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 937
    functionDepth: 6
    functionLinenumber: 937
    functionLinenumberEnd: 967
    functionName: rd_kafka_op_handle
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_handle_std
    - rd_kafka_op_destroy
    - unlikely
    - callback
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_op_handle(rd_kafka_t *rk,\n                                     rd_kafka_q_t
      *rkq,\n                                     rd_kafka_op_t *rko,\n                                     rd_kafka_q_cb_type_t
      cb_type,\n                                     void *opaque,\n                                     rd_kafka_q_serve_cb_t
      *callback)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:985,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_op.c:990,1
    - Dst: rd_kafka_update_app_pos
      Src: /src/librdkafka/src/rdkafka_op.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rk
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 981
    functionDepth: 2
    functionLinenumber: 981
    functionLinenumberEnd: 997
    functionName: rd_kafka_fetch_op_app_prepare
    functionSourceFile: /src/librdkafka/src/rdkafka_op.c
    functionUses: 1
    functionsReached:
    - rd_kafka_update_app_pos
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_fetch_op_app_prepare(rd_kafka_t *rk, rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: BUG_ON
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG_ON(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: BUG_ON
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUG_ON(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: vmalloc
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vmalloc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: vfree
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vfree(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ARRAY_SIZE
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: likely
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 187
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: likely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: unlikely
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 156
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlikely(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: min_t
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min_t(t,x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: max_t
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max_t(t,x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: htole16
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: htole16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: le32toh
    functionSourceFile: /src/librdkafka/src/snappy_compat.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: le32toh(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flag
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: call_once
    functionSourceFile: /src/librdkafka/src/tinycthread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: call_once(flag,func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: RD_UT_BEGIN
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_BEGIN()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: RD_UT_FAIL
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_FAIL(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: RD_UT_PASS
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_PASS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: RD_UT_SKIP
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_SKIP(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 107
    functionName: RD_UT_ASSERT
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_ASSERT(expr, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - V
    - ','
    - VMIN
    - ','
    - VMAX
    - ','
    - VFMT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: RD_UT_ASSERT_RANGE
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_ASSERT_RANGE(V, VMIN, VMAX, VFMT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: RD_UT_SAY
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_SAY(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: RD_UT_WARN
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_WARN(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COVNR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: RD_UT_COVERAGE
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_COVERAGE(COVNR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COVNR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: RD_UT_COVERAGE_CHECK
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_COVERAGE_CHECK(COVNR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COVNR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: RD_UT_COVERAGE
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_COVERAGE(COVNR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - COVNR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: RD_UT_COVERAGE_CHECK
    functionSourceFile: /src/librdkafka/src/rdunittest.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UT_COVERAGE_CHECK(COVNR)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:53,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:55,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rkbuf
    - tagtype
    - mpart
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_kafka_mock_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 62
    functionName: rd_kafka_mock_Produce_reply_tags_partition_write
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_i32
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_Produce_reply_tags_partition_write(\n    rd_kafka_buf_t
      *rkbuf,\n    int tagtype,\n    rd_kafka_mock_partition_t *mpart)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:73,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:78,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:80,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:84,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:88,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rkbuf
    - tagtype
    - changed_leaders
    - changed_leader_cnt
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_kafka_mock_broker_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 96
    functionName: rd_kafka_mock_Produce_reply_tags_write
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_Produce_reply_tags_write(\n    rd_kafka_buf_t *rkbuf,\n
      \   int tagtype,\n    rd_kafka_mock_broker_t **changed_leaders,\n    int changed_leader_cnt)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:105,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:115,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:119,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:121,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:122,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:124,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:127,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:130,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:137,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:138,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:140,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:143,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:145,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:156,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:159,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:162,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:164,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:166,1
    - Dst: rd_kafka_mock_partition_log_append
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:178,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:183,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:187,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:191,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:195,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:200,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:204,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:208,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:217,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:220,1
    - Dst: rd_kafka_buf_write_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:249,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:257,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:259,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:264,1
    - Dst: rd_kafka_buf_write_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:273,1
    - Dst: rd_kafka_mock_connection_send_response0
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:277,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:278,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:282,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:283,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 285
    functionName: rd_kafka_mock_handle_Produce
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_connection_send_response0
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_write_tags
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_partition_find
    - rd_kafka_mock_topic_find_by_kstr
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_mock_partition_log_append
    - rd_calloc
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_kbytes
    - rd_free
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_Produce(rd_kafka_mock_connection_t *mconn,\n
      \                                       rd_kafka_buf_t *rkbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_partition_next_leader_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:297,1
    - Dst: rd_kafka_mock_partition_leader_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:301,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:306,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:308,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rkbuf
    - tagtype
    - mpart
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_kafka_mock_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 316
    functionName: rd_kafka_mock_Fetch_reply_tags_partition_write
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_next_leader_response
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_partition_leader_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_Fetch_reply_tags_partition_write(\n    rd_kafka_buf_t
      *rkbuf,\n    int tagtype,\n    rd_kafka_mock_partition_t *mpart)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:327,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:332,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:334,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:338,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:342,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rkbuf
    - tagtype
    - changed_leaders
    - changed_leader_cnt
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_kafka_mock_broker_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 350
    functionName: rd_kafka_mock_Fetch_reply_tags_write
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_Fetch_reply_tags_write(\n    rd_kafka_buf_t *rkbuf,\n
      \   int tagtype,\n    rd_kafka_mock_broker_t **changed_leaders,\n    int changed_leader_cnt)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:360,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:372,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:375,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:377,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:378,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:380,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:382,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:384,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:385,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:390,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:395,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:399,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:402,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:405,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:408,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:418,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:423,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:426,1
    - Dst: rd_kafka_mock_topic_find_by_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:431,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:433,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:436,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:438,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:442,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:456,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:459,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:462,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:465,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:468,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:470,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:473,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:476,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:482,1
    - Dst: rd_kafka_mock_partition_leader_epoch_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:502,1
    - Dst: rd_kafka_mock_msgset_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:510,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:514,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:521,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:522,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:529,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:532,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:540,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:546,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:556,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:568,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:583,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:591,1
    - Dst: rd_kafka_buf_write_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:616,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:624,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:626,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:631,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:638,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:641,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:643,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:647,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:651,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:658,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:659,1
    - Dst: rd_kafka_buf_write_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:669,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:679,1
    - Dst: rd_kafka_mock_connection_send_response0
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:681,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:682,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:686,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:687,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 147
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 689
    functionName: rd_kafka_mock_handle_Fetch
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_mock_partition_leader_epoch_check
    - rd_kafka_mock_connection_send_response0
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_i8
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_write_kbytes
    - rd_kafka_buf_write_tags
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_next_request_error
    - rd_kafka_err2name
    - rd_kafka_mock_partition_find
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i64
    - rd_kafka_mock_msgset_find
    - rd_calloc
    - rd_kafka_buf_read_arraycnt
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_clock
    - rd_kafka_buf_read_uuid
    - rd_free
    - rd_kafka_buf_destroy
    - rd_kafka_mock_topic_find_by_id
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_uuid
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_mock_topic_find_by_kstr
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_Fetch(rd_kafka_mock_connection_t *mconn,\n
      \                                     rd_kafka_buf_t *rkbuf)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:700,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:705,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:707,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:711,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:716,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:718,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:721,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:728,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:729,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:732,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:735,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:737,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:746,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:749,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:752,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:755,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:758,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:761,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:765,1
    - Dst: rd_kafka_mock_partition_leader_epoch_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:775,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:779,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:794,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:798,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:801,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:804,1
    - Dst: rd_kafka_mock_msgset_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:819,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:826,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:830,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:832,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:837,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:839,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:840,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:844,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:846,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:850,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:855,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 857
    functionName: rd_kafka_mock_handle_ListOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_leader_epoch_check
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_i8
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_partition_find
    - rd_kafka_mock_topic_find_by_kstr
    - rd_kafka_err2str
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_msgset_find
    - rd_kafka_buf_read_arraycnt
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_destroy
    - rd_kafka_offset2str
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_buf_write_i64
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_ListOffsets(rd_kafka_mock_connection_t *mconn,\n
      \                                           rd_kafka_buf_t *rkbuf)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:867,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:875,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:878,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:881,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:883,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:890,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:893,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:900,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:901,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:903,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:906,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:908,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:916,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:919,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:923,1
    - Dst: rd_kafka_mock_committed_offset_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:929,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:933,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:937,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:942,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:946,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:949,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:952,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:960,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:965,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:967,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:968,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:972,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:975,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:980,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:984,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:989,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 991
    functionName: rd_kafka_mock_handle_OffsetFetch
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_skip_tags
    - rd_kafka_mock_committed_offset_find
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_partition_find
    - rd_kafka_mock_topic_find_by_kstr
    - rd_kafka_err2str
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_read_arraycnt
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_buf_write_i64
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_OffsetFetch(rd_kafka_mock_connection_t *mconn,\n
      \                                           rd_kafka_buf_t *rkbuf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1002,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1010,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1013,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1016,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1017,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1021,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1026,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1031,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1033,1
    - Dst: rd_kafka_mock_cgrp_classic_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1043,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1047,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1048,1
    - Dst: rd_kafka_mock_cgrp_classic_check_state
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1055,1
    - Dst: rd_kafka_mock_cgrp_consumer_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1062,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1065,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1067,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1086,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1089,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1096,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1097,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1100,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1103,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1105,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1114,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1117,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1121,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1126,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1130,1
    - Dst: rd_kafka_mock_partition_leader_epoch_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1135,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1141,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1144,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1145,1
    - Dst: rd_kafka_mock_commit_offset
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1148,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1153,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1154,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1156,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1157,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1160,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1165,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 998
    functionDepth: 4
    functionLinenumber: 998
    functionLinenumberEnd: 1167
    functionName: rd_kafka_mock_handle_OffsetCommit
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_leader_epoch_check
    - rd_kafka_mock_cgrp_classic_find
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_mock_cgrp_classic_check_state
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_cgrp_consumer_find
    - rd_kafka_mock_cgrp_consumer_member_find
    - rd_kafka_mock_partition_find
    - rd_kafka_mock_cgrp_classic_member_find
    - rd_kafka_buf_write_arraycnt
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_commit_offset
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_mock_topic_find_by_kstr
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_OffsetCommit(rd_kafka_mock_connection_t *mconn,\n
      \                                            rd_kafka_buf_t *rkbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1199,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1201,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1205,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1210,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1213,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1221,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1223,1
    - Dst: rd_kafka_mock_partition_next_leader_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1226,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1228,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1236,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1240,1
    - Dst: rd_kafka_mock_partition_leader_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1243,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1248,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1253,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1259,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1261,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1265,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1267,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1271,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1274,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1279,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 7
    argNames:
    - mcluster
    - resp
    - ApiVersion
    - topic_id
    - topic
    - mtopic
    - err
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafka_buf_t*
    - int16_t
    - rd_kafka_Uuid_t
    - char*
    - rd_kafka_mock_topic_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1183
    functionDepth: 2
    functionLinenumber: 1183
    functionLinenumberEnd: 1283
    functionName: rd_kafka_mock_buf_write_Metadata_Topic
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bool
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_uuid
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_partition_leader_destroy
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_partition_next_leader_response
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_buf_write_Metadata_Topic(rd_kafka_mock_cluster_t
      *mcluster,\n                                       rd_kafka_buf_t *resp,\n                                       int16_t
      ApiVersion,\n                                       rd_kafka_Uuid_t topic_id,\n
      \                                      const char *topic,\n                                       const
      rd_kafka_mock_topic_t *mtopic,\n                                       rd_kafka_resp_err_t
      err)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1294,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1305,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1309,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1311,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1315,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1317,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1319,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1322,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1324,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1327,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1332,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1337,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1341,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1344,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1356,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1358,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1359,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1361,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1364,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1365,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1369,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1375,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1377,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1384,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1386,1
    - Dst: rd_kafka_mock_buf_write_Metadata_Topic
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1387,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1394,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1403,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1406,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1409,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1416,1
    - Dst: rd_kafka_mock_topic_find_by_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1418,1
    - Dst: rd_kafka_mock_topic_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1421,1
    - Dst: rd_kafka_mock_topic_auto_create
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1436,1
    - Dst: rd_kafka_mock_buf_write_Metadata_Topic
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1447,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1455,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1461,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1464,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1465,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1468,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1470,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1476,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1478,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 101
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1289
    functionDepth: 6
    functionLinenumber: 1289
    functionLinenumberEnd: 1480
    functionName: rd_kafka_mock_handle_Metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_topic_partition_list_add
    - rd_kafka_buf_write_i32
    - TAILQ_FOREACH
    - rd_kafka_topic_partition_set_topic_id
    - rd_kafka_mock_buf_write_Metadata_Topic
    - rd_kafka_buf_write_arraycnt
    - RD_KAFKA_UUID_IS_ZERO
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_read_bool
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_topic_partition_list_new
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_topic_auto_create
    - rd_kafka_buf_write_arraycnt_pos
    - rd_kafka_buf_read_uuid
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_buf_destroy
    - rd_kafka_mock_topic_find_by_id
    - rd_kafka_mock_topic_find
    - rd_kafka_buf_read_str
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_Metadata(rd_kafka_mock_connection_t *mconn,\n
      \                                        rd_kafka_buf_t *rkbuf)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1491,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1498,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1502,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1511,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1515,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1517,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1518,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1519,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1527,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1529,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1529,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1532,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1533,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1534,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1537,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1539,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1542,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1543,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1544,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1547,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1551,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1486
    functionDepth: 2
    functionLinenumber: 1486
    functionLinenumberEnd: 1553
    functionName: rd_kafka_mock_handle_FindCoordinator
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_assert
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_i8
    - rd_kafka_err2str
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_FindCoordinator(rd_kafka_mock_connection_t
      *mconn,\n                                     rd_kafka_buf_t *rkbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1565,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1576,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1577,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1579,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1580,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1582,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1583,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1584,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1587,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1591,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1595,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1599,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1600,1
    - Dst: rd_kafkap_str_copy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1601,1
    - Dst: rd_kafkap_bytes_copy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1602,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1610,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1614,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1617,1
    - Dst: rd_kafka_mock_cgrp_classic_get
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1627,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1629,1
    - Dst: rd_kafka_mock_cgrp_classic_member_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1633,1
    - Dst: rd_kafka_mock_connection_set_blocking
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1639,1
    - Dst: rd_kafka_mock_cgrp_classic_protos_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1644,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1647,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1648,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1649,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1650,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1651,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1652,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1654,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1659,1
    - Dst: rd_kafka_mock_cgrp_classic_protos_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1661,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1663
    functionName: rd_kafka_mock_handle_JoinGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_cgrp_classic_get
    - rd_kafka_mock_cgrp_classic_member_add
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_write_str
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafkap_bytes_copy
    - rd_kafka_mock_cgrp_classic_protos_destroy
    - rd_kafka_buf_read_kbytes
    - rd_kafkap_str_copy
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_connection_set_blocking
    - rd_malloc
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_JoinGroup(rd_kafka_mock_connection_t *mconn,\n
      \                                         rd_kafka_buf_t *rkbuf)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1674,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1682,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1683,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1684,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1686,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1693,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1697,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1699,1
    - Dst: rd_kafka_mock_cgrp_classic_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1709,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1716,1
    - Dst: rd_kafka_mock_cgrp_classic_check_state
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1722,1
    - Dst: rd_kafka_mock_cgrp_classic_member_active
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1726,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1728,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1730,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1735,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1669
    functionDepth: 2
    functionLinenumber: 1669
    functionLinenumberEnd: 1737
    functionName: rd_kafka_mock_handle_Heartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_cgrp_classic_find
    - rd_kafka_buf_destroy
    - rd_kafka_mock_cgrp_classic_member_find
    - rd_kafka_mock_cgrp_classic_member_active
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_mock_cgrp_classic_check_state
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_Heartbeat(rd_kafka_mock_connection_t *mconn,\n
      \                                         rd_kafka_buf_t *rkbuf)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1748,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1754,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1755,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1763,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1767,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1769,1
    - Dst: rd_kafka_mock_cgrp_classic_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1779,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1786,1
    - Dst: rd_kafka_mock_cgrp_classic_check_state
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1792,1
    - Dst: rd_kafka_mock_cgrp_classic_member_leave
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1796,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1798,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1800,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1807
    functionName: rd_kafka_mock_handle_LeaveGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_cgrp_classic_member_leave
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_cgrp_classic_find
    - rd_kafka_buf_destroy
    - rd_kafka_mock_cgrp_classic_member_find
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_cgrp_classic_check_state
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_LeaveGroup(rd_kafka_mock_connection_t *mconn,\n
      \                                          rd_kafka_buf_t *rkbuf)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1819,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1828,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1829,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1830,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1832,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1833,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1840,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1844,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1846,1
    - Dst: rd_kafka_mock_cgrp_classic_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1856,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1863,1
    - Dst: rd_kafka_mock_cgrp_classic_check_state
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1869,1
    - Dst: rd_kafka_mock_cgrp_classic_member_active
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1873,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1891,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1892,1
    - Dst: rd_kafka_mock_cgrp_classic_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1899,1
    - Dst: rd_kafka_mock_cgrp_classic_member_assignment_set
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1903,1
    - Dst: rd_kafka_mock_cgrp_classic_member_sync_set
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1908,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1917,1
    - Dst: rd_kafka_buf_write_bytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1918,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1920,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1925,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1814
    functionDepth: 5
    functionLinenumber: 1814
    functionLinenumberEnd: 1927
    functionName: rd_kafka_mock_handle_SyncGroup
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_bytes
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_cgrp_classic_find
    - rd_kafka_buf_destroy
    - rd_kafka_mock_cgrp_classic_member_find
    - rd_kafka_mock_cgrp_classic_member_active
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_cgrp_classic_member_assignment_set
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_mock_cgrp_classic_check_state
    - rd_kafka_mock_cgrp_classic_member_sync_set
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_kbytes
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_SyncGroup(rd_kafka_mock_connection_t *mconn,\n
      \                                         rd_kafka_buf_t *rkbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1938,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1939,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1942,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1946,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1949,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1950,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mcluster
    - TransactionalId
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1934
    functionDepth: 3
    functionLinenumber: 1934
    functionLinenumberEnd: 1955
    functionName: rd_kafka_mock_pid_new
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_list_add
    - mtx_lock
    - rd_jitter
    - rd_malloc
    - memcpy
    - mtx_unlock
    linkageType: ''
    returnType: rd_kafka_pid_t
    signature: "rd_kafka_pid_t rd_kafka_mock_pid_new(rd_kafka_mock_cluster_t *mcluster,\n
      \                     const rd_kafkap_str_t *TransactionalId)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1972,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - mcluster
    - TransactionalId
    - pid
    - mpidp
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    - rd_kafka_pid_t
    - rd_kafka_mock_pid_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1985
    functionName: rd_kafka_mock_pid_find
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 1
    functionsReached:
    - rd_list_find
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_pid_find(rd_kafka_mock_cluster_t
      *mcluster,\n                       const rd_kafkap_str_t *TransactionalId,\n
      \                      const rd_kafka_pid_t pid,\n                       rd_kafka_mock_pid_t
      **mpidp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:1998,1
    - Dst: rd_kafka_mock_pid_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2000,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2003,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2005,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2006,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2009,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2010,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2011,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mcluster
    - TransactionalId
    - check_pid
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    - rd_kafka_pid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 1991
    functionDepth: 3
    functionLinenumber: 1991
    functionLinenumberEnd: 2014
    functionName: rd_kafka_mock_pid_check
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - rd_kafka_err2name
    - mtx_lock
    - rd_kafka_mock_pid_find
    - RD_KAFKAP_STR_PR
    - mtx_unlock
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_pid_check(rd_kafka_mock_cluster_t
      *mcluster,\n                        const rd_kafkap_str_t *TransactionalId,\n
      \                       const rd_kafka_pid_t check_pid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2028,1
    - Dst: rd_kafka_mock_pid_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2029,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2032,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2037,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2043,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2045,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - mcluster
    - TransactionalId
    - current_pid
    argTypes:
    - rd_kafka_mock_cluster_t*
    - rd_kafkap_str_t*
    - rd_kafka_pid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2049
    functionName: rd_kafka_mock_pid_bump
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_pid2str
    - mtx_lock
    - mtx_unlock
    - rd_kafka_mock_pid_find
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_mock_pid_bump(rd_kafka_mock_cluster_t
      *mcluster,\n                       const rd_kafkap_str_t *TransactionalId,\n
      \                      rd_kafka_pid_t *current_pid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2060,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2068,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2070,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2074,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2076,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2084,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2087,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2089,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2090,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2092,1
    - Dst: rd_kafka_pid_valid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2099,1
    - Dst: rd_kafka_mock_pid_bump
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2104,1
    - Dst: rd_kafka_mock_pid_new
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2111,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2116,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2119,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2121,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2123,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2055
    functionDepth: 4
    functionLinenumber: 2055
    functionLinenumberEnd: 2130
    functionName: rd_kafka_mock_handle_InitProducerId
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_kafka_pid_valid
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_pid_new
    - rd_kafka_buf_read_i16
    - rd_kafka_mock_pid_bump
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_InitProducerId(rd_kafka_mock_connection_t
      *mconn,\n                                    rd_kafka_buf_t *rkbuf)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2142,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2149,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2152,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2154,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2156,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2158,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2161,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2164,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2167,1
    - Dst: rd_kafka_mock_pid_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2173,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2181,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2183,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2186,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2188,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2190,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2197,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2199,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2208,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2212,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2137
    functionDepth: 4
    functionLinenumber: 2137
    functionLinenumberEnd: 2219
    functionName: rd_kafka_mock_handle_AddPartitionsToTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_pid_check
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_topic_find_by_kstr
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_AddPartitionsToTxn(rd_kafka_mock_connection_t
      *mconn,\n                                        rd_kafka_buf_t *rkbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2230,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2236,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2238,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2240,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2242,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2245,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2248,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2251,1
    - Dst: rd_kafka_mock_pid_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2256,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2259,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2261,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2225
    functionDepth: 4
    functionLinenumber: 2225
    functionLinenumberEnd: 2268
    functionName: rd_kafka_mock_handle_AddOffsetsToTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_pid_check
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_AddOffsetsToTxn(rd_kafka_mock_connection_t
      *mconn,\n                                     rd_kafka_buf_t *rkbuf)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2279,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2286,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2289,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2291,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2293,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2295,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2302,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2304,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2306,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2310,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2313,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2316,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2319,1
    - Dst: rd_kafka_mock_pid_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2324,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2332,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2334,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2336,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2339,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2342,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2351,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2353,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2355,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2360,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2365,1
    - Dst: rd_kafka_mock_partition_leader_epoch_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2369,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2374,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2377,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2380,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2383,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2387,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2390,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2393,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2274
    functionDepth: 4
    functionLinenumber: 2274
    functionLinenumberEnd: 2400
    functionName: rd_kafka_mock_handle_TxnOffsetCommit
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_partition_leader_epoch_check
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_partition_find
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_mock_pid_check
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_read_str
    - rd_kafka_mock_topic_find_by_kstr
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_TxnOffsetCommit(rd_kafka_mock_connection_t
      *mconn,\n                                     rd_kafka_buf_t *rkbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2410,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2417,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2419,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2421,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2423,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2430,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2433,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2436,1
    - Dst: rd_kafka_mock_pid_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2441,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2444,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2446,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2406
    functionDepth: 4
    functionLinenumber: 2406
    functionLinenumberEnd: 2453
    functionName: rd_kafka_mock_handle_EndTxn
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_pid_check
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_read_bool
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_EndTxn(rd_kafka_mock_connection_t *mconn,\n
      \                                      rd_kafka_buf_t *rkbuf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2460,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2465,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2468,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2471,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2474,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2482,1
    - Dst: rd_kafka_mock_topic_find_by_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2484,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2487,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2490,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2494,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2502,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2504,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2506,1
    - Dst: rd_kafka_mock_partition_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2508,1
    - Dst: rd_kafka_mock_partition_leader_epoch_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2514,1
    - Dst: rd_kafka_mock_partition_offset_for_leader_epoch
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2519,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2524,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2526,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2528,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2530,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2534,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2539,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2455
    functionDepth: 2
    functionLinenumber: 2455
    functionLinenumberEnd: 2541
    functionName: rd_kafka_mock_handle_OffsetForLeaderEpoch
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_mock_connection_send_response
    - rd_kafka_mock_partition_leader_epoch_check
    - rd_kafka_mock_partition_find
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_mock_partition_offset_for_leader_epoch
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_kstr
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_write_i64
    - rd_kafka_buf_read_str
    - rd_kafka_mock_next_request_error
    - rd_kafka_mock_topic_find_by_kstr
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_OffsetForLeaderEpoch(rd_kafka_mock_connection_t
      *mconn,\n                                          rd_kafka_buf_t *rkbuf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2551,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2558,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2569,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2572,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2575,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2578,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2582,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2585,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2588,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2589,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2590,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2591,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2596,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2601,1
    - Dst: rd_kafka_buf_write_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2604,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2607,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2610,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2612,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2619
    functionName: rd_kafka_mock_handle_GetTelemetrySubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_buf_write_bool
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_uuid
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_mock_next_request_error
    - rd_kafka_buf_read_uuid
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_GetTelemetrySubscriptions(\n    rd_kafka_mock_connection_t
      *mconn,\n    rd_kafka_buf_t *rkbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2631,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - decoded
    argTypes:
    - void*
    - opentelemetry_proto_metrics_v1_NumberDataPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2640
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2640
    functionName: rd_kafka_mock_handle_PushTelemetry_decoded_NumberDataPoint
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_rkb_log
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_decoded_NumberDataPoint(\n
      \   void *opaque,\n    const opentelemetry_proto_metrics_v1_NumberDataPoint
      *decoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - int64_value
    argTypes:
    - void*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2648
      start: 2642
    functionDepth: 1
    functionLinenumber: 2642
    functionLinenumberEnd: 2648
    functionName: rd_kafka_mock_handle_PushTelemetry_decoded_int64
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_rkb_log
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_decoded_int64(void *opaque,\n
      \                                                int64_t int64_value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - decoded
    argTypes:
    - void*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2650
    functionDepth: 1
    functionLinenumber: 2650
    functionLinenumberEnd: 2655
    functionName: rd_kafka_mock_handle_PushTelemetry_decoded_string
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_rkb_log
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_decoded_string(void *opaque,\n
      \                                                 const uint8_t *decoded)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - type
    argTypes:
    - void*
    - rd_kafka_telemetry_metric_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2662
    functionName: rd_kafka_mock_handle_PushTelemetry_decoded_type
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_rkb_log
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_decoded_type(\n    void *opaque,\n
      \   rd_kafka_telemetry_metric_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2669,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2670,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2671,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - error
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2664
    functionDepth: 1
    functionLinenumber: 2664
    functionLinenumberEnd: 2673
    functionName: rd_kafka_mock_handle_PushTelemetry_decode_error
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - rd_rkb_log
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_decode_error(void *opaque,\n
      \                                                           const char *error,\n
      \                                                           ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_telemetry_decode_metrics
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkb
    - payload
    - size
    argTypes:
    - rd_kafka_broker_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2688
    functionName: rd_kafka_mock_handle_PushTelemetry_payload
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_telemetry_decode_metrics
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_PushTelemetry_payload(rd_kafka_broker_t
      *rkb,\n                                                void *payload,\n                                                size_t
      size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2695,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2704,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2705,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2706,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2707,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2709,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2713,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2716,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2718,1
    - Dst: rd_kafka_telemetry_uncompress_metrics_payload
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2720,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2725,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2735,1
    - Dst: rd_kafka_mock_handle_PushTelemetry_payload
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2736,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2739,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2742,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2745,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2746,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2748,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2690
    functionDepth: 4
    functionLinenumber: 2690
    functionLinenumberEnd: 2755
    functionName: rd_kafka_mock_handle_PushTelemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_free
    - rd_kafka_mock_connection_send_response
    - rd_kafka_compression2str
    - rd_kafka_buf_destroy
    - rd_kafka_buf_read_bool
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_read_i8
    - rd_kafka_telemetry_uncompress_metrics_payload
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_kafka_mock_handle_PushTelemetry_payload
    - rd_rkb_log
    - rd_kafka_buf_read_kbytes
    - rd_kafka_mock_next_request_error
    - rd_kafka_buf_read_uuid
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_PushTelemetry(rd_kafka_mock_connection_t
      *mconn,\n                                              rd_kafka_buf_t *rkbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort_by_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2762,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - rktparlist
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2756
    functionDepth: 2
    functionLinenumber: 2756
    functionLinenumberEnd: 2767
    functionName: rd_kafka_mock_handle_ConsumerGroupHeartbeat_write_TopicPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_topic_partition_list_sort_by_topic_id
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_mock_handle_ConsumerGroupHeartbeat_write_TopicPartitions(\n
      \   rd_kafka_buf_t *rkbuf,\n    rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2775,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2791,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2792,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2792,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2795,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2796,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2796,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2799,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2800,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2803,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2806,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2809,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2810,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2813,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2816,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2821,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2825,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2828,1
    - Dst: rd_kafka_buf_read_topic_partitions_nullable
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2834,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2844,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2847,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2849,1
    - Dst: rd_kafka_mock_topic_find_by_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2852,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2858,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2861,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2868,1
    - Dst: rd_kafka_mock_cluster_get_coord
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2871,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2881,1
    - Dst: rd_kafka_mock_cgrp_consumer_get
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2882,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2883,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2885,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_next_assignment
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2892,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_leave
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2900,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2907,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2915,1
    - Dst: rd_kafka_mock_cgrp_consumer_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2916,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2919,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_find
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2924,1
    - Dst: rd_kafka_mock_cgrp_consumer_member_fenced
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2927,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2931,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2941,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2944,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2947,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2947,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2951,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2953,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2956,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2960,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2962,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2967,1
    - Dst: rd_kafka_mock_handle_ConsumerGroupHeartbeat_write_TopicPartitions
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2970,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2973,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2976,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2979,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2981,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2982,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2983,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2984,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2988,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2989,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2990,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2991,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2992,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 115
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2769
    functionDepth: 6
    functionLinenumber: 2769
    functionLinenumberEnd: 2994
    functionName: rd_kafka_mock_handle_ConsumerGroupHeartbeat
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_assert
    - rd_kafka_mock_cgrp_consumer_member_next_assignment
    - rd_kafka_topic_partition_list_add
    - rd_kafka_mock_cgrp_consumer_member_fenced
    - rd_kafka_mock_cluster_get_coord
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_next_request_error
    - rd_kafka_buf_read_topic_partitions_nullable
    - rd_kafka_mock_cgrp_consumer_find
    - rd_kafka_mock_cgrp_consumer_member_find
    - rd_kafka_topic_partition_set_topic_id
    - rd_kafka_err2str
    - rd_kafka_mock_handle_ConsumerGroupHeartbeat_write_TopicPartitions
    - mtx_unlock
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_mock_connection_send_response
    - mtx_lock
    - rd_kafka_mock_cgrp_consumer_get
    - rd_kafka_buf_read_arraycnt
    - rd_calloc
    - rd_kafka_topic_partition_list_new
    - rd_kafka_buf_write_str
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_read_i32
    - rd_free
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_buf_destroy
    - rd_kafka_mock_topic_find_by_id
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_cgrp_consumer_member_leave
    - rd_kafka_buf_read_str
    - rd_kafka_mock_cgrp_consumer_member_add
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_ConsumerGroupHeartbeat(rd_kafka_mock_connection_t
      *mconn,\n                                            rd_kafka_buf_t *rkbuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2847,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2849,1
    - Dst: rd_kafka_mock_topic_find_by_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2852,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2858,1
    - Dst: rd_kafka_topic_partition_set_topic_id
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:2861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2845
    functionDepth: 2
    functionLinenumber: 2845
    functionLinenumberEnd: 2864
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 6
    functionsReached:
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_mock_topic_find_by_id
    - rd_kafka_topic_partition_set_topic_id
    - rd_kafka_topic_partition_list_add
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, sent_assignment)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mock_buf_new_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3045,1
    - Dst: rd_kafka_mock_next_request_error
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3052,1
    - Dst: rd_kafka_mock_cluster_ApiVersion_check
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3054,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3065,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3071,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3073,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3087,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3089,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3092,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3100,1
    - Dst: rd_kafka_buf_update_i8
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3101,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3103,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3107,1
    - Dst: rd_kafka_mock_connection_send_response
      Src: /src/librdkafka/src/rdkafka_mock_handlers.c:3110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - mconn
    - rkbuf
    argTypes:
    - rd_kafka_mock_connection_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3113
      start: 3042
    functionDepth: 2
    functionLinenumber: 3042
    functionLinenumberEnd: 3113
    functionName: rd_kafka_mock_handle_ApiVersion
    functionSourceFile: /src/librdkafka/src/rdkafka_mock_handlers.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_assert
    - rd_kafka_mock_connection_send_response
    - rd_kafka_buf_write_i16
    - rd_kafka_mock_cluster_ApiVersion_check
    - rd_kafka_buf_write_i32
    - rd_kafka_mock_buf_new_response
    - rd_kafka_buf_update_i32
    - rd_kafka_buf_update_i8
    - rd_kafka_mock_next_request_error
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_mock_handle_ApiVersion(rd_kafka_mock_connection_t *mconn,\n
      \                                          rd_kafka_buf_t *rkbuf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkts
    argTypes:
    - rd_kafka_timers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: rd_kafka_timers_lock
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_timers_lock(rd_kafka_timers_t *rkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkts
    argTypes:
    - rd_kafka_timers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: rd_kafka_timers_unlock
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_timers_unlock(rd_kafka_timers_t *rkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtmr
    argTypes:
    - rd_kafka_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: rd_kafka_timer_started
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_timer_started(const rd_kafka_timer_t *rtmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rtmr
    argTypes:
    - rd_kafka_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: rd_kafka_timer_scheduled
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_timer_scheduled(const rd_kafka_timer_t *rtmr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_timer.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: rd_kafka_timer_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_timer_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_timer.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkts
    - rtmr
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: rd_kafka_timer_unschedule
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_unschedule(rd_kafka_timers_t *rkts,\n                                      rd_kafka_timer_t
      *rtmr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_timer.c:82,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_timer.c:84,1
    - Dst: cnd_signal
      Src: /src/librdkafka/src/rdkafka_timer.c:85,1
    - Dst: rd_kafka_q_yield
      Src: /src/librdkafka/src/rdkafka_timer.c:87,1
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_timer.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rkts
    - rtmr
    - abs_time
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 92
    functionName: rd_kafka_timer_schedule_next
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_yield
    - TAILQ_INSERT_SORTED
    - TAILQ_INSERT_HEAD
    - TAILQ_FIRST
    - cnd_signal
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_schedule_next(rd_kafka_timers_t *rkts,\n                                         rd_kafka_timer_t
      *rtmr,\n                                         rd_ts_t abs_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_timer.c:110,1
    - Dst: rd_kafka_timer_schedule_next
      Src: /src/librdkafka/src/rdkafka_timer.c:113,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rkts
    - rtmr
    - extra_us
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: rd_kafka_timer_schedule
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - unlikely
    - rd_kafka_timer_schedule_next
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_schedule(rd_kafka_timers_t *rkts,\n                                    rd_kafka_timer_t
      *rtmr,\n                                    int extra_us)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:127,1
    - Dst: rd_kafka_timer_started
      Src: /src/librdkafka/src/rdkafka_timer.c:129,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:131,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:135,1
    - Dst: rd_kafka_timer_unschedule
      Src: /src/librdkafka/src/rdkafka_timer.c:136,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - rkts
    - rtmr
    - lock
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: rd_kafka_timer_stop
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 17
    functionsReached:
    - rd_kafka_timer_unschedule
    - rd_kafka_timer_scheduled
    - rd_kafka_timers_unlock
    - rd_kafka_timers_lock
    - rd_kafka_timer_started
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_timer_stop(rd_kafka_timers_t *rkts,\n                        rd_kafka_timer_t
      *rtmr,\n                        int lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:153,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rkts
    - rtmr
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: rd_kafka_timer_is_started
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timers_lock
    - rd_kafka_timers_unlock
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_timer_is_started(rd_kafka_timers_t *rkts,\n                                    const
      rd_kafka_timer_t *rtmr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:178,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:180,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:181,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_timer.c:185,1
    - Dst: rd_kafka_timer_schedule
      Src: /src/librdkafka/src/rdkafka_timer.c:195,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - rkts
    - rtmr
    - interval
    - oneshot
    - restart
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - rd_ts_t
    - rd_bool_t
    - rd_bool_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 198
    functionName: rd_kafka_timer_start0
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_scheduled
    - rd_kafka_timers_unlock
    - rd_kafka_timers_lock
    - rd_kafka_timer_stop
    - rd_kafka_timer_schedule
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_start0(rd_kafka_timers_t *rkts,\n                           rd_kafka_timer_t
      *rtmr,\n                           rd_ts_t interval,\n                           rd_bool_t
      oneshot,\n                           rd_bool_t restart,\n                           void
      (*callback)(rd_kafka_timers_t *rkts, void *arg),\n                           void
      *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:212,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:213,1
    - Dst: rd_kafka_timer_unschedule
      Src: /src/librdkafka/src/rdkafka_timer.c:214,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_timer.c:218,1
    - Dst: rd_kafka_timer_schedule
      Src: /src/librdkafka/src/rdkafka_timer.c:227,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - rkts
    - rtmr
    - minimum_backoff
    - maximum_backoff
    - max_jitter
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - rd_ts_t
    - rd_ts_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 206
    functionDepth: 3
    functionLinenumber: 206
    functionLinenumberEnd: 229
    functionName: rd_kafka_timer_exp_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_unschedule
    - rd_jitter
    - rd_kafka_timer_scheduled
    - rd_kafka_timers_unlock
    - rd_kafka_timers_lock
    - rd_kafka_timer_schedule
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_exp_backoff(rd_kafka_timers_t *rkts,\n                                rd_kafka_timer_t
      *rtmr,\n                                rd_ts_t minimum_backoff,\n                                rd_ts_t
      maximum_backoff,\n                                int max_jitter)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:240,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:241,1
    - Dst: rd_kafka_timer_unschedule
      Src: /src/librdkafka/src/rdkafka_timer.c:242,1
    - Dst: rd_kafka_timer_schedule_next
      Src: /src/librdkafka/src/rdkafka_timer.c:243,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:243,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rkts
    - rtmr
    - interval
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: rd_kafka_timer_override_once
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_unschedule
    - rd_kafka_timer_scheduled
    - rd_kafka_timers_unlock
    - rd_kafka_timers_lock
    - rd_kafka_timer_schedule_next
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timer_override_once(rd_kafka_timers_t *rkts,\n                                  rd_kafka_timer_t
      *rtmr,\n                                  rd_ts_t interval)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:255,1
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:259,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:261,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rkts
    - rtmr
    - do_lock
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_timer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 271
    functionName: rd_kafka_timer_next
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timers_lock
    - rd_clock
    - rd_kafka_timers_unlock
    - rd_kafka_timer_scheduled
    linkageType: ''
    returnType: rd_ts_t
    signature: "rd_ts_t rd_kafka_timer_next(rd_kafka_timers_t *rkts,\n                            rd_kafka_timer_t
      *rtmr,\n                            int do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:279,1
    - Dst: cnd_signal
      Src: /src/librdkafka/src/rdkafka_timer.c:280,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkts
    argTypes:
    - rd_kafka_timers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: rd_kafka_timers_interrupt
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 0
    functionsReached:
    - cnd_signal
    - rd_kafka_timers_lock
    - rd_kafka_timers_unlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_timers_interrupt(rd_kafka_timers_t *rkts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:290,1
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:295,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_timer.c:297,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_timer.c:297,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - rkts
    - timeout_us
    - do_lock
    argTypes:
    - rd_kafka_timers_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: rd_kafka_timers_next
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timers_unlock
    - TAILQ_FIRST
    - rd_kafka_timers_lock
    - rd_clock
    - likely
    linkageType: ''
    returnType: rd_ts_t
    signature: rd_ts_t rd_kafka_timers_next(rd_kafka_timers_t *rkts, int timeout_us,
      int do_lock)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:318,1
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:321,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_timer.c:323,1
    - Dst: rd_kafka_timers_next
      Src: /src/librdkafka/src/rdkafka_timer.c:328,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/rdkafka_timer.c:332,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_timer.c:338,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_timer.c:340,1
    - Dst: rd_kafka_timer_unschedule
      Src: /src/librdkafka/src/rdkafka_timer.c:344,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:355,1
    - Dst: rd_kafka_timer_t*::rtmr_callback
      Src: /src/librdkafka/src/rdkafka_timer.c:357,1
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:359,1
    - Dst: rd_kafka_timer_started
      Src: /src/librdkafka/src/rdkafka_timer.c:363,1
    - Dst: rd_kafka_timer_scheduled
      Src: /src/librdkafka/src/rdkafka_timer.c:364,1
    - Dst: rd_kafka_timer_schedule
      Src: /src/librdkafka/src/rdkafka_timer.c:365,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:374,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - rkts
    - timeout_us
    argTypes:
    - rd_kafka_timers_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 375
    functionName: rd_kafka_timers_run
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_unschedule
    - rd_kafka_timer_scheduled
    - rd_kafka_terminating
    - rd_kafka_timers_unlock
    - TAILQ_FIRST
    - rd_kafka_timer_t*::rtmr_callback
    - rd_kafka_timers_lock
    - cnd_timedwait_ms
    - rd_kafka_timer_started
    - rd_kafka_timer_schedule
    - rd_clock
    - rd_kafka_timers_next
    linkageType: ''
    returnType: void
    signature: void rd_kafka_timers_run(rd_kafka_timers_t *rkts, int timeout_us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timers_lock
      Src: /src/librdkafka/src/rdkafka_timer.c:381,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_timer.c:383,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_timer.c:384,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_timer.c:385,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_timer.c:385,1
    - Dst: rd_kafka_timers_unlock
      Src: /src/librdkafka/src/rdkafka_timer.c:386,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka_timer.c:388,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_timer.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkts
    argTypes:
    - rd_kafka_timers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: rd_kafka_timers_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - TAILQ_EMPTY
    - rd_kafka_timers_unlock
    - TAILQ_FIRST
    - rd_kafka_timers_lock
    - cnd_destroy
    - mtx_destroy
    - rd_kafka_timer_stop
    - rd_kafka_assert
    linkageType: ''
    returnType: void
    signature: void rd_kafka_timers_destroy(rd_kafka_timers_t *rkts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_timer.c:395,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_timer.c:397,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_timer.c:398,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka_timer.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - rkts
    - rk
    - wakeq
    argTypes:
    - rd_kafka_timers_t*
    - rd_kafka_t*
    - struct rd_kafka_q_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 402
    functionName: rd_kafka_timers_init
    functionSourceFile: /src/librdkafka/src/rdkafka_timer.c
    functionUses: 1
    functionsReached:
    - memset
    - mtx_init
    - TAILQ_INIT
    - cnd_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_timers_init(rd_kafka_timers_t *rkts,\n                          rd_kafka_t
      *rk,\n                          struct rd_kafka_q_s *wakeq)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - sr
    argTypes:
    - SECURITY_STATUS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: rd_kafka_sasl_sspi_err2str
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_sasl_sspi_err2str(SECURITY_STATUS sr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:113,1
    - Dst: AcquireCredentialsHandle
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:115,1
    - Dst: __TEXT
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:115,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:120,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:121,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - rktrans
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: rd_kafka_sasl_sspi_cred_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - AcquireCredentialsHandle
    - rd_free
    - rd_snprintf
    - rd_calloc
    - rd_rkb_dbg
    - __TEXT
    linkageType: ''
    returnType: CredHandle
    signature: "CredHandle *rd_kafka_sasl_sspi_cred_new(rd_kafka_transport_t *rktrans,\n
      \                                              char *errstr,\n                                               size_t
      errstr_size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:155,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:183,1
    - Dst: InitializeSecurityContext
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:186,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:198,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:207,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:213,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:218,1
    - Dst: rd_kafka_sasl_sspi_err2str
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:221,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 5
    argNames:
    - rktrans
    - inbuf
    - insize
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 230
    functionName: rd_kafka_sasl_sspi_continue
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_sspi_err2str
    - rd_snprintf
    - rd_calloc
    - rd_kafka_sasl_send
    - rd_rkb_dbg
    - InitializeSecurityContext
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_sspi_continue(rd_kafka_transport_t *rktrans,\n                                       const
      void *inbuf,\n                                       size_t insize,\n                                       char
      *errstr,\n                                       size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QueryContextAttributes
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:251,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:253,1
    - Dst: rd_kafka_sasl_sspi_err2str
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:255,1
    - Dst: RD_MEMZERO
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:259,1
    - Dst: QueryCredentialsAttributesA
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:260,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:264,1
    - Dst: rd_kafka_sasl_sspi_err2str
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:266,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:270,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:273,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:275,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:292,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:297,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:298,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:304,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:305,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:310,1
    - Dst: EncryptMessage
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:312,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:314,1
    - Dst: rd_kafka_sasl_sspi_err2str
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:316,1
    - Dst: FreeContextBuffer
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:318,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:319,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:320,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:321,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:322,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:330,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:333,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:335,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:338,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:342,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:347,1
    - Dst: FreeContextBuffer
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:350,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:351,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:352,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:353,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:354,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 61
    argCount: 4
    argNames:
    - rktrans
    - errstr
    - errstr_size
    - server_token
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - size_t
    - SecBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 358
    functionName: rd_kafka_sasl_win32_send_response
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_sasl_sspi_err2str
    - QueryCredentialsAttributesA
    - rd_snprintf
    - EncryptMessage
    - rd_calloc
    - rd_kafka_sasl_send
    - RD_MEMZERO
    - rd_rkb_dbg
    - strlen
    - QueryContextAttributes
    - memcpy
    - FreeContextBuffer
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_win32_send_response(rd_kafka_transport_t *rktrans,\n
      \                                            char *errstr,\n                                             size_t
      errstr_size,\n                                             SecBuffer *server_token)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:376,1
    - Dst: DecryptMessage
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:395,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:397,1
    - Dst: rd_kafka_sasl_sspi_err2str
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:399,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:404,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:412,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:418,1
    - Dst: rd_kafka_sasl_win32_send_response
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 5
    argNames:
    - rktrans
    - inbuf
    - insize
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 423
    functionName: rd_kafka_sasl_win32_validate_token
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_sspi_err2str
    - rd_snprintf
    - rd_rkb_dbg
    - DecryptMessage
    - rd_kafka_sasl_win32_send_response
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_win32_validate_token(rd_kafka_transport_t *rktrans,\n
      \                                             const void *inbuf,\n                                              size_t
      insize,\n                                              char *errstr,\n                                              size_t
      errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_win32_validate_token
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:448,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:465,1
    - Dst: rd_kafka_sasl_auth_done
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:467,1
    - Dst: rd_kafka_sasl_sspi_continue
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - rktrans
    - buf
    - size
    - errstr
    - errstr_size
    argTypes:
    - struct rd_kafka_transport_s*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 473
    functionName: rd_kafka_sasl_win32_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_sspi_continue
    - rd_kafka_sasl_win32_validate_token
    - rd_kafka_sasl_auth_done
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_win32_recv(struct rd_kafka_transport_s *rktrans,\n
      \                                   const void *buf,\n                                    size_t
      size,\n                                    char *errstr,\n                                    size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DeleteSecurityContext
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:486,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:487,1
    - Dst: FreeCredentialsHandle
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:490,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:491,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 495
    functionName: rd_kafka_sasl_win32_close
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - FreeCredentialsHandle
    - rd_free
    - DeleteSecurityContext
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_win32_close(rd_kafka_transport_t *rktrans)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:505,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:506,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:512,1
    - Dst: _snwprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:515,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:515,1
    - Dst: rd_kafka_sasl_sspi_cred_new
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:519,1
    - Dst: rd_kafka_sasl_sspi_continue
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - rktrans
    - hostname
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 528
    functionName: rd_kafka_sasl_win32_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - _snwprintf
    - rd_snprintf
    - rd_calloc
    - strcmp
    - RD_ARRAYSIZE
    - rd_kafka_sasl_sspi_continue
    - rd_kafka_sasl_sspi_cred_new
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_win32_client_new(rd_kafka_transport_t *rktrans,\n
      \                                         const char *hostname,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_win32.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: rd_kafka_sasl_win32_conf_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_win32.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_win32_conf_validate(rd_kafka_t *rk,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_at_least_no_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rkb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 3
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: rd_kafka_filter_broker_by_GetTelemetrySubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_ApiVersion_at_least_no_lock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_filter_broker_by_GetTelemetrySubscription(rd_kafka_broker_t
      *rkb,\n                                                   void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:71,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:78,1
    - Dst: rd_kafka_broker_random_up
      Src: /src/librdkafka/src/rdkafka_telemetry.c:79,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:82,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:88,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_telemetry.c:91,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 96
    functionName: rd_kafka_get_preferred_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_id
    - rd_kafka_wrlock
    - mtx_lock
    - rd_kafka_wrunlock
    - rd_kafka_broker_random_up
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: rd_kafka_broker_t *rd_kafka_get_preferred_broker(rd_kafka_t *rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:111,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry.c:113,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:117,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry.c:118,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry.c:119,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:123,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:131,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:132,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - rk
    - clear_control_flow_fields
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 140
    functionName: rd_kafka_telemetry_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_free
    - mtx_lock
    - rd_kafka_broker_destroy
    - cnd_destroy
    - mtx_destroy
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_telemetry_clear(rd_kafka_t *rk,\n                              rd_bool_t
      clear_control_flow_fields)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:151,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_telemetry.c:151,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:153,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_telemetry.c:157,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:159,1
    - Dst: cnd_signal
      Src: /src/librdkafka/src/rdkafka_telemetry.c:160,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: rd_kafka_telemetry_set_terminated
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - thrd_is_current
    - rd_dassert
    - rd_kafka_timer_stop
    - cnd_signal
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_telemetry_set_terminated(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_telemetry.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - j
    argTypes:
    - rd_kafka_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: update_matched_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_realloc
    linkageType: ''
    returnType: void
    signature: void update_matched_metrics(rd_kafka_t *rk, size_t j)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_TELEMETRY_METRIC_CNT
      Src: /src/librdkafka/src/rdkafka_telemetry.c:174,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_telemetry.c:175,1
    - Dst: RD_KAFKA_TELEMETRY_METRIC_INFO
      Src: /src/librdkafka/src/rdkafka_telemetry.c:179,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_telemetry.c:182,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:185,1
    - Dst: update_matched_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry.c:189,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_telemetry.c:194,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry.c:205,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_telemetry.c:209,1
    - Dst: update_matched_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry.c:214,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 223
    functionName: rd_kafka_match_requested_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_TELEMETRY_METRIC_INFO
    - RD_KAFKA_TELEMETRY_METRIC_CNT
    - RD_MAX
    - rd_snprintf
    - update_matched_metrics
    - strcmp
    - strncmp
    - strlen
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_match_requested_metrics(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_telemetry_clear
      Src: /src/librdkafka/src/rdkafka_telemetry.c:235,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:240,1
    - Dst: rd_kafka_GetTelemetrySubscriptionsRequest
      Src: /src/librdkafka/src/rdkafka_telemetry.c:242,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_telemetry.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 232
    functionDepth: 9
    functionLinenumber: 232
    functionLinenumberEnd: 248
    functionName: rd_kafka_send_get_telemetry_subscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_GetTelemetrySubscriptionsRequest
    - rd_kafka_dbg
    - RD_KAFKA_REPLYQ
    - rd_kafka_telemetry_clear
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_send_get_telemetry_subscriptions(rd_kafka_t *rk,\n                                                      rd_kafka_broker_t
      *rkb)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:280,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_telemetry.c:294,1
    - Dst: rd_kafka_gzip_compress
      Src: /src/librdkafka/src/rdkafka_telemetry.c:302,1
    - Dst: rd_kafka_lz4_compress
      Src: /src/librdkafka/src/rdkafka_telemetry.c:310,1
    - Dst: rd_kafka_zstd_compress
      Src: /src/librdkafka/src/rdkafka_telemetry.c:318,1
    - Dst: rd_kafka_snappy_compress_slice
      Src: /src/librdkafka/src/rdkafka_telemetry.c:326,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:337,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:343,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:349,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 5
    argNames:
    - rk
    - rkb
    - payload
    - compressed_payload
    - compressed_payload_size
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_buf_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 266
    functionDepth: 7
    functionLinenumber: 266
    functionLinenumberEnd: 357
    functionName: rd_kafka_push_telemetry_payload_compress
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_kafka_snappy_compress_slice
    - rd_kafka_lz4_compress
    - rd_kafka_zstd_compress
    - rd_kafka_gzip_compress
    - rd_kafka_compression2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_compression_t
    signature: "rd_kafka_compression_t rd_kafka_push_telemetry_payload_compress(rd_kafka_t
      *rk,\n                                         rd_kafka_broker_t *rkb,\n                                         rd_buf_t
      *payload,\n                                         void **compressed_payload,\n
      \                                        size_t *compressed_payload_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_telemetry_encode_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry.c:370,1
    - Dst: rd_kafka_push_telemetry_payload_compress
      Src: /src/librdkafka/src/rdkafka_telemetry.c:375,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_telemetry.c:380,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:388,1
    - Dst: RD_STR_ToF
      Src: /src/librdkafka/src/rdkafka_telemetry.c:391,1
    - Dst: rd_kafka_PushTelemetryRequest
      Src: /src/librdkafka/src/rdkafka_telemetry.c:392,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_telemetry.c:397,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_telemetry.c:400,1
    - Dst: rd_buf_destroy_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:406,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rk
    - rkb
    - terminating
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 366
    functionDepth: 9
    functionLinenumber: 366
    functionLinenumberEnd: 413
    functionName: rd_kafka_send_push_telemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_free
    - rd_buf_destroy_free
    - rd_kafka_PushTelemetryRequest
    - rd_kafka_telemetry_encode_metrics
    - rd_kafka_push_telemetry_payload_compress
    - RD_STR_ToF
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_send_push_telemetry(rd_kafka_t *rk,\n                                         rd_kafka_broker_t
      *rkb,\n                                         rd_bool_t terminating)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:425,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:426,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_telemetry.c:426,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:430,1
    - Dst: rd_kafka_get_preferred_broker
      Src: /src/librdkafka/src/rdkafka_telemetry.c:434,1
    - Dst: rd_kafka_send_get_telemetry_subscriptions
      Src: /src/librdkafka/src/rdkafka_telemetry.c:440,1
    - Dst: rd_kafka_get_preferred_broker
      Src: /src/librdkafka/src/rdkafka_telemetry.c:444,1
    - Dst: rd_kafka_send_push_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry.c:450,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:456,1
    - Dst: rd_kafka_get_preferred_broker
      Src: /src/librdkafka/src/rdkafka_telemetry.c:460,1
    - Dst: rd_kafka_telemetry_set_terminated
      Src: /src/librdkafka/src/rdkafka_telemetry.c:465,1
    - Dst: rd_kafka_send_push_telemetry
      Src: /src/librdkafka/src/rdkafka_telemetry.c:468,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:472,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:476,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 422
    functionDepth: 10
    functionLinenumber: 422
    functionLinenumberEnd: 478
    functionName: rd_kafka_telemetry_fsm
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_send_get_telemetry_subscriptions
    - rd_kafka_send_push_telemetry
    - thrd_is_current
    - rd_dassert
    - rd_kafka_telemetry_set_terminated
    - rd_kafka_get_preferred_broker
    linkageType: ''
    returnType: void
    signature: void rd_kafka_telemetry_fsm(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_telemetry_fsm
      Src: /src/librdkafka/src/rdkafka_telemetry.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - rk
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 11
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: rd_kafka_telemetry_fsm_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_telemetry_fsm
    linkageType: ''
    returnType: void
    signature: void rd_kafka_telemetry_fsm_tmr_cb(rd_kafka_timers_t *rkts, void *rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_telemetry.c:502,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:505,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:509,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:511,1
    - Dst: rd_kafka_match_requested_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry.c:520,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:532,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry.c:533,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_telemetry.c:535,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:537,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:547,1
    - Dst: rd_kafka_telemetry_state2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:552,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:553,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_telemetry.c:556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - rk
    - err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 498
    functionDepth: 3
    functionLinenumber: 498
    functionLinenumberEnd: 559
    functionName: rd_kafka_handle_get_telemetry_subscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_telemetry_state2str
    - rd_jitter
    - rd_kafka_err2str
    - rd_kafka_dbg
    - rd_atomic32_get
    - rd_uclock
    - rd_kafka_timer_start_oneshot
    - TAILQ_FOREACH
    - rd_kafka_match_requested_metrics
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_get_telemetry_subscriptions(rd_kafka_t *rk,\n
      \                                                rd_kafka_resp_err_t err)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_telemetry_set_terminated
      Src: /src/librdkafka/src/rdkafka_telemetry.c:567,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:579,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_telemetry.c:582,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:587,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:589,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_telemetry.c:593,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:597,1
    - Dst: rd_kafka_telemetry_set_terminated
      Src: /src/librdkafka/src/rdkafka_telemetry.c:598,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_telemetry.c:603,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:607,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_telemetry.c:610,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_telemetry.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - rk
    - err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 561
    functionDepth: 3
    functionLinenumber: 561
    functionLinenumberEnd: 628
    functionName: rd_kafka_handle_push_telemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 1
    functionsReached:
    - rd_kafka_log
    - rd_kafka_err2str
    - rd_kafka_timer_start_oneshot
    - rd_kafka_telemetry_set_terminated
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_handle_push_telemetry(rd_kafka_t *rk, rd_kafka_resp_err_t
      err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_telemetry.c:644,1
    - Dst: rd_kafka_telemetry_set_terminated
      Src: /src/librdkafka/src/rdkafka_telemetry.c:646,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:650,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_telemetry.c:651,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_telemetry.c:653,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:656,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/rdkafka_telemetry.c:658,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:661,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 639
    functionDepth: 3
    functionLinenumber: 639
    functionLinenumberEnd: 664
    functionName: rd_kafka_telemetry_await_termination
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - mtx_lock
    - rd_kafka_op_new
    - thrd_is_current
    - cnd_timedwait_ms
    - rd_kafka_telemetry_set_terminated
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_telemetry_await_termination(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:675,1
    - Dst: rd_kafka_telemetry_state2str
      Src: /src/librdkafka/src/rdkafka_telemetry.c:678,1
    - Dst: rd_kafka_telemetry_set_terminated
      Src: /src/librdkafka/src/rdkafka_telemetry.c:681,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:687,1
    - Dst: rd_kafka_timer_override_once
      Src: /src/librdkafka/src/rdkafka_telemetry.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 690
    functionName: rd_kafka_telemetry_schedule_termination
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_telemetry_set_terminated
    - rd_kafka_telemetry_state2str
    - rd_kafka_timer_override_once
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_telemetry_schedule_termination(rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_telemetry.c:702,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_telemetry.c:702,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:710,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:713,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_telemetry.c:717,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry.c:720,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry.c:722,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_telemetry.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - rk
    - rkb
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 730
    functionName: rd_kafka_set_telemetry_broker_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - mtx_lock
    - thrd_is_current
    - rd_dassert
    - rd_kafka_timer_start_oneshot
    - mtx_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_set_telemetry_broker_maybe(rd_kafka_t *rk,\n                                         rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_telemetry.c:737,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry.c:740,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_telemetry.c:741,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_telemetry.c:742,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_telemetry.c:743,1
    - Dst: rd_kafka_match_requested_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry.c:744,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_telemetry.c:746,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry.c:751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 736
    functionDepth: 3
    functionLinenumber: 736
    functionLinenumberEnd: 753
    functionName: unit_test_telemetry_match_requested_metrics_no_duplicates
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    - rd_calloc
    - RD_UT_ASSERT
    - rd_kafka_new
    - rd_strdup
    - rd_kafka_match_requested_metrics
    linkageType: ''
    returnType: int
    signature: int unit_test_telemetry_match_requested_metrics_no_duplicates(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unit_test_telemetry_match_requested_metrics_no_duplicates
      Src: /src/librdkafka/src/rdkafka_telemetry.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 4
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: unittest_telemetry
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry.c
    functionUses: 0
    functionsReached:
    - unit_test_telemetry_match_requested_metrics_no_duplicates
    linkageType: ''
    returnType: int
    signature: int unittest_telemetry(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: rd_kafka_thread_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: int
    signature: int rd_kafka_thread_cnt(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka.c:119,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka.c:120,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: rd_kafka_set_thread_name
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - va_end
    - va_start
    - rd_vsnprintf
    linkageType: ''
    returnType: void
    signature: void rd_kafka_set_thread_name(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka.c:136,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka.c:137,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka.c:139,1
    - Dst: thrd_setname
      Src: /src/librdkafka/src/rdkafka.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: rd_kafka_set_thread_sysname
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - va_end
    - va_start
    - rd_vsnprintf
    - thrd_setname
    linkageType: ''
    returnType: void
    signature: void rd_kafka_set_thread_sysname(const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:147,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:149,1
    - Dst: rd_crc32c_global_init
      Src: /src/librdkafka/src/rdkafka.c:151,1
    - Dst: rd_kafka_ssl_init
      Src: /src/librdkafka/src/rdkafka.c:156,1
    - Dst: cJSON_InitHooks
      Src: /src/librdkafka/src/rdkafka.c:159,1
    - Dst: rd_http_global_init
      Src: /src/librdkafka/src/rdkafka.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: rd_kafka_global_init0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_init
    - rd_crc32c_global_init
    - rd_kafka_ssl_init
    - mtx_init
    - cJSON_InitHooks
    - rd_http_global_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_global_init0(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: call_once
      Src: /src/librdkafka/src/rdkafka.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: rd_kafka_global_init
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - call_once
    linkageType: ''
    returnType: void
    signature: void rd_kafka_global_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/src/rdkafka.c:180,1
    - Dst: srand
      Src: /src/librdkafka/src/rdkafka.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: rd_kafka_global_srand
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_gettimeofday
    - srand
    linkageType: ''
    returnType: void
    signature: void rd_kafka_global_srand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:191,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: rd_kafka_global_cnt_get
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int rd_kafka_global_cnt_get(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:203,1
    - Dst: rd_kafka_transport_init
      Src: /src/librdkafka/src/rdkafka.c:206,1
    - Dst: rd_kafka_ssl_init
      Src: /src/librdkafka/src/rdkafka.c:208,1
    - Dst: rd_kafka_sasl_global_init
      Src: /src/librdkafka/src/rdkafka.c:210,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: rd_kafka_global_cnt_incr
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    - rd_kafka_sasl_global_init
    - rd_kafka_ssl_init
    - rd_kafka_transport_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_global_cnt_incr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:220,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka.c:221,1
    - Dst: rd_kafka_sasl_global_term
      Src: /src/librdkafka/src/rdkafka.c:224,1
    - Dst: rd_kafka_ssl_term
      Src: /src/librdkafka/src/rdkafka.c:226,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: rd_kafka_global_cnt_decr
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ssl_term
    - mtx_lock
    - rd_kafka_sasl_global_term
    - rd_kafka_assert
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_global_cnt_decr(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:239,1
    - Dst: rd_kafka_thread_cnt
      Src: /src/librdkafka/src/rdkafka.c:241,1
    - Dst: rd_kafka_global_cnt_get
      Src: /src/librdkafka/src/rdkafka.c:241,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:242,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:243,1
    - Dst: rd_usleep
      Src: /src/librdkafka/src/rdkafka.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 251
    functionName: rd_kafka_wait_destroyed
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_kafka_thread_cnt
    - rd_kafka_global_cnt_get
    - rd_clock
    - rd_usleep
    - rd_kafka_set_last_error
    linkageType: ''
    returnType: int
    signature: int rd_kafka_wait_destroyed(int timeout_ms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:267,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka.c:268,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka.c:270,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka.c:271,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:273,1
    - Dst: rd_kafka_conf_t*::log_cb
      Src: /src/librdkafka/src/rdkafka.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - conf
    - rk
    - level
    - ctx
    - fac
    - buf
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_t*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: rd_kafka_log_buf
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_strdup
    - rd_kafka_conf_t*::log_cb
    - rd_kafka_op_new
    - rd_kafka_op_set_prio
    - rd_strlcpy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_log_buf(const rd_kafka_conf_t *conf,\n                             const
      rd_kafka_t *rk,\n                             int level,\n                             int
      ctx,\n                             const char *fac,\n                             const
      char *buf)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:302,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:304,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:310,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:311,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka.c:316,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka.c:317,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka.c:318,1
    - Dst: rd_kafka_log_buf
      Src: /src/librdkafka/src/rdkafka.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - conf
    - rk
    - extra
    - level
    - ctx
    - fac
    - fmt
    argTypes:
    - rd_kafka_conf_t*
    - rd_kafka_t*
    - char*
    - int
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 321
    functionName: rd_kafka_log0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - va_start
    - rd_vsnprintf
    - rd_kafka_log_buf
    - va_end
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_log0(const rd_kafka_conf_t *conf,\n                   const
      rd_kafka_t *rk,\n                   const char *extra,\n                   int
      level,\n                   int ctx,\n                   const char *fac,\n                   const
      char *fmt,\n                   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_set_token0
      Src: /src/librdkafka/src/rdkafka.c:333,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 8
    argNames:
    - rk
    - token_value
    - md_lifetime_ms
    - md_principal_name
    - extensions
    - extension_size
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - int64_t
    - char*
    - char**
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 323
    functionDepth: 4
    functionLinenumber: 323
    functionLinenumberEnd: 341
    functionName: rd_kafka_oauthbearer_set_token
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 4
    functionsReached:
    - rd_kafka_oauthbearer_set_token0
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token(rd_kafka_t *rk,\n
      \                              const char *token_value,\n                               int64_t
      md_lifetime_ms,\n                               const char *md_principal_name,\n
      \                              const char **extensions,\n                               size_t
      extension_size,\n                               char *errstr,\n                               size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_oauthbearer_set_token_failure0
      Src: /src/librdkafka/src/rdkafka.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - errstr
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: rd_kafka_oauthbearer_set_token_failure
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 5
    functionsReached:
    - rd_kafka_oauthbearer_set_token_failure0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_oauthbearer_set_token_failure(rd_kafka_t
      *rk,\n                                                           const char
      *errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/src/rdkafka.c:358,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 363
    functionName: rd_kafka_log_print
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - fprintf
    - rd_gettimeofday
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_log_print(const rd_kafka_t *rk,\n                        int
      level,\n                        const char *fac,\n                        const
      char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openlog
      Src: /src/librdkafka/src/rdkafka.c:373,1
    - Dst: syslog
      Src: /src/librdkafka/src/rdkafka.c:375,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 379
    functionName: rd_kafka_log_syslog
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - syslog
    - rd_assert
    - openlog
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_log_syslog(const rd_kafka_t *rk,\n                         int
      level,\n                         const char *fac,\n                         const
      char *buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 391
    functionName: rd_kafka_set_logger
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_set_logger(rd_kafka_t *rk,\n                         void
      (*func)(const rd_kafka_t *rk,\n                                      int level,\n
      \                                     const char *fac,\n                                      const
      char *buf))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - level
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: rd_kafka_set_log_level
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_set_log_level(rd_kafka_t *rk, int level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - errdescs
    - cntp
    argTypes:
    - struct rd_kafka_err_desc**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: rd_kafka_get_err_descs
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - RD_ARRAYSIZE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_get_err_descs(const struct rd_kafka_err_desc **errdescs,\n
      \                           size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:738,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 746
    functionName: rd_kafka_err2str
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 288
    functionsReached:
    - unlikely
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_err2str(rd_kafka_resp_err_t err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:753,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 761
    functionName: rd_kafka_err2name
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 95
    functionsReached:
    - unlikely
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_err2name(rd_kafka_resp_err_t err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 766
    functionName: rd_kafka_last_error
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_last_error(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - errnox
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 798
    functionName: rd_kafka_errno2err
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_errno2err(int errnox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:805,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:805,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:806,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:807,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:808,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 812
    functionName: rd_kafka_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 10
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_snprintf
    - rd_atomic32_get
    - unlikely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_fatal_error(rd_kafka_t *rk, char *errstr,
      size_t errstr_size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:836,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:838,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:840,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:841,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka.c:843,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:847,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka.c:849,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka.c:850,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka.c:851,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka.c:852,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:855,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:863,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:864,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:866,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:867,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka.c:877,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:881,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka.c:883,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:884,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:896,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:899,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - rk
    - do_lock
    - err
    - fmt
    argTypes:
    - rd_kafka_t*
    - rd_dolock_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 827
    functionDepth: 3
    functionLinenumber: 827
    functionLinenumberEnd: 903
    functionName: rd_kafka_set_fatal_error0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_kafka_log
    - rd_kafka_err2name
    - rd_kafka_op_err
    - rd_kafka_consumer_err
    - rd_kafka_wrlock
    - rd_kafka_q_enq
    - rd_kafka_wrunlock
    - rd_atomic32_set
    - va_start
    - rd_kafka_err2str
    - rd_kafka_op_new
    - rd_atomic32_get
    - rd_vsnprintf
    - va_end
    - rd_strdup
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_set_fatal_error0(rd_kafka_t *rk,\n                              rd_dolock_t
      do_lock,\n                              rd_kafka_resp_err_t err,\n                              const
      char *fmt,\n                              ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:915,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:918,1
    - Dst: rd_kafka_error_new_fatal
      Src: /src/librdkafka/src/rdkafka.c:919,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 923
    functionName: rd_kafka_get_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_error_new_fatal
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_get_fatal_error(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_fatal_error
      Src: /src/librdkafka/src/rdkafka.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - err
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 933
    functionName: rd_kafka_test_fatal_error
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_set_fatal_error
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_test_fatal_error(rd_kafka_t *rk,\n                                              rd_kafka_resp_err_t
      err,\n                                              const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:946,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka.c:947,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka.c:949,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka.c:950,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:952,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - rkb_decommissioned
    argTypes:
    - rd_kafka_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 957
    functionName: rd_kafka_decommissioned_broker_thread_join
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_free
    - thrd_join
    - RD_LIST_FOREACH
    - rd_list_remove_elem
    - rd_list_elem
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_decommissioned_broker_thread_join(rd_kafka_t *rk,\n
      \                                               void *rkb_decommissioned)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka.c:966,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka.c:966,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:969,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:970,1
    - Dst: rd_kafka_telemetry_clear
      Src: /src/librdkafka/src/rdkafka.c:972,1
    - Dst: rd_kafka_sasl_term
      Src: /src/librdkafka/src/rdkafka.c:976,1
    - Dst: rd_kafka_timers_destroy
      Src: /src/librdkafka/src/rdkafka.c:978,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:980,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:984,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka.c:986,1
    - Dst: rd_kafka_cgrp_destroy_final
      Src: /src/librdkafka/src/rdkafka.c:987,1
    - Dst: rd_kafka_assignors_term
      Src: /src/librdkafka/src/rdkafka.c:990,1
    - Dst: rd_kafka_assignment_destroy
      Src: /src/librdkafka/src/rdkafka.c:993,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka.c:995,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:996,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:998,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:1000,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:1002,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:1004,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:1006,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:1011,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:1012,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1016,1
    - Dst: rd_kafka_ssl_ctx_term
      Src: /src/librdkafka/src/rdkafka.c:1017,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1019,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1023,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:1027,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka.c:1032,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka.c:1033,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:1037,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka.c:1041,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka.c:1042,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka.c:1044,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka.c:1046,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka.c:1047,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka.c:1050,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka.c:1051,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka.c:1052,1
    - Dst: rd_kafka_anyconf_destroy
      Src: /src/librdkafka/src/rdkafka.c:1053,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1054,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka.c:1056,1
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdkafka.c:1057,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:1059,1
    - Dst: rd_kafka_global_cnt_decr
      Src: /src/librdkafka/src/rdkafka.c:1060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 964
    functionDepth: 8
    functionLinenumber: 964
    functionLinenumberEnd: 1061
    functionName: rd_kafka_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_global_cnt_decr
    - rd_kafka_q_fwd_set
    - rd_kafka_assignors_term
    - rd_kafka_assignment_destroy
    - rd_kafka_telemetry_clear
    - rd_list_destroy
    - rd_kafka_terminating
    - rd_kafka_q_destroy
    - rd_kafkap_str_destroy
    - rd_avg_destroy
    - rd_kafka_q_destroy_owner
    - cnd_destroy
    - rd_kafka_anyconf_destroy
    - rd_kafka_ssl_ctx_term
    - mtx_destroy
    - rd_kafka_sasl_term
    - rd_free
    - rd_kafka_wrunlock
    - rd_kafka_cgrp_destroy_final
    - rd_kafka_assert
    - rd_kafka_timers_destroy
    - rwlock_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_destroy_final(rd_kafka_t *rk)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fatal_error_code
      Src: /src/librdkafka/src/rdkafka.c:1076,1
    - Dst: rd_flags2str
      Src: /src/librdkafka/src/rdkafka.c:1079,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1081,1
    - Dst: rd_kafka_curr_msgs_get
      Src: /src/librdkafka/src/rdkafka.c:1094,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:1097,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka.c:1111,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka.c:1112,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:1113,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka.c:1117,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:1125,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1130,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/src/rdkafka.c:1132,1
    - Dst: rd_kafka_telemetry_await_termination
      Src: /src/librdkafka/src/rdkafka.c:1138,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:1142,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1145,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:1146,1
    - Dst: rd_kafka_timers_interrupt
      Src: /src/librdkafka/src/rdkafka.c:1148,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:1149,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1151,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:1155,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:1155,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1160,1
    - Dst: pthread_kill
      Src: /src/librdkafka/src/rdkafka.c:1162,1
    - Dst: rd_kafka_destroy_flags_check
      Src: /src/librdkafka/src/rdkafka.c:1166,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1169,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:1171,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:1172,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka.c:1175,1
    - Dst: rd_kafka_destroy_final
      Src: /src/librdkafka/src/rdkafka.c:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - rk
    - flags
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1064
    functionDepth: 9
    functionLinenumber: 1064
    functionLinenumberEnd: 1178
    functionName: rd_kafka_destroy_app
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_kafka_destroy_final
    - rd_flags2str
    - rd_atomic32_set
    - rd_kafka_op_new
    - rd_kafka_fatal_error_code
    - rd_strerror
    - rd_kafka_curr_msgs_get
    - rd_kafka_q_enq
    - rd_kafka_telemetry_await_termination
    - rd_kafka_consumer_close
    - rd_kafka_timers_interrupt
    - pthread_kill
    - rd_kafka_log
    - rd_kafka_destroy_flags_check
    - rd_kafka_wrunlock
    - thrd_join
    - thrd_is_current
    - rd_kafka_assert
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_destroy_app(rd_kafka_t *rk, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy_app
      Src: /src/librdkafka/src/rdkafka.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1183
    functionDepth: 10
    functionLinenumber: 1183
    functionLinenumberEnd: 1185
    functionName: rd_kafka_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 300
    functionsReached:
    - rd_kafka_destroy_app
    linkageType: ''
    returnType: void
    signature: void rd_kafka_destroy(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy_app
      Src: /src/librdkafka/src/rdkafka.c:1188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - flags
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1187
    functionDepth: 10
    functionLinenumber: 1187
    functionLinenumberEnd: 1189
    functionName: rd_kafka_destroy_flags
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 3
    functionsReached:
    - rd_kafka_destroy_app
    linkageType: ''
    returnType: void
    signature: void rd_kafka_destroy_flags(rd_kafka_t *rk, int flags)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1204,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka.c:1208,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:1214,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:1215,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1217,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:1220,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:1221,1
    - Dst: rd_kafka_interceptors_on_destroy
      Src: /src/librdkafka/src/rdkafka.c:1225,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:1230,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1230,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:1232,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1234,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka.c:1236,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:1237,1
    - Dst: rd_kafka_topic_partitions_remove
      Src: /src/librdkafka/src/rdkafka.c:1238,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:1239,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:1246,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1247,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1248,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka.c:1252,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka.c:1254,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1257,1
    - Dst: rd_kafka_broker_decommission
      Src: /src/librdkafka/src/rdkafka.c:1258,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1260,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:1263,1
    - Dst: rd_kafka_coord_reqs_term
      Src: /src/librdkafka/src/rdkafka.c:1268,1
    - Dst: rd_kafka_coord_cache_destroy
      Src: /src/librdkafka/src/rdkafka.c:1271,1
    - Dst: rd_kafka_metadata_cache_purge
      Src: /src/librdkafka/src/rdkafka.c:1280,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:1282,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:1284,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1286,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:1287,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka.c:1291,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1294,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka.c:1297,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka.c:1298,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:1301,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1303,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:1306,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:1312,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:1313,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka.c:1316,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:1318,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:1321,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka.c:1322,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1325,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:1327,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:1329,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1332,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1335,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:1337,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:1339,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1341,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1342,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:1343,1
    - Dst: rd_kafka_mock_cluster_destroy
      Src: /src/librdkafka/src/rdkafka.c:1347,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1349,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:1350,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1355,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:1356,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:1361,1
    - Dst: rd_kafka_metadata_cache_destroy
      Src: /src/librdkafka/src/rdkafka.c:1362,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:1363,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 79
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1197
    functionDepth: 6
    functionLinenumber: 1197
    functionLinenumberEnd: 1364
    functionName: rd_kafka_destroy_internal
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_wrlock
    - rd_kafka_brokers_broadcast_state_change
    - rd_kafka_q_disable
    - rd_kafka_coord_reqs_term
    - rd_kafka_coord_cache_destroy
    - TAILQ_FOREACH
    - rd_list_destroy
    - rd_kafka_mock_cluster_destroy
    - rd_kafka_op_new
    - rd_atomic32_get
    - rd_kafka_q_destroy_owner
    - rd_kafka_metadata_cache_purge
    - rd_kafka_broker_decommission
    - rd_list_init
    - mtx_unlock
    - TAILQ_FOREACH_SAFE
    - rd_kafka_q_enq
    - mtx_lock
    - rd_kafka_topic_partitions_remove
    - RD_LIST_FOREACH
    - rd_list_find
    - rd_kafka_metadata_cache_destroy
    - rd_kafka_log
    - rd_free
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_wrunlock
    - rd_kafka_interceptors_on_destroy
    - thrd_join
    - rd_malloc
    - rd_kafka_q_purge
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_destroy_internal(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1391
    functionName: _st_printf
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _st_printf(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka.c:1413,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1414,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka.c:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - st
    - name
    - src_avg
    argTypes:
    - struct _stats_emit*
    - char*
    - rd_avg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1408
    functionDepth: 2
    functionLinenumber: 1408
    functionLinenumberEnd: 1450
    functionName: rd_kafka_stats_emit_avg
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - _st_printf
    - rd_avg_destroy
    - rd_avg_rollover
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_stats_emit_avg(struct _stats_emit *st,\n                                              const
      char *name,\n                                              rd_avg_t *src_avg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka.c:1466,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1498,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka.c:1572,1
    - Dst: rd_kafka_msgq_size
      Src: /src/librdkafka/src/rdkafka.c:1573,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:1575,1
    - Dst: rd_kafka_q_size
      Src: /src/librdkafka/src/rdkafka.c:1576,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1586,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1587,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1588,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1589,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1591,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1592,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1594,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1595,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1600,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1602,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1603,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1605,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka.c:1608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - st
    - total
    - rktp
    - first
    argTypes:
    - struct _stats_emit*
    - struct _stats_total*
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1609
    functionName: rd_kafka_stats_emit_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_size
    - rd_kafka_q_len
    - rd_kafka_toppar_lock
    - rd_atomic32_get
    - _st_printf
    - rd_atomic64_get
    - rd_kafka_msgq_len
    - rd_kafka_toppar_unlock
    - rd_kafka_msgq_size
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_stats_emit_toppar(struct _stats_emit *st,\n                                                 struct
      _stats_total *total,\n                                                 rd_kafka_toppar_t
      *rktp,\n                                                 int first)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1698,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1705,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1709,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka.c:1710,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - st
    - rkb
    argTypes:
    - struct _stats_emit*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1715
    functionName: rd_kafka_stats_emit_broker_reqs
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - _st_printf
    - rd_atomic64_get
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_stats_emit_broker_reqs(struct _stats_emit *st,\n                                            rd_kafka_broker_t
      *rkb)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:1733,1
    - Dst: rd_kafka_curr_msgs_get
      Src: /src/librdkafka/src/rdkafka.c:1736,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:1737,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:1739,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1740,1
    - Dst: rd_kafka_type2str
      Src: /src/librdkafka/src/rdkafka.c:1761,1
    - Dst: time
      Src: /src/librdkafka/src/rdkafka.c:1761,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:1762,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1764,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1768,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka.c:1772,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1776,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1777,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka.c:1780,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka.c:1785,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1790,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka.c:1837,1
    - Dst: rd_kafka_confsource2str
      Src: /src/librdkafka/src/rdkafka.c:1839,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1842,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1843,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1844,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1845,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1846,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1847,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1848,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1849,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1850,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1851,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1852,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1853,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1854,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1855,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1856,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1857,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1858,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1859,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1860,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1862,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1863,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1864,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:1865,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1867,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1869,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1871,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1872,1
    - Dst: rd_kafka_stats_emit_broker_reqs
      Src: /src/librdkafka/src/rdkafka.c:1874,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1876,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1878,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1879,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka.c:1884,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:1885,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:1887,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka.c:1891,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1893,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1899,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1903,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:1907,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1908,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka.c:1914,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:1915,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:1916,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1921,1
    - Dst: rd_kafka_stats_emit_avg
      Src: /src/librdkafka/src/rdkafka.c:1923,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1925,1
    - Dst: rd_kafka_stats_emit_toppar
      Src: /src/librdkafka/src/rdkafka.c:1928,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:1931,1
    - Dst: rd_kafka_stats_emit_toppar
      Src: /src/librdkafka/src/rdkafka.c:1932,1
    - Dst: rd_kafka_stats_emit_toppar
      Src: /src/librdkafka/src/rdkafka.c:1937,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:1940,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1942,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1946,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1950,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka.c:1973,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1974,1
    - Dst: rd_kafka_idemp_state2str
      Src: /src/librdkafka/src/rdkafka.c:1988,1
    - Dst: rd_kafka_txn_state2str
      Src: /src/librdkafka/src/rdkafka.c:1990,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1992,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:1997,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:1998,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:2004,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:2007,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:2010,1
    - Dst: _st_printf
      Src: /src/librdkafka/src/rdkafka.c:2030,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:2034,1
    - Dst: rd_kafka_op_set_prio
      Src: /src/librdkafka/src/rdkafka.c:2035,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:2038,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 1721
    functionDepth: 3
    functionLinenumber: 1721
    functionLinenumberEnd: 2039
    functionName: rd_kafka_stats_emit_all
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    - RD_MAX
    - rd_kafka_txn_state2str
    - rd_atomic64_get
    - rd_kafka_op_set_prio
    - rd_kafka_type2str
    - TAILQ_FOREACH
    - rd_kafka_rdlock
    - rd_kafka_topic_rdunlock
    - rd_kafka_err2str
    - rd_kafka_op_new
    - rd_atomic32_get
    - _st_printf
    - rd_kafka_confsource2str
    - rd_kafka_is_idempotent
    - rd_kafka_rdunlock
    - rd_kafka_curr_msgs_get
    - rd_kafka_q_enq
    - rd_kafka_idemp_state2str
    - time
    - RD_LIST_FOREACH
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_unlock
    - rd_kafka_stats_emit_toppar
    - rd_clock
    - TAILQ_FIRST
    - rd_malloc
    - rd_kafka_stats_emit_avg
    - rd_kafka_broker_lock
    - rd_kafka_stats_emit_broker_reqs
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_stats_emit_all(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_scan_all
      Src: /src/librdkafka/src/rdkafka.c:2052,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:2052,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:2057,1
    - Dst: rd_kafka_connect_any
      Src: /src/librdkafka/src/rdkafka.c:2058,1
    - Dst: rd_kafka_coord_cache_expire
      Src: /src/librdkafka/src/rdkafka.c:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2048
    functionDepth: 4
    functionLinenumber: 2048
    functionLinenumberEnd: 2061
    functionName: rd_kafka_1s_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_connect_any
    - rd_atomic32_get
    - rd_clock
    - rd_kafka_coord_cache_expire
    - rd_kafka_topic_scan_all
    linkageType: ''
    returnType: void
    signature: void rd_kafka_1s_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:2074,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:2075,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:2076,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka.c:2077,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:2079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2080
    functionName: rd_kafka_reset_any_broker_down_reported
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_atomic32_set
    - TAILQ_FOREACH
    - rd_atomic32_sub
    linkageType: ''
    returnType: void
    signature: void rd_kafka_reset_any_broker_down_reported(rd_kafka_t *rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka.c:2094,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka.c:2094,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka.c:2095,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka.c:2099,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:2107,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:2109,1
    - Dst: rd_kafka_reset_any_broker_down_reported
      Src: /src/librdkafka/src/rdkafka.c:2110,1
    - Dst: rd_kafka_brokers_add0
      Src: /src/librdkafka/src/rdkafka.c:2113,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:2120,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka.c:2121,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:2122,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka.c:2126,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka.c:2127,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:2129,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:2131,1
    - Dst: rd_kafka_brokers_add0
      Src: /src/librdkafka/src/rdkafka.c:2132,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:2137,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:2139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2088
    functionDepth: 7
    functionLinenumber: 2088
    functionLinenumberEnd: 2140
    functionName: rd_kafka_rebootstrap_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_list_cnt
    - rd_list_destroy
    - rd_kafka_terminating
    - rd_atomic32_set
    - rd_kafka_reset_any_broker_down_reported
    - thrd_is_current
    - rd_dassert
    - RD_LIST_FOREACH
    - rd_kafka_brokers_add0
    - rd_list_copy_to
    - rd_list_init_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_rebootstrap_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_stats_emit_all
      Src: /src/librdkafka/src/rdkafka.c:2144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2142
    functionDepth: 4
    functionLinenumber: 2142
    functionLinenumberEnd: 2145
    functionName: rd_kafka_stats_emit_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_stats_emit_all
    linkageType: ''
    returnType: void
    signature: void rd_kafka_stats_emit_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_refresh_consumer_topics
      Src: /src/librdkafka/src/rdkafka.c:2163,1
    - Dst: rd_kafka_metadata_refresh_known_topics
      Src: /src/librdkafka/src/rdkafka.c:2166,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka.c:2172,1
    - Dst: rd_kafka_metadata_refresh_brokers
      Src: /src/librdkafka/src/rdkafka.c:2179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2182
    functionName: rd_kafka_metadata_refresh_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_refresh_consumer_topics
    - rd_interval
    - rd_kafka_metadata_refresh_brokers
    - rd_kafka_metadata_refresh_known_topics
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_refresh_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:2198,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:2200,1
    - Dst: cnd_timedwait_abs
      Src: /src/librdkafka/src/rdkafka.c:2202,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2194
    functionDepth: 3
    functionLinenumber: 2194
    functionLinenumberEnd: 2209
    functionName: rd_kafka_init_wait
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - cnd_timedwait_abs
    - rd_timeout_init
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: int rd_kafka_init_wait(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_thread_name
      Src: /src/librdkafka/src/rdkafka.c:2219,1
    - Dst: rd_kafka_set_thread_sysname
      Src: /src/librdkafka/src/rdkafka.c:2220,1
    - Dst: rd_kafka_interceptors_on_thread_start
      Src: /src/librdkafka/src/rdkafka.c:2222,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka.c:2224,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:2228,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2229,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka.c:2232,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka.c:2235,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka.c:2239,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka.c:2245,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka.c:2247,1
    - Dst: rd_kafka_idemp_init
      Src: /src/librdkafka/src/rdkafka.c:2248,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:2250,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka.c:2252,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2253,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka.c:2255,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka.c:2255,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:2255,1
    - Dst: rd_kafka_timers_next
      Src: /src/librdkafka/src/rdkafka.c:2258,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka.c:2263,1
    - Dst: rd_kafka_cgrp_serve
      Src: /src/librdkafka/src/rdkafka.c:2266,1
    - Dst: rd_kafka_timers_run
      Src: /src/librdkafka/src/rdkafka.c:2267,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:2270,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka.c:2273,1
    - Dst: rd_kafka_idemp_term
      Src: /src/librdkafka/src/rdkafka.c:2274,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka.c:2276,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka.c:2277,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka.c:2279,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka.c:2281,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka.c:2282,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:2285,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2286,1
    - Dst: rd_kafka_interceptors_on_thread_exit
      Src: /src/librdkafka/src/rdkafka.c:2288,1
    - Dst: rd_kafka_destroy_internal
      Src: /src/librdkafka/src/rdkafka.c:2290,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:2292,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka.c:2295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2215
    functionDepth: 14
    functionLinenumber: 2215
    functionLinenumberEnd: 2298
    functionName: rd_kafka_thread_main
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_set_thread_sysname
    - rd_kafka_wrlock
    - rd_kafka_q_fwd_set
    - rd_kafka_idemp_init
    - rd_kafka_q_disable
    - cnd_broadcast
    - rd_kafka_idemp_term
    - rd_atomic32_sub
    - rd_kafka_terminating
    - rd_kafka_timer_start
    - rd_kafka_timer_stop
    - mtx_unlock
    - rd_kafka_is_idempotent
    - mtx_lock
    - rd_kafka_q_serve
    - rd_kafka_interceptors_on_thread_exit
    - rd_kafka_timers_run
    - rd_kafka_interceptors_on_thread_start
    - rd_kafka_destroy_internal
    - rd_kafka_set_thread_name
    - rd_kafka_wrunlock
    - rd_kafka_cgrp_serve
    - rd_atomic32_add
    - rd_kafka_q_purge
    - likely
    - rd_kafka_timers_next
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_thread_main(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2303
    functionName: rd_kafka_term_sig_handler
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_term_sig_handler(int sig)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_global_init
      Src: /src/librdkafka/src/rdkafka.c:2322,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka.c:2336,1
    - Dst: rd_kafka_conf_finalize
      Src: /src/librdkafka/src/rdkafka.c:2341,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2343,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src/rdkafka.c:2345,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2346,1
    - Dst: rd_kafka_global_cnt_incr
      Src: /src/librdkafka/src/rdkafka.c:2351,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka.c:2356,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:2359,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:2364,1
    - Dst: call_once
      Src: /src/librdkafka/src/rdkafka.c:2373,1
    - Dst: rd_kafka_interceptors_on_new
      Src: /src/librdkafka/src/rdkafka.c:2376,1
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdkafka.c:2378,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2379,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2380,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka.c:2382,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2383,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:2384,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka.c:2387,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2388,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka.c:2390,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka.c:2391,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka.c:2392,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2393,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2395,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka.c:2396,1
    - Dst: rd_atomic64_init
      Src: /src/librdkafka/src/rdkafka.c:2398,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2399,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2400,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2401,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2402,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2403,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2404,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:2406,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:2407,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:2412,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:2417,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka.c:2418,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka.c:2419,1
    - Dst: rd_kafka_timers_init
      Src: /src/librdkafka/src/rdkafka.c:2420,1
    - Dst: rd_kafka_metadata_cache_init
      Src: /src/librdkafka/src/rdkafka.c:2421,1
    - Dst: rd_kafka_coord_cache_init
      Src: /src/librdkafka/src/rdkafka.c:2422,1
    - Dst: rd_kafka_coord_reqs_init
      Src: /src/librdkafka/src/rdkafka.c:2424,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:2425,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:2426,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src/rdkafka.c:2446,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src/rdkafka.c:2465,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src/rdkafka.c:2471,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src/rdkafka.c:2475,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2491,1
    - Dst: rd_kafka_type2str
      Src: /src/librdkafka/src/rdkafka.c:2492,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka.c:2493,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka.c:2496,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka.c:2499,1
    - Dst: rd_kafka_ApiVersion_is_queryable
      Src: /src/librdkafka/src/rdkafka.c:2507,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka.c:2512,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka.c:2513,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:2519,1
    - Dst: rd_kafka_assignors_init
      Src: /src/librdkafka/src/rdkafka.c:2531,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka.c:2538,1
    - Dst: rd_kafka_mock_cluster_new
      Src: /src/librdkafka/src/rdkafka.c:2542,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2545,1
    - Dst: rd_kafka_mock_cluster_bootstraps
      Src: /src/librdkafka/src/rdkafka.c:2553,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:2554,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka.c:2561,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:2564,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka.c:2566,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:2568,1
    - Dst: rd_kafka_mock_broker_set_rtt
      Src: /src/librdkafka/src/rdkafka.c:2574,1
    - Dst: rd_kafka_sasl_select_provider
      Src: /src/librdkafka/src/rdkafka.c:2582,1
    - Dst: rd_kafka_sasl_init
      Src: /src/librdkafka/src/rdkafka.c:2590,1
    - Dst: rd_kafka_ssl_ctx_init
      Src: /src/librdkafka/src/rdkafka.c:2602,1
    - Dst: rd_kafka_assignment_init
      Src: /src/librdkafka/src/rdkafka.c:2611,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka.c:2613,1
    - Dst: rd_kafka_cgrp_new
      Src: /src/librdkafka/src/rdkafka.c:2615,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka.c:2619,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka.c:2622,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2625,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2628,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2631,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2635,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2639,1
    - Dst: rd_avg_init
      Src: /src/librdkafka/src/rdkafka.c:2643,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka.c:2650,1
    - Dst: sigemptyset
      Src: /src/librdkafka/src/rdkafka.c:2659,1
    - Dst: sigfillset
      Src: /src/librdkafka/src/rdkafka.c:2660,1
    - Dst: sigaction
      Src: /src/librdkafka/src/rdkafka.c:2664,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka.c:2666,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:2677,1
    - Dst: rd_kafka_background_thread_create
      Src: /src/librdkafka/src/rdkafka.c:2679,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2681,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:2688,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:2691,1
    - Dst: thrd_create
      Src: /src/librdkafka/src/rdkafka.c:2693,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2699,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka.c:2701,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2702,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2703,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka.c:2706,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2711,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2712,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:2718,1
    - Dst: rd_kafka_broker_add
      Src: /src/librdkafka/src/rdkafka.c:2720,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2722,1
    - Dst: rd_kafka_brokers_add0
      Src: /src/librdkafka/src/rdkafka.c:2726,1
    - Dst: rd_kafka_op_err
      Src: /src/librdkafka/src/rdkafka.c:2728,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka.c:2734,1
    - Dst: rd_kafka_init_wait
      Src: /src/librdkafka/src/rdkafka.c:2740,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:2746,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:2747,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2753,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:2757,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2759,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src/rdkafka.c:2767,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:2769,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:2770,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/src/rdkafka.c:2773,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/src/rdkafka.c:2773,1
    - Dst: rd_kafka_conf_warn
      Src: /src/librdkafka/src/rdkafka.c:2777,1
    - Dst: rd_kafka_anyconf_dump_dbg
      Src: /src/librdkafka/src/rdkafka.c:2781,1
    - Dst: rd_kafka_anyconf_dump_dbg
      Src: /src/librdkafka/src/rdkafka.c:2784,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:2793,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2794,1
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:2806,1
    - Dst: rd_kafka_sasl_term
      Src: /src/librdkafka/src/rdkafka.c:2810,1
    - Dst: thrd_join
      Src: /src/librdkafka/src/rdkafka.c:2814,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:2815,1
    - Dst: rd_kafka_interceptors_on_destroy
      Src: /src/librdkafka/src/rdkafka.c:2820,1
    - Dst: rd_kafka_assignors_term
      Src: /src/librdkafka/src/rdkafka.c:2829,1
    - Dst: rd_kafka_interceptors_destroy
      Src: /src/librdkafka/src/rdkafka.c:2830,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka.c:2831,1
    - Dst: rd_kafka_destroy_internal
      Src: /src/librdkafka/src/rdkafka.c:2834,1
    - Dst: rd_kafka_destroy_final
      Src: /src/librdkafka/src/rdkafka.c:2835,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2837,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 259
    argCount: 4
    argNames:
    - type
    - app_conf
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_conf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2306
    functionDepth: 21
    functionLinenumber: 2306
    functionLinenumberEnd: 2840
    functionName: rd_kafka_new
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 22
    functionsReached:
    - rd_interval_init
    - rd_assert
    - rd_kafka_conf_set
    - rd_kafka_coord_reqs_init
    - rd_snprintf
    - sigemptyset
    - rd_kafka_wrlock
    - rd_kafka_destroy_final
    - call_once
    - cnd_init
    - rd_kafka_conf_warn
    - mtx_init
    - rd_kafka_assignors_term
    - rd_kafka_brokers_add0
    - rd_kafka_assignment_init
    - rd_kafka_global_cnt_incr
    - rd_kafka_broker_add
    - rd_kafka_metadata_cache_init
    - rd_kafka_type2str
    - rd_kafka_conf_set_oauthbearer_token_refresh_cb
    - rd_kafka_background_thread_create
    - rd_kafka_cgrp_new
    - rd_kafka_version
    - rd_kafka_q_keep
    - rd_kafka_init_wait
    - rd_kafka_sasl_term
    - rd_kafka_ApiVersion_is_queryable
    - rd_atomic32_init
    - rwlock_init
    - rd_atomic32_set
    - rd_atomic64_init
    - rd_kafka_interceptors_destroy
    - memset
    - rd_kafka_q_destroy_owner
    - rd_kafka_interceptors_on_new
    - rd_kafka_timers_init
    - rd_strerror
    - rd_kafka_conf_get
    - rd_list_init
    - rd_kafka_assignors_init
    - mtx_unlock
    - rd_kafka_set_last_error
    - rd_kafka_coord_cache_init
    - RD_KAFKAP_STR_LEN
    - rd_kafkap_str_new
    - mtx_lock
    - rd_kafka_ssl_ctx_init
    - rd_kafka_sasl_init
    - rd_calloc
    - rd_kafka_destroy_internal
    - rd_kafka_mock_cluster_new
    - thrd_create
    - rd_kafka_global_init
    - TAILQ_INIT
    - rd_kafka_conf_finalize
    - rd_clock
    - sigaction
    - sigfillset
    - rd_kafka_conf_new
    - rd_kafka_q_new
    - rd_free
    - rd_kafka_log
    - rd_kafka_sasl_select_provider
    - rd_avg_init
    - rd_kafka_mock_cluster_bootstraps
    - rd_kafka_wrunlock
    - rd_kafka_op_err
    - rd_kafka_version_str
    - rd_kafka_interceptors_on_destroy
    - thrd_join
    - pthread_sigmask
    - rd_kafka_mock_broker_set_rtt
    - rd_kafka_anyconf_dump_dbg
    - rd_atomic32_add
    - rd_kafka_conf_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *rd_kafka_new(rd_kafka_type_t type,\n                         rd_kafka_conf_t
      *app_conf,\n                         char *errstr,\n                         size_t
      errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_set
      Src: /src/librdkafka/src/rdkafka.c:2854,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka.c:2859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2849
    functionDepth: 1
    functionLinenumber: 2849
    functionLinenumberEnd: 2863
    functionName: rd_kafka_rebootstrap
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_atomic32_set
    - rd_kafka_timer_start_oneshot
    linkageType: ''
    returnType: void
    signature: void rd_kafka_rebootstrap(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka.c:2878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2873
    functionDepth: 1
    functionLinenumber: 2873
    functionLinenumberEnd: 2882
    functionName: rd_kafka_rebootstrap_tmr_start_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_start_oneshot
    linkageType: ''
    returnType: void
    signature: void rd_kafka_rebootstrap_tmr_start_maybe(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka.c:2898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2893
    functionDepth: 2
    functionLinenumber: 2893
    functionLinenumberEnd: 2900
    functionName: rd_kafka_rebootstrap_tmr_stop
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_timer_stop
    linkageType: ''
    returnType: int
    signature: int rd_kafka_rebootstrap_tmr_stop(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:2915,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka.c:2918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2914
    functionDepth: 1
    functionLinenumber: 2914
    functionLinenumberEnd: 2919
    functionName: rd_kafka_simple_consumer_add
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - rd_atomic32_add
    linkageType: ''
    returnType: int
    signature: int rd_kafka_simple_consumer_add(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2948,1
    - Dst: rd_kafka_simple_consumer_add
      Src: /src/librdkafka/src/rdkafka.c:2953,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2954,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka.c:2958,1
    - Dst: rd_kafka_toppar_desired_add
      Src: /src/librdkafka/src/rdkafka.c:2959,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:2960,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka.c:2973,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:2975,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2976,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:2982,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2983,1
    - Dst: rd_kafka_toppar_op_fetch_start
      Src: /src/librdkafka/src/rdkafka.c:2987,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka.c:2987,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:2990,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:2992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - rkt
    - partition
    - offset
    - rkq
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2941
    functionDepth: 2
    functionLinenumber: 2941
    functionLinenumberEnd: 2994
    functionName: rd_kafka_consume_start0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_destroy
    - rd_kafka_simple_consumer_add
    - rd_kafka_toppar_desired_add
    - rd_kafka_topic_wrlock
    - rd_kafka_toppar_op_fetch_start
    - rd_kafka_topic_wrunlock
    - RD_KAFKA_FETCH_POS
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_set_last_error
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_consume_start0(rd_kafka_topic_t *rkt,\n                                             int32_t
      partition,\n                                             int64_t offset,\n                                             rd_kafka_q_t
      *rkq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3001,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3002,1
    - Dst: rd_kafka_consume_start0
      Src: /src/librdkafka/src/rdkafka.c:3004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - app_rkt
    - partition
    - offset
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2998
    functionDepth: 3
    functionLinenumber: 2998
    functionLinenumberEnd: 3005
    functionName: rd_kafka_consume_start
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 5
    functionsReached:
    - rd_kafka_topic_proper
    - rd_kafka_consume_start0
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_consume_start(rd_kafka_topic_t *app_rkt,\n                           int32_t
      partition,\n                           int64_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3011,1
    - Dst: rd_kafka_consume_start0
      Src: /src/librdkafka/src/rdkafka.c:3013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - app_rkt
    - partition
    - offset
    - rkqu
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3014
      start: 3007
    functionDepth: 3
    functionLinenumber: 3007
    functionLinenumberEnd: 3014
    functionName: rd_kafka_consume_start_queue
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 4
    functionsReached:
    - rd_kafka_topic_proper
    - rd_kafka_consume_start0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_consume_start_queue(rd_kafka_topic_t *app_rkt,\n                                 int32_t
      partition,\n                                 int64_t offset,\n                                 rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka.c:3022,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka.c:3023,1
    - Dst: rd_kafka_toppar_desired_del
      Src: /src/librdkafka/src/rdkafka.c:3024,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka.c:3025,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:3026,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3028,1
    - Dst: rd_kafka_toppar_op_fetch_stop
      Src: /src/librdkafka/src/rdkafka.c:3030,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3030,1
    - Dst: rd_kafka_q_wait_result
      Src: /src/librdkafka/src/rdkafka.c:3033,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3034,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3018
    functionDepth: 1
    functionLinenumber: 3018
    functionLinenumberEnd: 3039
    functionName: rd_kafka_consume_stop0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_toppar_lock
    - rd_kafka_set_last_error
    - rd_kafka_q_destroy_owner
    - rd_kafka_toppar_desired_del
    - rd_kafka_topic_wrlock
    - rd_kafka_q_wait_result
    - rd_kafka_topic_wrunlock
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_op_fetch_stop
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_consume_stop0(rd_kafka_toppar_t *rktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3043,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3048,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka.c:3052,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka.c:3053,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka.c:3054,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:3055,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3056,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:3060,1
    - Dst: rd_kafka_consume_stop0
      Src: /src/librdkafka/src/rdkafka.c:3062,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3065,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - app_rkt
    - partition
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3042
    functionDepth: 2
    functionLinenumber: 3042
    functionLinenumberEnd: 3068
    functionName: rd_kafka_consume_stop
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 8
    functionsReached:
    - rd_kafka_set_last_error
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - rd_kafka_topic_wrlock
    - rd_kafka_consume_stop0
    - rd_kafka_topic_wrunlock
    - rd_kafka_toppar_destroy
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: int
    signature: int rd_kafka_consume_stop(rd_kafka_topic_t *app_rkt, int32_t partition)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3076,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:3087,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka.c:3088,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka.c:3089,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:3090,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:3093,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3096,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3097,1
    - Dst: rd_kafka_toppar_op_seek
      Src: /src/librdkafka/src/rdkafka.c:3100,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka.c:3100,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3103,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3104,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3108,1
    - Dst: rd_kafka_q_wait_result
      Src: /src/librdkafka/src/rdkafka.c:3111,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - app_rkt
    - partition
    - offset
    - timeout_ms
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3117
      start: 3072
    functionDepth: 2
    functionLinenumber: 3072
    functionLinenumberEnd: 3117
    functionName: rd_kafka_seek
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 3
    functionsReached:
    - rd_kafka_q_new
    - RD_KAFKA_REPLYQ
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_kafka_toppar_op_seek
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - rd_kafka_q_destroy_owner
    - rd_kafka_q_wait_result
    - RD_KAFKA_FETCH_POS
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_seek(rd_kafka_topic_t *app_rkt,\n                                  int32_t
      partition,\n                                  int64_t offset,\n                                  int
      timeout_ms)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:3126,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3130,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3135,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3139,1
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka.c:3145,1
    - Dst: rd_kafka_toppar_op_seek
      Src: /src/librdkafka/src/rdkafka.c:3153,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka.c:3154,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3155,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3163,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka.c:3174,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka.c:3174,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3176,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3178,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3186,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3187,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3189,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:3193,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka.c:3195,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:3198,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3202,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - rk
    - partitions
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3210
      start: 3120
    functionDepth: 6
    functionLinenumber: 3120
    functionLinenumberEnd: 3210
    functionName: rd_kafka_seek_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 6
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_q_new
    - rd_kafka_op_destroy
    - rd_timeout_remains_us
    - rd_assert
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_error_new
    - rd_kafka_toppar_op_seek
    - rd_kafka_q_pop
    - rd_kafka_q_destroy_owner
    - rd_kafka_topic_partition_list_find
    - rd_timeout_init
    - rd_kafka_toppar_destroy
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_seek_partitions(rd_kafka_t *rk,\n                         rd_kafka_topic_partition_list_t
      *partitions,\n                         int timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka.c:3145,1
    - Dst: rd_kafka_toppar_op_seek
      Src: /src/librdkafka/src/rdkafka.c:3153,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka.c:3154,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3155,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3164
      start: 3141
    functionDepth: 1
    functionLinenumber: 3141
    functionLinenumberEnd: 3164
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 6
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_toppar_op_seek
    - rd_kafka_toppar_destroy
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, partitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_serve_rkmessages
      Src: /src/librdkafka/src/rdkafka.c:3219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rkq
    - timeout_ms
    - rkmessages
    - rkmessages_size
    argTypes:
    - rd_kafka_q_t*
    - int
    - rd_kafka_message_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3221
    functionName: rd_kafka_consume_batch0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_serve_rkmessages
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_consume_batch0(rd_kafka_q_t *rkq,\n                                       int
      timeout_ms,\n                                       rd_kafka_message_t **rkmessages,\n
      \                                      size_t rkmessages_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3229,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:3234,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka.c:3235,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3236,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka.c:3237,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:3238,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3240,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3242,1
    - Dst: rd_kafka_q_serve_rkmessages
      Src: /src/librdkafka/src/rdkafka.c:3248,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3251,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - app_rkt
    - partition
    - timeout_ms
    - rkmessages
    - rkmessages_size
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - rd_kafka_message_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3256
      start: 3224
    functionDepth: 2
    functionLinenumber: 3224
    functionLinenumberEnd: 3256
    functionName: rd_kafka_consume_batch
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_kafka_set_last_error
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - rd_kafka_q_serve_rkmessages
    - unlikely
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_consume_batch(rd_kafka_topic_t *app_rkt,\n                               int32_t
      partition,\n                               int timeout_ms,\n                               rd_kafka_message_t
      **rkmessages,\n                               size_t rkmessages_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consume_batch0
      Src: /src/librdkafka/src/rdkafka.c:3263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rkqu
    - timeout_ms
    - rkmessages
    - rkmessages_size
    argTypes:
    - rd_kafka_queue_t*
    - int
    - rd_kafka_message_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3258
    functionDepth: 2
    functionLinenumber: 3258
    functionLinenumberEnd: 3265
    functionName: rd_kafka_consume_batch_queue
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 6
    functionsReached:
    - rd_kafka_consume_batch0
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t rd_kafka_consume_batch_queue(rd_kafka_queue_t *rkqu,\n                                     int
      timeout_ms,\n                                     rd_kafka_message_t **rkmessages,\n
      \                                    size_t rkmessages_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3285,1
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka.c:3285,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3287,1
    - Dst: rd_kafka_message_get
      Src: /src/librdkafka/src/rdkafka.c:3291,1
    - Dst: rd_kafka_fetch_op_app_prepare
      Src: /src/librdkafka/src/rdkafka.c:3293,1
    - Dst: struct consume_ctx*::consume_cb
      Src: /src/librdkafka/src/rdkafka.c:3295,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3277
    functionDepth: 6
    functionLinenumber: 3277
    functionLinenumberEnd: 3300
    functionName: rd_kafka_consume_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - struct consume_ctx*::consume_cb
    - rd_kafka_fetch_op_app_prepare
    - rd_kafka_op_version_outdated
    - unlikely
    - rd_kafka_message_get
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_consume_cb(rd_kafka_t *rk,\n                                             rd_kafka_q_t
      *rkq,\n                                             rd_kafka_op_t *rko,\n                                             rd_kafka_q_cb_type_t
      cb_type,\n                                             void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_app_poll_start
      Src: /src/librdkafka/src/rdkafka.c:3313,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka.c:3315,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka.c:3318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rkq
    - timeout_ms
    - max_cnt
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3304
    functionDepth: 4
    functionLinenumber: 3304
    functionLinenumberEnd: 3321
    functionName: rd_kafka_consume_callback0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_serve
    - rd_kafka_app_polled
    - rd_kafka_app_poll_start
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_consume_callback0(\n    rd_kafka_q_t *rkq,\n
      \   int timeout_ms,\n    int max_cnt,\n    void (*consume_cb)(rd_kafka_message_t
      *rkmessage, void *opaque),\n    void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3330,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:3335,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka.c:3336,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3337,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka.c:3338,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:3339,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3341,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3343,1
    - Dst: rd_kafka_consume_callback0
      Src: /src/librdkafka/src/rdkafka.c:3348,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3352,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - app_rkt
    - partition
    - timeout_ms
    - opaque
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3324
    functionDepth: 5
    functionLinenumber: 3324
    functionLinenumberEnd: 3357
    functionName: rd_kafka_consume_callback
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_kafka_set_last_error
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - rd_kafka_consume_callback0
    - unlikely
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_consume_callback(rd_kafka_topic_t *app_rkt,\n                              int32_t
      partition,\n                              int timeout_ms,\n                              void
      (*consume_cb)(rd_kafka_message_t *rkmessage,\n                                                 void
      *opaque),\n                              void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consume_callback0
      Src: /src/librdkafka/src/rdkafka.c:3366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkqu
    - timeout_ms
    - opaque
    argTypes:
    - rd_kafka_queue_t*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3368
      start: 3361
    functionDepth: 5
    functionLinenumber: 3361
    functionLinenumberEnd: 3368
    functionName: rd_kafka_consume_callback_queue
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_consume_callback0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_consume_callback_queue(\n    rd_kafka_queue_t *rkqu,\n
      \   int timeout_ms,\n    void (*consume_cb)(rd_kafka_message_t *rkmessage, void
      *opaque),\n    void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:3381,1
    - Dst: rd_timeout_init0
      Src: /src/librdkafka/src/rdkafka.c:3382,1
    - Dst: rd_kafka_app_poll_start
      Src: /src/librdkafka/src/rdkafka.c:3384,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka.c:3388,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka.c:3388,1
    - Dst: rd_kafka_poll_cb
      Src: /src/librdkafka/src/rdkafka.c:3391,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3396,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3400,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka.c:3401,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3411,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka.c:3413,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka.c:3417,1
    - Dst: rd_kafka_message_get
      Src: /src/librdkafka/src/rdkafka.c:3421,1
    - Dst: rd_kafka_fetch_op_app_prepare
      Src: /src/librdkafka/src/rdkafka.c:3424,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3426,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka.c:3428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - rk
    - rkq
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3431
      start: 3377
    functionDepth: 4
    functionLinenumber: 3377
    functionLinenumberEnd: 3431
    functionName: rd_kafka_consume0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_get
    - rd_kafka_poll_cb
    - rd_timeout_remains_us
    - rd_kafka_app_poll_start
    - rd_kafka_q_pop
    - rd_timeout_init0
    - rd_kafka_app_polled
    - rd_kafka_fetch_op_app_prepare
    - rd_kafka_assert
    - rd_clock
    - unlikely
    - rd_kafka_set_last_error
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: 'rd_kafka_message_t *

      rd_kafka_consume0(rd_kafka_t *rk, rd_kafka_q_t *rkq, int timeout_ms)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_proper
      Src: /src/librdkafka/src/rdkafka.c:3435,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:3439,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka.c:3440,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3441,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka.c:3442,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:3443,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3445,1
    - Dst: rd_kafka_set_last_error
      Src: /src/librdkafka/src/rdkafka.c:3447,1
    - Dst: rd_kafka_consume0
      Src: /src/librdkafka/src/rdkafka.c:3453,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - app_rkt
    - partition
    - timeout_ms
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3433
    functionDepth: 5
    functionLinenumber: 3433
    functionLinenumberEnd: 3458
    functionName: rd_kafka_consume
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 5
    functionsReached:
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_kafka_set_last_error
    - rd_kafka_toppar_get
    - rd_kafka_topic_proper
    - rd_kafka_consume0
    - unlikely
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: 'rd_kafka_message_t *

      rd_kafka_consume(rd_kafka_topic_t *app_rkt, int32_t partition, int timeout_ms)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consume0
      Src: /src/librdkafka/src/rdkafka.c:3463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkqu
    - timeout_ms
    argTypes:
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3461
    functionDepth: 5
    functionLinenumber: 3461
    functionLinenumberEnd: 3464
    functionName: rd_kafka_consume_queue
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 5
    functionsReached:
    - rd_kafka_consume0
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: "rd_kafka_message_t *rd_kafka_consume_queue(rd_kafka_queue_t *rkqu,\n
      \                                          int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka.c:3471,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka.c:3474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3476
      start: 3468
    functionDepth: 1
    functionLinenumber: 3468
    functionLinenumberEnd: 3476
    functionName: rd_kafka_poll_set_consumer
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 8
    functionsReached:
    - rd_kafka_cgrp_get
    - rd_kafka_q_fwd_set
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_poll_set_consumer(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3483,1
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka.c:3483,1
    - Dst: rd_kafka_message_new
      Src: /src/librdkafka/src/rdkafka.c:3484,1
    - Dst: rd_kafka_consume0
      Src: /src/librdkafka/src/rdkafka.c:3489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3490
      start: 3480
    functionDepth: 5
    functionLinenumber: 3480
    functionLinenumberEnd: 3490
    functionName: rd_kafka_consumer_poll
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 29
    functionsReached:
    - rd_kafka_consume0
    - rd_kafka_cgrp_get
    - unlikely
    - rd_kafka_message_new
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: rd_kafka_message_t *rd_kafka_consumer_poll(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka.c:3507,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3508,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:3512,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3513,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka.c:3520,1
    - Dst: rd_kafka_get_fatal_error
      Src: /src/librdkafka/src/rdkafka.c:3521,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3524,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka.c:3530,1
    - Dst: rd_kafka_cgrp_terminate
      Src: /src/librdkafka/src/rdkafka.c:3534,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3502
    functionDepth: 2
    functionLinenumber: 3502
    functionLinenumberEnd: 3537
    functionName: rd_kafka_consumer_close_q
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_get
    - rd_kafka_q_fwd_set
    - rd_kafka_error_new
    - rd_atomic32_get
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_cgrp_terminate
    - rd_kafka_get_fatal_error
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_consumer_close_q(rd_kafka_t *rk,\n                                                   rd_kafka_q_t
      *rkq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka.c:3542,1
    - Dst: rd_kafka_consumer_close_q
      Src: /src/librdkafka/src/rdkafka.c:3544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3539
    functionDepth: 3
    functionLinenumber: 3539
    functionLinenumberEnd: 3545
    functionName: rd_kafka_consumer_close_queue
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_consumer_close_q
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_consumer_close_queue(rd_kafka_t *rk,\n
      \                                               rd_kafka_queue_t *rkqu)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3553,1
    - Dst: rd_kafka_consumer_close_q
      Src: /src/librdkafka/src/rdkafka.c:3556,1
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/src/rdkafka.c:3558,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka.c:3560,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka.c:3561,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3562,1
    - Dst: rd_kafka_destroy_flags_no_consumer_close
      Src: /src/librdkafka/src/rdkafka.c:3571,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3572,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka.c:3576,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka.c:3578,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3581,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka.c:3582,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3587,1
    - Dst: rd_kafka_poll_cb
      Src: /src/librdkafka/src/rdkafka.c:3591,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3594,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3599,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3602,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka.c:3604,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:3606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3610
      start: 3547
    functionDepth: 6
    functionLinenumber: 3547
    functionLinenumberEnd: 3610
    functionName: rd_kafka_consumer_close
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 18
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_op_destroy
    - rd_kafka_poll_cb
    - rd_kafka_error_is_fatal
    - rd_kafka_q_disable
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_consumer_close_q
    - rd_kafka_error_code
    - rd_kafka_q_destroy_owner
    - rd_kafka_destroy_flags_no_consumer_close
    - rd_kafka_q_pop
    - rd_kafka_q_purge
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_consumer_close(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:3614,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:3617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3618
      start: 3613
    functionDepth: 1
    functionLinenumber: 3613
    functionLinenumberEnd: 3618
    functionName: rd_kafka_consumer_closed
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_atomic32_get
    - unlikely
    linkageType: ''
    returnType: int
    signature: int rd_kafka_consumer_closed(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:3628,1
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka.c:3633,1
    - Dst: rd_kafka_topic_partition_list_reset_offsets
      Src: /src/librdkafka/src/rdkafka.c:3637,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3640,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:3644,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka.c:3646,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka.c:3647,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka.c:3654,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka.c:3659,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka.c:3665,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka.c:3665,1
    - Dst: rd_kafka_topic_partition_list_update
      Src: /src/librdkafka/src/rdkafka.c:3668,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka.c:3673,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:3675,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:3678,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3684,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - rk
    - partitions
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3621
    functionDepth: 6
    functionLinenumber: 3621
    functionLinenumberEnd: 3687
    functionName: rd_kafka_committed
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 16
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_op_destroy
    - rd_timeout_remains_us
    - rd_kafka_cgrp_get
    - rd_kafka_q_enq
    - rd_kafka_op_set_replyq
    - rd_kafka_op_new
    - rd_kafka_topic_partition_list_update
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_q_pop
    - rd_kafka_q_destroy_owner
    - rd_kafka_topic_partition_list_reset_offsets
    - rd_kafka_brokers_get_state_version
    - rd_timeout_remains
    - rd_timeout_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_committed(rd_kafka_t *rk,\n                   rd_kafka_topic_partition_list_t
      *partitions,\n                   int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka.c:3699,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka.c:3706,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka.c:3707,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka.c:3709,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3710,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rk
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3716
      start: 3691
    functionDepth: 1
    functionLinenumber: 3691
    functionLinenumberEnd: 3716
    functionName: rd_kafka_position
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 7
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_position(rd_kafka_t *rk, rd_kafka_topic_partition_list_t
      *partitions)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka.c:3749,1
    - Dst: rd_kafka_handle_ListOffsets
      Src: /src/librdkafka/src/rdkafka.c:3750,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:3755,1
    - Dst: rd_kafka_metadata_cache_delete_by_name
      Src: /src/librdkafka/src/rdkafka.c:3756,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:3757,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3761,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka.c:3767,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:3769,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:3771,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka.c:3773,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3774,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka.c:3780,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3798,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3730
    functionDepth: 5
    functionLinenumber: 3730
    functionLinenumberEnd: 3799
    functionName: rd_kafka_query_wmark_offsets_resp_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_delete_by_name
    - rd_kafka_wrlock
    - rd_kafka_handle_ListOffsets
    - rd_kafka_wrunlock
    - rd_kafka_buf_retry
    - rd_kafka_topic_partition_list_new
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_brokers_get_state_version
    - rd_timeout_remains
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_query_wmark_offsets_resp_cb(rd_kafka_t *rk,\n                                                 rd_kafka_broker_t
      *rkb,\n                                                 rd_kafka_resp_err_t
      err,\n                                                 rd_kafka_buf_t *rkbuf,\n
      \                                                rd_kafka_buf_t *request,\n
      \                                                void *opaque)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:3810,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka.c:3818,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka.c:3820,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:3822,1
    - Dst: rd_kafka_topic_partition_list_query_leaders
      Src: /src/librdkafka/src/rdkafka.c:3825,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3828,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3829,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka.c:3833,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:3835,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:3846,1
    - Dst: rd_kafka_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka.c:3849,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3850,1
    - Dst: rd_kafka_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka.c:3854,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:3855,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3858,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:3859,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:3863,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka.c:3864,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka.c:3868,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:3872,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 6
    argNames:
    - rk
    - topic
    - partition
    - low
    - high
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int64_t*
    - int64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3893
      start: 3802
    functionDepth: 9
    functionLinenumber: 3802
    functionLinenumberEnd: 3893
    functionName: rd_kafka_query_watermark_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 8
    functionsReached:
    - rd_kafka_q_new
    - rd_timeout_expired
    - rd_list_destroy
    - rd_kafka_q_serve
    - rd_kafka_topic_partition_list_query_leaders
    - rd_kafka_topic_partition_list_new
    - rd_kafka_ListOffsetsRequest
    - rd_kafka_topic_partition_list_add
    - rd_kafka_q_destroy_owner
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_brokers_get_state_version
    - rd_list_elem
    - rd_list_init
    - rd_timeout_remains
    - rd_timeout_init
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_query_watermark_offsets(rd_kafka_t *rk,\n
      \                                                    const char *topic,\n                                                     int32_t
      partition,\n                                                     int64_t *low,\n
      \                                                    int64_t *high,\n                                                     int
      timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka.c:3903,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka.c:3907,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka.c:3910,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka.c:3912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - rk
    - topic
    - partition
    - low
    - high
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3915
      start: 3896
    functionDepth: 1
    functionLinenumber: 3896
    functionLinenumberEnd: 3915
    functionName: rd_kafka_get_watermark_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_get_watermark_offsets(rd_kafka_t *rk,\n
      \                                                  const char *topic,\n                                                   int32_t
      partition,\n                                                   int64_t *low,\n
      \                                                  int64_t *high)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_handle_ListOffsets
      Src: /src/librdkafka/src/rdkafka.c:3949,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka.c:3957,1
    - Dst: RD_KAFKA_TPLIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:3958,1
    - Dst: rd_kafka_metadata_cache_delete_by_name
      Src: /src/librdkafka/src/rdkafka.c:3960,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka.c:3963,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka.c:3968,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:3970,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:3972,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka.c:3974,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3932
    functionDepth: 5
    functionLinenumber: 3932
    functionLinenumberEnd: 3983
    functionName: rd_kafka_get_offsets_for_times_resp_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_delete_by_name
    - rd_kafka_wrlock
    - rd_kafka_handle_ListOffsets
    - rd_kafka_wrunlock
    - rd_kafka_buf_retry
    - rd_kafka_brokers_wait_state_change
    - rd_timeout_remains
    - rd_kafka_brokers_get_state_version
    - RD_KAFKA_TPLIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_get_offsets_for_times_resp_cb(rd_kafka_t *rk,\n                                                   rd_kafka_broker_t
      *rkb,\n                                                   rd_kafka_resp_err_t
      err,\n                                                   rd_kafka_buf_t *rkbuf,\n
      \                                                  rd_kafka_buf_t *request,\n
      \                                                  void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:3992,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka.c:4002,1
    - Dst: rd_kafka_topic_partition_list_query_leaders
      Src: /src/librdkafka/src/rdkafka.c:4005,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:4008,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:4013,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka.c:4016,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4019,1
    - Dst: rd_kafka_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka.c:4021,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:4022,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:4026,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka.c:4030,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:4030,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka.c:4031,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:4034,1
    - Dst: rd_kafka_topic_partition_list_update
      Src: /src/librdkafka/src/rdkafka.c:4041,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:4043,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - rk
    - offsets
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4046
      start: 3986
    functionDepth: 9
    functionLinenumber: 3986
    functionLinenumberEnd: 4046
    functionName: rd_kafka_offsets_for_times
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_new
    - rd_timeout_expired
    - rd_list_destroy
    - rd_kafka_q_serve
    - rd_kafka_topic_partition_list_query_leaders
    - rd_kafka_topic_partition_list_new
    - rd_kafka_ListOffsetsRequest
    - rd_kafka_topic_partition_list_update
    - RD_LIST_FOREACH
    - rd_kafka_q_destroy_owner
    - rd_kafka_topic_partition_list_destroy
    - rd_list_init
    - rd_timeout_remains
    - rd_timeout_init
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_offsets_for_times(rd_kafka_t *rk,\n                           rd_kafka_topic_partition_list_t
      *offsets,\n                           int timeout_ms)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_event_setup
      Src: /src/librdkafka/src/rdkafka.c:4068,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:4080,1
    - Dst: rd_kafka_consume_cb
      Src: /src/librdkafka/src/rdkafka.c:4085,1
    - Dst: rd_kafka_t*::rk_conf::rebalance_cb
      Src: /src/librdkafka/src/rdkafka.c:4091,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka.c:4099,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/src/rdkafka.c:4104,1
    - Dst: rd_kafka_op_t*::rko_u::offset_commit::cb
      Src: /src/librdkafka/src/rdkafka.c:4111,1
    - Dst: rd_kafka_assignment_partition_stopped
      Src: /src/librdkafka/src/rdkafka.c:4118,1
    - Dst: rd_kafka_t*::rk_conf::error_cb
      Src: /src/librdkafka/src/rdkafka.c:4138,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:4142,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka.c:4149,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka.c:4152,1
    - Dst: rd_kafka_message_get_from_rkm
      Src: /src/librdkafka/src/rdkafka.c:4155,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka.c:4157,1
    - Dst: rd_kafka_t*::rk_conf::dr_msg_cb
      Src: /src/librdkafka/src/rdkafka.c:4158,1
    - Dst: rd_kafka_t*::rk_conf::dr_cb
      Src: /src/librdkafka/src/rdkafka.c:4162,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka.c:4167,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src/rdkafka.c:4176,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka.c:4178,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:4181,1
    - Dst: rd_kafka_msg_destroy
      Src: /src/librdkafka/src/rdkafka.c:4185,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka.c:4187,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka.c:4191,1
    - Dst: rd_kafka_q_reenq
      Src: /src/librdkafka/src/rdkafka.c:4192,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:4194,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka.c:4199,1
    - Dst: rd_kafka_t*::rk_conf::throttle_cb
      Src: /src/librdkafka/src/rdkafka.c:4205,1
    - Dst: rd_kafka_t*::rk_conf::stats_cb
      Src: /src/librdkafka/src/rdkafka.c:4215,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka.c:4223,1
    - Dst: rd_kafka_t*::rk_conf::log_cb
      Src: /src/librdkafka/src/rdkafka.c:4225,1
    - Dst: rd_kafka_op_t*::rko_u::terminated::cb
      Src: /src/librdkafka/src/rdkafka.c:4234,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:4236,1
    - Dst: rd_kafka_op_call
      Src: /src/librdkafka/src/rdkafka.c:4254,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka.c:4267,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka.c:4267,1
    - Dst: rd_kafka_op_call
      Src: /src/librdkafka/src/rdkafka.c:4268,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/src/rdkafka.c:4275,1
    - Dst: rd_kafka_set_telemetry_broker_maybe
      Src: /src/librdkafka/src/rdkafka.c:4279,1
    - Dst: rd_kafka_telemetry_schedule_termination
      Src: /src/librdkafka/src/rdkafka.c:4284,1
    - Dst: rd_kafka_metadata_update_op
      Src: /src/librdkafka/src/rdkafka.c:4288,1
    - Dst: rd_kafka_op_call
      Src: /src/librdkafka/src/rdkafka.c:4295,1
    - Dst: RD_BUG
      Src: /src/librdkafka/src/rdkafka.c:4299,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka.c:4300,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:4305,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 128
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4308
      start: 4059
    functionDepth: 12
    functionLinenumber: 4059
    functionLinenumberEnd: 4308
    functionName: rd_kafka_poll_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_op_destroy
    - rd_kafka_telemetry_schedule_termination
    - rd_kafka_metadata_update_op
    - rd_kafka_t*::rk_conf::dr_msg_cb
    - rd_kafka_op_t*::rko_u::offset_commit::cb
    - unlikely
    - rd_kafka_op2str
    - rd_kafka_err2name
    - RD_BUG
    - rd_kafka_op_t*::rko_u::terminated::cb
    - rd_kafka_op_call
    - rd_kafka_message_get_from_rkm
    - TAILQ_REMOVE
    - rd_kafka_set_telemetry_broker_maybe
    - rd_kafka_t*::rk_conf::error_cb
    - rd_kafka_t*::rk_conf::dr_cb
    - rd_kafka_topic_name
    - rd_kafka_purge
    - rd_clock
    - rd_kafka_msg_destroy
    - rd_kafka_assignment_partition_stopped
    - rd_kafka_log
    - TAILQ_EMPTY
    - rd_kafka_q_reenq
    - rd_kafka_t*::rk_conf::log_cb
    - rd_kafka_t*::rk_conf::stats_cb
    - TAILQ_FIRST
    - rd_kafka_msgq_init
    - rd_kafka_t*::rk_conf::rebalance_cb
    - thrd_is_current
    - rd_kafka_assign
    - rd_kafka_t*::rk_conf::throttle_cb
    - rd_kafka_event_setup
    - rd_kafka_consume_cb
    - likely
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_poll_cb(rd_kafka_t *rk,\n                                   rd_kafka_q_t
      *rkq,\n                                   rd_kafka_op_t *rko,\n                                   rd_kafka_q_cb_type_t
      cb_type,\n                                   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_serve_maybe_consume
      Src: /src/librdkafka/src/rdkafka.c:4313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4317
      start: 4310
    functionDepth: 1
    functionLinenumber: 4310
    functionLinenumberEnd: 4317
    functionName: rd_kafka_poll
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 28
    functionsReached:
    - rd_kafka_q_serve_maybe_consume
    linkageType: ''
    returnType: int
    signature: int rd_kafka_poll(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop_serve_maybe_consume
      Src: /src/librdkafka/src/rdkafka.c:4323,1
    - Dst: rd_timeout_us
      Src: /src/librdkafka/src/rdkafka.c:4324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkqu
    - timeout_ms
    argTypes:
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 4320
    functionDepth: 1
    functionLinenumber: 4320
    functionLinenumberEnd: 4332
    functionName: rd_kafka_queue_poll
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 46
    functionsReached:
    - rd_kafka_q_pop_serve_maybe_consume
    - rd_timeout_us
    linkageType: ''
    returnType: rd_kafka_event_t
    signature: rd_kafka_event_t *rd_kafka_queue_poll(rd_kafka_queue_t *rkqu, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_serve_maybe_consume
      Src: /src/librdkafka/src/rdkafka.c:4337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkqu
    - timeout_ms
    argTypes:
    - rd_kafka_queue_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4334
    functionDepth: 1
    functionLinenumber: 4334
    functionLinenumberEnd: 4341
    functionName: rd_kafka_queue_poll_callback
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_serve_maybe_consume
    linkageType: ''
    returnType: int
    signature: int rd_kafka_queue_poll_callback(rd_kafka_queue_t *rkqu, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4348,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:4352,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4356,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka.c:4361,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4364,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fp
    - indent
    - rktp
    argTypes:
    - FILE*
    - char*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4366
      start: 4345
    functionDepth: 1
    functionLinenumber: 4345
    functionLinenumberEnd: 4366
    functionName: rd_kafka_toppar_dump
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_PR
    - fprintf
    - rd_refcnt_get
    - rd_atomic64_get
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_dump(FILE *fp, const char *indent, rd_kafka_toppar_t
      *rktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka.c:4372,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4373,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka.c:4379,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4381,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka.c:4381,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4382,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:4383,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:4384,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4385,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4395,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4396,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4397,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4398,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4399,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4400,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4401,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdkafka.c:4402,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4404,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4405,1
    - Dst: rd_kafka_toppar_dump
      Src: /src/librdkafka/src/rdkafka.c:4406,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka.c:4408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - fp
    - rkb
    - locks
    argTypes:
    - FILE*
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4410
      start: 4368
    functionDepth: 2
    functionLinenumber: 4368
    functionLinenumberEnd: 4410
    functionName: rd_kafka_broker_dump
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_atomic32_get
    - rd_kafka_toppar_dump
    - rd_kafka_broker_lock
    - rd_refcnt_get
    - rd_atomic64_get
    - rd_kafka_broker_unlock
    - rd_clock
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void rd_kafka_broker_dump(FILE *fp, rd_kafka_broker_t *rkb, int locks)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_curr_msgs_get
      Src: /src/librdkafka/src/rdkafka.c:4421,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:4424,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4426,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka.c:4426,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4428,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4430,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4432,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:4433,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4435,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka.c:4437,1
    - Dst: rd_kafka_broker_dump
      Src: /src/librdkafka/src/rdkafka.c:4439,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka.c:4441,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4443,1
    - Dst: rd_kafka_broker_dump
      Src: /src/librdkafka/src/rdkafka.c:4444,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4447,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4450,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:4451,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4454,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka.c:4457,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4460,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4461,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4462,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:4463,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4469,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4470,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4471,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka.c:4475,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka.c:4478,1
    - Dst: rd_kafka_toppar_dump
      Src: /src/librdkafka/src/rdkafka.c:4480,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka.c:4481,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4482,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4483,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4484,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4485,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4489,1
    - Dst: rd_kafka_metadata_cache_dump
      Src: /src/librdkafka/src/rdkafka.c:4490,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 3
    argNames:
    - fp
    - rk
    - locks
    argTypes:
    - FILE*
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4494
      start: 4413
    functionDepth: 3
    functionLinenumber: 4413
    functionLinenumberEnd: 4494
    functionName: rd_kafka_dump0
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - fprintf
    - rd_kafka_curr_msgs_get
    - rd_kafka_q_len
    - rd_kafka_broker_dump
    - mtx_lock
    - rd_kafka_rdunlock
    - rd_atomic32_get
    - RD_LIST_FOREACH
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_dump
    - rd_refcnt_get
    - rd_kafka_broker_name
    - mtx_unlock
    - rd_kafka_metadata_cache_dump
    - TAILQ_FOREACH
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void rd_kafka_dump0(FILE *fp, rd_kafka_t *rk, int locks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dump0
      Src: /src/librdkafka/src/rdkafka.c:4498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fp
    - rk
    argTypes:
    - FILE*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4499
      start: 4496
    functionDepth: 4
    functionLinenumber: 4496
    functionLinenumberEnd: 4499
    functionName: rd_kafka_dump
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_kafka_dump0
    linkageType: ''
    returnType: void
    signature: void rd_kafka_dump(FILE *fp, rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4503
    functionDepth: 0
    functionLinenumber: 4503
    functionLinenumberEnd: 4505
    functionName: rd_kafka_name
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_name(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4507
    functionDepth: 0
    functionLinenumber: 4507
    functionLinenumberEnd: 4509
    functionName: rd_kafka_type
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_type_t
    signature: rd_kafka_type_t rd_kafka_type(const rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_cgrp_get
      Src: /src/librdkafka/src/rdkafka.c:4517,1
    - Dst: rd_kafka_op_req2
      Src: /src/librdkafka/src/rdkafka.c:4520,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka.c:4525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4528
      start: 4512
    functionDepth: 6
    functionLinenumber: 4512
    functionLinenumberEnd: 4528
    functionName: rd_kafka_memberid
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 4
    functionsReached:
    - rd_kafka_op_req2
    - rd_kafka_op_destroy
    - rd_kafka_cgrp_get
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_memberid(const rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:4532,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:4543,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka.c:4547,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4548,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4554,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4558,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:4562,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka.c:4563,1
    - Dst: rd_kafka_metadata_cache_wait_change
      Src: /src/librdkafka/src/rdkafka.c:4566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4531
    functionDepth: 1
    functionLinenumber: 4531
    functionLinenumberEnd: 4570
    functionName: rd_kafka_clusterid
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_timeout_expired
    - rd_kafka_metadata_cache_wait_change
    - rd_strdup
    - rd_timeout_remains
    - rd_timeout_init
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_clusterid(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:4574,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:4586,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:4588,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4592,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4598,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4602,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:4606,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka.c:4607,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka.c:4610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4614
      start: 4573
    functionDepth: 3
    functionLinenumber: 4573
    functionLinenumberEnd: 4614
    functionName: rd_kafka_controllerid
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_timeout_expired
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_brokers_get_state_version
    - rd_timeout_remains
    - rd_timeout_init
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_controllerid(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4619
      start: 4617
    functionDepth: 0
    functionLinenumber: 4617
    functionLinenumberEnd: 4619
    functionName: rd_kafka_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_opaque(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_curr_msgs_cnt
      Src: /src/librdkafka/src/rdkafka.c:4623,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:4623,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:4624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4625
      start: 4622
    functionDepth: 1
    functionLinenumber: 4622
    functionLinenumberEnd: 4625
    functionName: rd_kafka_outq_len
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 18
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_curr_msgs_cnt
    linkageType: ''
    returnType: int
    signature: int rd_kafka_outq_len(rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka.c:4639,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka.c:4644,1
    - Dst: rd_kafka_curr_msgs_wait_zero
      Src: /src/librdkafka/src/rdkafka.c:4655,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:4663,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/src/rdkafka.c:4668,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka.c:4669,1
    - Dst: rd_kafka_curr_msgs_cnt
      Src: /src/librdkafka/src/rdkafka.c:4670,1
    - Dst: rd_timeout_remains_limit
      Src: /src/librdkafka/src/rdkafka.c:4672,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka.c:4678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4682
      start: 4628
    functionDepth: 4
    functionLinenumber: 4628
    functionLinenumberEnd: 4682
    functionName: rd_kafka_flush
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 34
    functionsReached:
    - rd_kafka_q_len
    - rd_timeout_remains_limit
    - rd_kafka_curr_msgs_wait_zero
    - rd_kafka_all_brokers_wakeup
    - rd_kafka_poll
    - rd_kafka_curr_msgs_cnt
    - rd_atomic32_add
    - rd_timeout_init
    - rd_atomic32_sub
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_flush(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4703,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka.c:4707,1
    - Dst: rd_kafka_toppar_purge_queues
      Src: /src/librdkafka/src/rdkafka.c:4709,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4712,1
    - Dst: rd_kafka_toppar_purge_queues
      Src: /src/librdkafka/src/rdkafka.c:4713,1
    - Dst: rd_kafka_toppar_purge_queues
      Src: /src/librdkafka/src/rdkafka.c:4717,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rk
    - purge_flags
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4723
      start: 4699
    functionDepth: 1
    functionLinenumber: 4699
    functionLinenumberEnd: 4723
    functionName: rd_kafka_purge_toppars
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_rdunlock
    - RD_LIST_FOREACH
    - rd_kafka_toppar_purge_queues
    - TAILQ_FOREACH
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: int
    signature: int rd_kafka_purge_toppars(rd_kafka_t *rk, int purge_flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:4745,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:4747,1
    - Dst: rd_kafka_purge_toppars
      Src: /src/librdkafka/src/rdkafka.c:4750,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:4753,1
    - Dst: rd_kafka_broker_purge_queues
      Src: /src/librdkafka/src/rdkafka.c:4754,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:4755,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:4759,1
    - Dst: rd_kafka_q_wait_result
      Src: /src/librdkafka/src/rdkafka.c:4765,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:4767,1
    - Dst: rd_kafka_purge_ua_toppar_queues
      Src: /src/librdkafka/src/rdkafka.c:4773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - rk
    - purge_flags
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4776
      start: 4726
    functionDepth: 2
    functionLinenumber: 4726
    functionLinenumberEnd: 4776
    functionName: rd_kafka_purge
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 5
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_purge_toppars
    - rd_kafka_q_destroy_owner
    - rd_kafka_q_wait_result
    - rd_kafka_purge_ua_toppar_queues
    - rd_kafka_broker_purge_queues
    - TAILQ_FOREACH
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_purge(rd_kafka_t *rk, int purge_flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_flags2str
      Src: /src/librdkafka/src/rdkafka.c:4788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4789
      start: 4783
    functionDepth: 1
    functionLinenumber: 4783
    functionLinenumberEnd: 4789
    functionName: rd_kafka_purge_flags2str
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_flags2str
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_purge_flags2str(int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4794
      start: 4792
    functionDepth: 0
    functionLinenumber: 4792
    functionLinenumberEnd: 4794
    functionName: rd_kafka_version
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_version(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:4805,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/src/rdkafka.c:4823,1
    - Dst: _my_sprintf
      Src: /src/librdkafka/src/rdkafka.c:4825,1
    - Dst: _my_sprintf
      Src: /src/librdkafka/src/rdkafka.c:4831,1
    - Dst: _my_sprintf
      Src: /src/librdkafka/src/rdkafka.c:4833,1
    - Dst: _my_sprintf
      Src: /src/librdkafka/src/rdkafka.c:4838,1
    - Dst: _my_sprintf
      Src: /src/librdkafka/src/rdkafka.c:4842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4846
      start: 4796
    functionDepth: 1
    functionLinenumber: 4796
    functionLinenumberEnd: 4846
    functionName: rd_kafka_version_str
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 3
    functionsReached:
    - rd_kafka_version
    - _my_sprintf
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_version_str(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4821
      start: 4814
    functionDepth: 0
    functionLinenumber: 4814
    functionLinenumberEnd: 4821
    functionName: _my_sprintf
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _my_sprintf(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka.c:4857,1
    - Dst: rd_kafka_dump0
      Src: /src/librdkafka/src/rdkafka.c:4859,1
    - Dst: abort
      Src: /src/librdkafka/src/rdkafka.c:4860,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - file
    - line
    - function
    - rk
    - reason
    argTypes:
    - char*
    - int
    - char*
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4852
    functionDepth: 4
    functionLinenumber: 4852
    functionLinenumberEnd: 4861
    functionName: RD_NORETURN::rd_kafka_crash
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_dump0
    - abort
    linkageType: ''
    returnType: void
    signature: "void RD_NORETURN rd_kafka_crash(const char *file,\n                                int
      line,\n                                const char *function,\n                                rd_kafka_t
      *rk,\n                                const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - rd_kafka_consumer_group_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4883
      start: 4878
    functionDepth: 0
    functionLinenumber: 4878
    functionLinenumberEnd: 4883
    functionName: rd_kafka_consumer_group_state_name
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_consumer_group_state_name(rd_kafka_consumer_group_state_t state)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka.c:4889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4894
      start: 4885
    functionDepth: 0
    functionLinenumber: 4885
    functionLinenumberEnd: 4894
    functionName: rd_kafka_consumer_group_state_code
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_strcasecmp
    linkageType: ''
    returnType: rd_kafka_consumer_group_state_t
    signature: rd_kafka_consumer_group_state_t rd_kafka_consumer_group_state_code(const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - rd_kafka_consumer_group_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4904
      start: 4899
    functionDepth: 0
    functionLinenumber: 4899
    functionLinenumberEnd: 4904
    functionName: rd_kafka_consumer_group_type_name
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_consumer_group_type_name(rd_kafka_consumer_group_type_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdkafka.c:4910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4914
      start: 4906
    functionDepth: 0
    functionLinenumber: 4906
    functionLinenumberEnd: 4914
    functionName: rd_kafka_consumer_group_type_code
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_strcasecmp
    linkageType: ''
    returnType: rd_kafka_consumer_group_type_t
    signature: rd_kafka_consumer_group_type_t rd_kafka_consumer_group_type_code(const
      char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka.c:4938,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka.c:4950,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka.c:4956,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka.c:4958,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4959,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4960,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4961,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4962,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka.c:4963,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka.c:4971,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka.c:4972,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka.c:4974,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:4977,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:4978,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:4979,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:4980,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:4984,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka.c:4992,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4994,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4995,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:4996,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka.c:4997,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka.c:4998,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:5000,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:5001,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:5002,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka.c:5004,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka.c:5009,1
    - Dst: rd_memdup
      Src: /src/librdkafka/src/rdkafka.c:5010,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka.c:5014,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka.c:5019,1
    - Dst: rd_memdup
      Src: /src/librdkafka/src/rdkafka.c:5021,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 74
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5033
      start: 4916
    functionDepth: 1
    functionLinenumber: 4916
    functionLinenumberEnd: 5033
    functionName: rd_kafka_DescribeGroups_resp_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_BYTES_LEN
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_i16
    - rd_memdup
    - memset
    - rd_malloc
    - rd_kafka_broker_lock
    - rd_kafka_broker_unlock
    - rd_kafka_buf_read_i32
    - rd_realloc
    - rd_strdup
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_kbytes
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeGroups_resp_cb(rd_kafka_t *rk,\n                                            rd_kafka_broker_t
      *rkb,\n                                            rd_kafka_resp_err_t err,\n
      \                                           rd_kafka_buf_t *reply,\n                                            rd_kafka_buf_t
      *request,\n                                            void *opaque)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka.c:5061,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka.c:5067,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:5077,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:5082,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka.c:5083,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka.c:5086,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka.c:5089,1
    - Dst: rd_kafka_DescribeGroupsRequest
      Src: /src/librdkafka/src/rdkafka.c:5099,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:5102,1
    - Dst: rd_kafka_DescribeGroups_resp_cb
      Src: /src/librdkafka/src/rdkafka.c:5105,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka.c:5106,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka.c:5108,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5112,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5116,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5124,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5126
      start: 5035
    functionDepth: 9
    functionLinenumber: 5035
    functionLinenumberEnd: 5126
    functionName: rd_kafka_ListGroups_resp_cb
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_KAFKA_REPLYQ
    - rd_kafka_DescribeGroups_resp_cb
    - rd_kafka_DescribeGroupsRequest
    - rd_kafka_buf_read_i16
    - rd_malloc
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_buf_read_i32
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_str
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListGroups_resp_cb(rd_kafka_t *rk,\n                                        rd_kafka_broker_t
      *rkb,\n                                        rd_kafka_resp_err_t err,\n                                        rd_kafka_buf_t
      *reply,\n                                        rd_kafka_buf_t *request,\n
      \                                       void *opaque)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka.c:5136,1
    - Dst: rd_kafka_brokers_get_state_version
      Src: /src/librdkafka/src/rdkafka.c:5143,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:5146,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:5148,1
    - Dst: rd_kafka_brokers_wait_state_change
      Src: /src/librdkafka/src/rdkafka.c:5153,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:5154,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka.c:5159,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka.c:5161,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:5165,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka.c:5168,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka.c:5169,1
    - Dst: rd_kafka_broker_or_instance_terminating
      Src: /src/librdkafka/src/rdkafka.c:5170,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka.c:5174,1
    - Dst: RD_KAFKA_BROKER_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka.c:5175,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka.c:5176,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka.c:5179,1
    - Dst: rd_kafka_ListGroupsRequest
      Src: /src/librdkafka/src/rdkafka.c:5183,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka.c:5184,1
    - Dst: rd_kafka_ListGroups_resp_cb
      Src: /src/librdkafka/src/rdkafka.c:5187,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka.c:5188,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka.c:5190,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka.c:5193,1
    - Dst: rd_timeout_expired
      Src: /src/librdkafka/src/rdkafka.c:5202,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka.c:5203,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka.c:5204,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka.c:5211,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/src/rdkafka.c:5223,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - rk
    - group
    - grplistp
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - char*
    - struct rd_kafka_group_list**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5228
      start: 5128
    functionDepth: 10
    functionLinenumber: 5128
    functionLinenumberEnd: 5228
    functionName: rd_kafka_list_groups
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 4
    functionsReached:
    - RD_KAFKA_BROKER_IS_LOGICAL
    - rd_timeout_init
    - TAILQ_FOREACH
    - rd_kafka_rdlock
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_q_destroy_owner
    - rd_timeout_remains
    - RD_KAFKA_REPLYQ
    - rd_timeout_expired
    - rd_kafka_rdunlock
    - rd_kafka_q_serve
    - rd_calloc
    - rd_kafka_brokers_wait_state_change
    - rd_kafka_group_list_destroy
    - rd_kafka_broker_unlock
    - rd_kafka_ListGroups_resp_cb
    - rd_kafka_brokers_get_state_version
    - rd_kafka_broker_or_instance_terminating
    - rd_kafka_q_new
    - rd_kafka_ListGroupsRequest
    - rd_malloc
    - rd_kafka_broker_lock
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_list_groups(rd_kafka_t *rk,\n                     const
      char *group,\n                     const struct rd_kafka_group_list **grplistp,\n
      \                    int timeout_ms)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5240,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5242,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5244,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5246,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5248,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5255,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5257,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5259,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5261,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5263,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5267,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5271,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - grplist0
    argTypes:
    - struct rd_kafka_group_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5274
      start: 5231
    functionDepth: 1
    functionLinenumber: 5231
    functionLinenumberEnd: 5274
    functionName: rd_kafka_group_list_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 3
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_group_list_destroy(const struct rd_kafka_group_list *grplist0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5280
      start: 5278
    functionDepth: 0
    functionLinenumber: 5278
    functionLinenumberEnd: 5280
    functionName: rd_kafka_get_debug_contexts
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_get_debug_contexts(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_file_stat
      Src: /src/librdkafka/src/rdkafka.c:5285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5286
      start: 5283
    functionDepth: 1
    functionLinenumber: 5283
    functionLinenumberEnd: 5286
    functionName: rd_kafka_path_is_dir
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - rd_file_stat
    linkageType: ''
    returnType: int
    signature: int rd_kafka_path_is_dir(const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka.c:5336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - size
    argTypes:
    - rd_kafka_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5335
    functionDepth: 1
    functionLinenumber: 5335
    functionLinenumberEnd: 5337
    functionName: rd_kafka_mem_malloc
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_mem_malloc(rd_kafka_t *rk, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka.c:5340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - num
    - size
    argTypes:
    - rd_kafka_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5339
    functionDepth: 1
    functionLinenumber: 5339
    functionLinenumberEnd: 5341
    functionName: rd_kafka_mem_calloc
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_mem_calloc(rd_kafka_t *rk, size_t num, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rk
    - ptr
    argTypes:
    - rd_kafka_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5343
    functionDepth: 1
    functionLinenumber: 5343
    functionLinenumberEnd: 5345
    functionName: rd_kafka_mem_free
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_mem_free(rd_kafka_t *rk, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5350
      start: 5348
    functionDepth: 0
    functionLinenumber: 5348
    functionLinenumberEnd: 5350
    functionName: rd_kafka_errno
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_errno(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_unittest
      Src: /src/librdkafka/src/rdkafka.c:5353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5354
      start: 5352
    functionDepth: 1
    functionLinenumber: 5352
    functionLinenumberEnd: 5354
    functionName: rd_kafka_unittest
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_unittest
    linkageType: ''
    returnType: int
    signature: int rd_kafka_unittest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka.c:5364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - most_significant_bits
    - least_significant_bits
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5368
      start: 5362
    functionDepth: 1
    functionLinenumber: 5362
    functionLinenumberEnd: 5368
    functionName: rd_kafka_Uuid_new
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_Uuid_t
    signature: "rd_kafka_Uuid_t *rd_kafka_Uuid_new(int64_t most_significant_bits,\n
      \                                  int64_t least_significant_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_new
      Src: /src/librdkafka/src/rdkafka.c:5379,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka.c:5382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5378
    functionDepth: 2
    functionLinenumber: 5378
    functionLinenumberEnd: 5384
    functionName: rd_kafka_Uuid_copy
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 2
    functionsReached:
    - memcpy
    - rd_kafka_Uuid_new
    linkageType: ''
    returnType: rd_kafka_Uuid_t
    signature: rd_kafka_Uuid_t *rd_kafka_Uuid_copy(const rd_kafka_Uuid_t *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka.c:5400,1
    - Dst: be64toh
      Src: /src/librdkafka/src/rdkafka.c:5413,1
    - Dst: be64toh
      Src: /src/librdkafka/src/rdkafka.c:5414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5416
      start: 5393
    functionDepth: 2
    functionLinenumber: 5393
    functionLinenumberEnd: 5416
    functionName: rd_kafka_Uuid_random
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 3
    functionsReached:
    - be64toh
    - rd_jitter
    linkageType: ''
    returnType: rd_kafka_Uuid_t
    signature: rd_kafka_Uuid_t rd_kafka_Uuid_random()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5425
      start: 5423
    functionDepth: 1
    functionLinenumber: 5423
    functionLinenumberEnd: 5425
    functionName: rd_kafka_Uuid_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_Uuid_destroy(rd_kafka_Uuid_t *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka.c:5440,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka.c:5452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5459
      start: 5437
    functionDepth: 1
    functionLinenumber: 5437
    functionLinenumberEnd: 5459
    functionName: rd_kafka_Uuid_str
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 1
    functionsReached:
    - rd_calloc
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_Uuid_str(const rd_kafka_Uuid_t *uuid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/librdkafka/src/rdkafka.c:5470,1
    - Dst: htobe64
      Src: /src/librdkafka/src/rdkafka.c:5471,1
    - Dst: rd_base64_encode_str
      Src: /src/librdkafka/src/rdkafka.c:5477,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka.c:5481,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka.c:5483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5485
      start: 5461
    functionDepth: 2
    functionLinenumber: 5461
    functionLinenumberEnd: 5485
    functionName: rd_kafka_Uuid_base64str
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 4
    functionsReached:
    - rd_free
    - rd_base64_encode_str
    - htobe64
    - rd_strlcpy
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_Uuid_base64str(const rd_kafka_Uuid_t *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka.c:5489,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka.c:5490,1
    - Dst: rd_bytes_hash
      Src: /src/librdkafka/src/rdkafka.c:5491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5492
      start: 5487
    functionDepth: 1
    functionLinenumber: 5487
    functionLinenumberEnd: 5492
    functionName: rd_kafka_Uuid_hash
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - memcpy
    - rd_bytes_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_kafka_Uuid_hash(const rd_kafka_Uuid_t *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_hash
      Src: /src/librdkafka/src/rdkafka.c:5495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5496
      start: 5494
    functionDepth: 2
    functionLinenumber: 5494
    functionLinenumberEnd: 5496
    functionName: rd_kafka_Uuid_map_hash
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_kafka_Uuid_map_hash(const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5498
    functionDepth: 0
    functionLinenumber: 5498
    functionLinenumberEnd: 5500
    functionName: rd_kafka_Uuid_least_significant_bits
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_kafka_Uuid_least_significant_bits(const rd_kafka_Uuid_t
      *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5503
    functionDepth: 0
    functionLinenumber: 5503
    functionLinenumberEnd: 5505
    functionName: rd_kafka_Uuid_most_significant_bits
    functionSourceFile: /src/librdkafka/src/rdkafka.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_kafka_Uuid_most_significant_bits(const rd_kafka_Uuid_t *uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: QUEUEDEBUG_ABORT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_ABORT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: QUEUEDEBUG_ABORT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_ABORT(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: SLIST_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: SLIST_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: SLIST_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: SLIST_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: SLIST_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: SLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: SLIST_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: LIST_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: LIST_ENTRY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: LIST_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: LIST_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: LIST_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: LIST_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: LIST_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIST_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: QUEUEDEBUG_LIST_INSERT_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_LIST_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: QUEUEDEBUG_LIST_OP
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_LIST_OP(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: QUEUEDEBUG_LIST_POSTREMOVE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_LIST_POSTREMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: SIMPLEQ_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: SIMPLEQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: SIMPLEQ_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: SIMPLEQ_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: SIMPLEQ_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: SIMPLEQ_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: SIMPLEQ_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: SIMPLEQ_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_FOREACH_SAFE(var, head, field, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: SIMPLEQ_LAST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIMPLEQ_LAST(head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: TAILQ_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    functionName: TAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: TAILQ_ENTRY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: TAILQ_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: TAILQ_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: TAILQ_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - headname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 425
    functionName: TAILQ_LAST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_LAST(head, headname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elm
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 427
    functionName: TAILQ_PREV
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_PREV(elm, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: TAILQ_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 60
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: TAILQ_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_SAFE(var, head, field, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: TAILQ_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_REVERSE(var, head, headname, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - headname
    - ','
    - field
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: TAILQ_FOREACH_REVERSE_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TAILQ_FOREACH_REVERSE_SAFE(var, head, headname, field, prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 459
    functionName: QUEUEDEBUG_TAILQ_INSERT_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_TAILQ_INSERT_HEAD(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: QUEUEDEBUG_TAILQ_INSERT_TAIL
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_TAILQ_INSERT_TAIL(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: QUEUEDEBUG_TAILQ_OP
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_TAILQ_OP(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 477
    functionName: QUEUEDEBUG_TAILQ_PREREMOVE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_TAILQ_PREREMOVE(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: QUEUEDEBUG_TAILQ_POSTREMOVE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_TAILQ_POSTREMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: STAILQ_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: STAILQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 586
    functionName: STAILQ_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 587
    functionName: STAILQ_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: STAILQ_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    functionName: STAILQ_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: STAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - ','
    - tvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 643
    functionName: STAILQ_FOREACH_SAFE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_FOREACH_SAFE(var, head, field, tvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: STAILQ_LAST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STAILQ_LAST(head, type, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: __launder_type
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __launder_type(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __volatile
      Src: /src/librdkafka/src/queue.h:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - __x
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 690
    functionName: __launder_type
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached:
    - __volatile
    linkageType: ''
    returnType: void
    signature: 'void *

      __launder_type(const void *__x)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: QUEUEDEBUG_CIRCLEQ_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_CIRCLEQ_HEAD(head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 722
    functionName: QUEUEDEBUG_CIRCLEQ_ELM
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_CIRCLEQ_ELM(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: QUEUEDEBUG_CIRCLEQ_POSTREMOVE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUEUEDEBUG_CIRCLEQ_POSTREMOVE(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: CIRCLEQ_HEAD
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_HEAD(name, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 739
    functionName: CIRCLEQ_HEAD_INITIALIZER
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_HEAD_INITIALIZER(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: CIRCLEQ_ENTRY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_ENTRY(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 820
    functionName: CIRCLEQ_FOREACH
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FOREACH(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - head
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: CIRCLEQ_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FOREACH_REVERSE(var, head, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 830
    functionName: CIRCLEQ_FIRST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_FIRST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: CIRCLEQ_LAST
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_LAST(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 833
    functionName: CIRCLEQ_ENDC
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_ENDC(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 835
    functionName: CIRCLEQ_END
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_END(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 836
    functionName: CIRCLEQ_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_NEXT(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 837
    functionName: CIRCLEQ_PREV
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_PREV(elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 839
    functionName: CIRCLEQ_EMPTY
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_EMPTY(head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: CIRCLEQ_LOOP_NEXT
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_LOOP_NEXT(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - head
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 848
    functionName: CIRCLEQ_LOOP_PREV
    functionSourceFile: /src/librdkafka/src/queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIRCLEQ_LOOP_PREV(head, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_qsort_r_cmp
      Src: /src/librdkafka/src/rdports.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: rd_qsort_r_trampoline
    functionSourceFile: /src/librdkafka/src/rdports.c
    functionUses: 0
    functionsReached:
    - rd_qsort_r_cmp
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_qsort_r_trampoline(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/librdkafka/src/rdports.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - base
    - nmemb
    - size
    - arg
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: rd_qsort_r
    functionSourceFile: /src/librdkafka/src/rdports.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: "void rd_qsort_r(void *base,\n                size_t nmemb,\n                size_t
      size,\n                int (*compar)(const void *, const void *, void *),\n
      \               void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - md
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: rd_kafka_metadata_get_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_metadata_get_internal(md)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mdi
    - ','
    - broker_id
    - ','
    - broker
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: rd_kafka_metadata_broker_internal_find
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_metadata_broker_internal_find(mdi, broker_id, broker)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ERR
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 241
    functionName: RD_KAFKA_METADATA_CACHE_ERR_IS_TEMPORARY
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_METADATA_CACHE_ERR_IS_TEMPORARY(ERR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkmce
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: RD_KAFKA_METADATA_CACHE_VALID
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_METADATA_CACHE_VALID(rkmce)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rktrans
    - ','
    - blocked
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: rd_kafka_transport_set_blocked
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_transport_set_blocked(rktrans, blocked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_transport.h:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: rd_kafka_transport_error_disconnected
    functionSourceFile: /src/librdkafka/src/rdkafka_transport.h
    functionUses: 3
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_transport_error_disconnected(const char *errstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_admin.c:347,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:359,1
    - Dst: rd_kafka_confval_get_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:374,1
    - Dst: rd_list_move
      Src: /src/librdkafka/src/rdkafka_admin.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - rko_req
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 340
    functionDepth: 6
    functionLinenumber: 340
    functionLinenumberEnd: 388
    functionName: rd_kafka_admin_result_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_confval_get_ptr
    - rd_kafka_op_new_cb
    - rd_list_move
    - rd_kafka_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: rd_kafka_op_t *rd_kafka_admin_result_new(rd_kafka_op_t *rko_req)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:400,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:405,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:406,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:408,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rko
    - err
    - fmt
    - ap
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 412
    functionName: rd_kafka_admin_result_set_err0
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_vsnprintf
    - rd_strdup
    - rd_kafka_op2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_result_set_err0(rd_kafka_op_t *rko,\n                                           rd_kafka_resp_err_t
      err,\n                                           const char *fmt,\n                                           va_list
      ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_admin.c:424,1
    - Dst: rd_kafka_admin_result_set_err0
      Src: /src/librdkafka/src/rdkafka_admin.c:425,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_admin.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rko
    - err
    - fmt
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: rd_kafka_admin_result_set_err
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_admin_result_set_err0
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_result_set_err(\n    rd_kafka_op_t *rko,\n    rd_kafka_resp_err_t
      err,\n    const char *fmt,\n    ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_t*::rko_u::admin_result::result_cb
      Src: /src/librdkafka/src/rdkafka_admin.c:435,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rko_req
    - rko_result
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: rd_kafka_admin_result_enq
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_t*::rko_u::admin_result::result_cb
    - rd_kafka_replyq_enq
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_admin_result_enq(rd_kafka_op_t *rko_req,\n                                                rd_kafka_op_t
      *rko_result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:458,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_admin.c:460,1
    - Dst: rd_kafka_admin_result_set_err0
      Src: /src/librdkafka/src/rdkafka_admin.c:461,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_admin.c:462,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rd_kafka_admin_result_fail
    argTypes:
    - void
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 7
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: RD_FORMAT
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_kafka_admin_result_enq
    - va_end
    - rd_kafka_admin_result_set_err0
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: void
    signature: "void RD_FORMAT(printf,\n                 3,\n                 4) void
      rd_kafka_admin_result_fail(rd_kafka_op_t *rko_req,\n                                                    rd_kafka_resp_err_t
      err,\n                                                    const char *fmt,\n
      \                                                   ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_del_source_return
      Src: /src/librdkafka/src/rdkafka_admin.c:490,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_admin.c:495,1
    - Dst: rd_kafka_op_t*::rko_u::admin_request::cbs::request
      Src: /src/librdkafka/src/rdkafka_admin.c:497,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:503,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:505,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - rkb
    - rko_ignore
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_op_t*
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 510
    functionName: rd_kafka_admin_coord_request
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_admin_result_fail
    - rd_kafka_enq_once_add_source
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_enq_once_del_source_return
    - rd_kafka_op2str
    - rd_kafka_op_t*::rko_u::admin_request::cbs::request
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_coord_request(rd_kafka_broker_t
      *rkb,\n                             rd_kafka_op_t *rko_ignore,\n                             rd_kafka_replyq_t
      replyq,\n                             rd_kafka_resp_cb_t *resp_cb,\n                             void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:520,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: rd_kafka_admin_result_ret_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_topic_result_t
    signature: 'rd_kafka_topic_result_t **

      rd_kafka_admin_result_ret_topics(const rd_kafka_op_t *rko, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:536,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 543
    functionName: rd_kafka_admin_result_ret_resources
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: 'rd_kafka_ConfigResource_t **

      rd_kafka_admin_result_ret_resources(const rd_kafka_op_t *rko, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:552,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 557
    functionName: rd_kafka_admin_result_ret_acl_results
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_acl_result_t
    signature: 'rd_kafka_acl_result_t **

      rd_kafka_admin_result_ret_acl_results(const rd_kafka_op_t *rko, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:566,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 571
    functionName: rd_kafka_admin_result_ret_acl_bindings
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: 'rd_kafka_AclBinding_t **

      rd_kafka_admin_result_ret_acl_bindings(const rd_kafka_op_t *rko, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:580,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: rd_kafka_admin_result_ret_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: 'rd_kafka_group_result_t **

      rd_kafka_admin_result_ret_groups(const rd_kafka_op_t *rko, size_t *cntp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:598,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: rd_kafka_admin_result_ret_delete_acl_result_responses
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_DeleteAcls_result_response_t
    signature: "rd_kafka_DeleteAcls_result_response_t **\nrd_kafka_admin_result_ret_delete_acl_result_responses(const
      rd_kafka_op_t *rko,\n                                                      size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:627,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:628,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:629,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_admin.c:631,1
    - Dst: rd_kafka_AdminOptions_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:639,1
    - Dst: rd_kafka_AdminOptions_init
      Src: /src/librdkafka/src/rdkafka_admin.c:642,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_admin.c:650,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:650,1
    - Dst: rd_kafka_enq_once_new
      Src: /src/librdkafka/src/rdkafka_admin.c:656,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:656,1
    - Dst: rd_kafka_set_replyq
      Src: /src/librdkafka/src/rdkafka_admin.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 6
    argNames:
    - rk
    - optype
    - reply_event_type
    - cbs
    - options
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_type_t
    - rd_kafka_event_type_t
    - struct rd_kafka_admin_worker_cbs*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 666
    functionName: rd_kafka_admin_request_op_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_set_replyq
    - rd_assert
    - rd_kafka_AdminOptions_init
    - rd_kafka_AdminOptions_copy_to
    - rd_kafka_enq_once_new
    - rd_kafka_op_new_cb
    - rd_timeout_init
    - rd_kafka_confval_get_int
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *\nrd_kafka_admin_request_op_new(rd_kafka_t *rk,\n                              rd_kafka_op_type_t
      optype,\n                              rd_kafka_event_type_t reply_event_type,\n
      \                             const struct rd_kafka_admin_worker_cbs *cbs,\n
      \                             const rd_kafka_AdminOptions_t *options,\n                              rd_kafka_q_t
      *rkq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: rd_kafka_admin_request_op_result_cb_set
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_request_op_result_cb_set(rd_kafka_op_t *op,\n
      \                                       void (*result_cb)(rd_kafka_op_t *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdkafka_admin.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 680
    functionName: rd_kafka_admin_timeout_remains
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_timeout_remains
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_admin_timeout_remains(rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka_admin.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 687
    functionName: rd_kafka_admin_timeout_remains_us
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_timeout_remains_us
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_admin_timeout_remains_us(rd_kafka_op_t *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_admin.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: rd_kafka_admin_eonce_timeout_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_eonce_timeout_cb(rd_kafka_timers_t *rkts,\n                                            void
      *arg)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_admin.c:713,1
    - Dst: rd_kafka_enq_once_del_source
      Src: /src/librdkafka/src/rdkafka_admin.c:721,1
    - Dst: rd_kafka_enq_once_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:729,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - rko
    - do_destroy
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 707
    functionDepth: 6
    functionLinenumber: 707
    functionLinenumberEnd: 735
    functionName: rd_kafka_admin_common_worker_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_enq_once_destroy
    - rd_kafka_op_destroy
    - rd_kafka_timer_stop
    - rd_kafka_enq_once_del_source
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_common_worker_destroy(rd_kafka_t *rk,\n                                                 rd_kafka_op_t
      *rko,\n                                                 rd_bool_t do_destroy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:753,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:754,1
    - Dst: rd_kafka_enq_once_reenable
      Src: /src/librdkafka/src/rdkafka_admin.c:761,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:762,1
    - Dst: rd_kafka_broker_get_async
      Src: /src/librdkafka/src/rdkafka_admin.c:771,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:779,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rko
    - broker_id
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 748
    functionDepth: 5
    functionLinenumber: 748
    functionLinenumberEnd: 783
    functionName: rd_kafka_admin_common_get_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_get_async
    - rd_kafka_op2str
    - rd_kafka_enq_once_reenable
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_admin_common_get_broker(rd_kafka_t *rk,\n
      \                                                          rd_kafka_op_t *rko,\n
      \                                                          int32_t broker_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:799,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:800,1
    - Dst: rd_kafka_enq_once_reenable
      Src: /src/librdkafka/src/rdkafka_admin.c:807,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:808,1
    - Dst: rd_kafka_broker_controller_async
      Src: /src/librdkafka/src/rdkafka_admin.c:817,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:825,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:826,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 829
    functionName: rd_kafka_admin_common_get_controller
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_controller_async
    - rd_kafka_op2str
    - rd_kafka_enq_once_reenable
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: 'rd_kafka_broker_t *

      rd_kafka_admin_common_get_controller(rd_kafka_t *rk, rd_kafka_op_t *rko)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:850,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:851,1
    - Dst: rd_kafka_enq_once_reenable
      Src: /src/librdkafka/src/rdkafka_admin.c:858,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:859,1
    - Dst: rd_kafka_brokers_get_nodeids_async
      Src: /src/librdkafka/src/rdkafka_admin.c:869,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:876,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:877,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 846
    functionDepth: 5
    functionLinenumber: 846
    functionLinenumberEnd: 880
    functionName: rd_kafka_admin_common_brokers_get_nodeids
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_brokers_get_nodeids_async
    - rd_list_cnt
    - rd_kafka_op2str
    - rd_kafka_enq_once_reenable
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_list_t
    signature: 'rd_list_t *

      rd_kafka_admin_common_brokers_get_nodeids(rd_kafka_t *rk, rd_kafka_op_t *rko)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:899,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:905,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_admin.c:908,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:910,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:915,1
    - Dst: rd_kafka_op_t*::rko_op_cb
      Src: /src/librdkafka/src/rdkafka_admin.c:919,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 889
    functionDepth: 6
    functionLinenumber: 889
    functionLinenumberEnd: 921
    functionName: rd_kafka_admin_handle_response
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_op_destroy
    - rd_kafka_op_t*::rko_op_cb
    - rd_kafka_err2str
    - rd_kafka_enq_once_disable
    - rd_kafka_ApiKey2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_handle_response(rd_kafka_t *rk,\n                                           rd_kafka_broker_t
      *rkb,\n                                           rd_kafka_resp_err_t err,\n
      \                                          rd_kafka_buf_t *reply,\n                                           rd_kafka_buf_t
      *request,\n                                           void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:933,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:935,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:936,1
    - Dst: rd_kafka_op_t*::rko_u::admin_request::cbs::parse
      Src: /src/librdkafka/src/rdkafka_admin.c:943,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:947,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:949,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:953,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 957
    functionName: rd_kafka_admin_response_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_t*::rko_u::admin_request::cbs::parse
    - rd_assert
    - rd_kafka_err2str
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_result_enq
    - rd_kafka_op2str
    linkageType: ''
    returnType: void
    signature: void rd_kafka_admin_response_parse(rd_kafka_op_t *rko)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_del_source_return
      Src: /src/librdkafka/src/rdkafka_admin.c:974,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:980,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:982,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:982,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:983,1
    - Dst: rd_kafka_op_t*::rko_u::admin_request::cbs::parse
      Src: /src/librdkafka/src/rdkafka_admin.c:988,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:991,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:994,1
    - Dst: rd_kafka_ApiKey2str
      Src: /src/librdkafka/src/rdkafka_admin.c:995,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:996,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1001,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 962
    functionDepth: 7
    functionLinenumber: 962
    functionLinenumberEnd: 1005
    functionName: rd_kafka_admin_coord_response_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_t*::rko_u::admin_request::cbs::parse
    - rd_assert
    - rd_kafka_err2str
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_result_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_enq_once_del_source_return
    - rd_kafka_op2str
    - rd_kafka_ApiKey2str
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_coord_response_parse(rd_kafka_t *rk,\n                                                rd_kafka_broker_t
      *rkb,\n                                                rd_kafka_resp_err_t err,\n
      \                                               rd_kafka_buf_t *rkbuf,\n                                                rd_kafka_buf_t
      *request,\n                                                void *opaque)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1035,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1043,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_admin.c:1046,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:1047,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1053,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:1054,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1056,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:1061,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:1066,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1068,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1070,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_admin.c:1070,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:1074,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1077,1
    - Dst: rd_kafka_admin_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka_admin.c:1082,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:1084,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_admin.c:1098,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_admin.c:1100,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1106,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:1110,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_admin.c:1134,1
    - Dst: rd_kafka_coord_req
      Src: /src/librdkafka/src/rdkafka_admin.c:1137,1
    - Dst: rd_kafka_admin_timeout_remains
      Src: /src/librdkafka/src/rdkafka_admin.c:1141,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:1142,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_admin.c:1157,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1162,1
    - Dst: rd_kafka_admin_common_get_broker
      Src: /src/librdkafka/src/rdkafka_admin.c:1172,1
    - Dst: rd_kafka_admin_common_get_controller
      Src: /src/librdkafka/src/rdkafka_admin.c:1183,1
    - Dst: rd_kafka_admin_common_brokers_get_nodeids
      Src: /src/librdkafka/src/rdkafka_admin.c:1195,1
    - Dst: rd_kafka_admin_fanout_op_distribute
      Src: /src/librdkafka/src/rdkafka_admin.c:1200,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1201,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1216,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_admin.c:1221,1
    - Dst: rd_kafka_op_t*::rko_u::admin_request::cbs::request
      Src: /src/librdkafka/src/rdkafka_admin.c:1225,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:1228,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1233,1
    - Dst: rd_kafka_enq_once_del_source
      Src: /src/librdkafka/src/rdkafka_admin.c:1236,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:1238,1
    - Dst: rd_kafka_admin_response_parse
      Src: /src/librdkafka/src/rdkafka_admin.c:1251,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1258,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 112
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1033
    functionDepth: 7
    functionLinenumber: 1033
    functionLinenumberEnd: 1261
    functionName: rd_kafka_admin_worker
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_admin_response_parse
    - rd_kafka_op2str
    - rd_kafka_op_t*::rko_u::admin_request::cbs::request
    - rd_kafka_enq_once_del_source
    - rd_list_destroy
    - rd_kafka_terminating
    - rd_kafka_err2str
    - rd_kafka_timer_start_oneshot
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_confval_get_int
    - RD_KAFKA_REPLYQ
    - rd_kafka_coord_req
    - rd_kafka_admin_common_get_controller
    - RD_NOTREACHED
    - rd_kafka_admin_timeout_remains
    - rd_kafka_admin_common_brokers_get_nodeids
    - rd_kafka_broker_destroy
    - rd_kafka_admin_fanout_op_distribute
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_common_get_broker
    - thrd_is_current
    - rd_kafka_enq_once_add_source
    - rd_kafka_admin_timeout_remains_us
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: rd_kafka_op_res_t rd_kafka_admin_worker(rd_kafka_t *rk, rd_kafka_q_t
      *rkq, rd_kafka_op_t *rko)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1288,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1289,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1290,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1292,1
    - Dst: rd_kafka_AdminOptions_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:1302,1
    - Dst: rd_kafka_AdminOptions_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1305,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1312,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1312,1
    - Dst: rd_kafka_set_replyq
      Src: /src/librdkafka/src/rdkafka_admin.c:1316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - rk
    - req_type
    - reply_event_type
    - cbs
    - options
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_type_t
    - rd_kafka_event_type_t
    - struct rd_kafka_admin_fanout_worker_cbs*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1323
    functionName: rd_kafka_admin_fanout_op_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_set_replyq
    - rd_assert
    - rd_kafka_AdminOptions_init
    - rd_kafka_AdminOptions_copy_to
    - rd_kafka_op_new
    - rd_timeout_init
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *\nrd_kafka_admin_fanout_op_new(rd_kafka_t *rk,\n                             rd_kafka_op_type_t
      req_type,\n                             rd_kafka_event_type_t reply_event_type,\n
      \                            const struct rd_kafka_admin_fanout_worker_cbs *cbs,\n
      \                            const rd_kafka_AdminOptions_t *options,\n                             rd_kafka_q_t
      *rkq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_timeout_remains
      Src: /src/librdkafka/src/rdkafka_admin.c:1342,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/src/rdkafka_admin.c:1343,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:1346,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1353,1
    - Dst: rd_list_get_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:1360,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:1362,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:1364,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:1369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rko
    - nodeids
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1336
    functionDepth: 4
    functionLinenumber: 1336
    functionLinenumberEnd: 1371
    functionName: rd_kafka_admin_fanout_op_distribute
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    - rd_kafka_q_enq
    - rd_list_get_int32
    - rd_kafka_admin_timeout_remains
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_admin_request_op_new
    - rd_list_copy_to
    - rd_list_init_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_fanout_op_distribute(rd_kafka_t *rk,\n                                                rd_kafka_op_t
      *rko,\n                                                rd_list_t *nodeids)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1397,1
    - Dst: RD_KAFKA_OP_TYPE_ASSERT
      Src: /src/librdkafka/src/rdkafka_admin.c:1400,1
    - Dst: RD_KAFKA_OP_TYPE_ASSERT
      Src: /src/librdkafka/src/rdkafka_admin.c:1401,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1403,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_admin.c:1408,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:1409,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1412,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1413,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_admin.c:1418,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1421,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:1423,1
    - Dst: rd_kafka_op_t*::rko_u::admin_request::fanout::cbs::partial_response
      Src: /src/librdkafka/src/rdkafka_admin.c:1426,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1433,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:1434,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:1436,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:1442,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1392
    functionDepth: 7
    functionLinenumber: 1392
    functionLinenumberEnd: 1449
    functionName: rd_kafka_admin_fanout_worker
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_op_destroy
    - RD_KAFKA_OP_TYPE_ASSERT
    - rd_kafka_terminating
    - rd_kafka_err2str
    - rd_kafka_admin_result_enq
    - rd_kafka_op_t*::rko_u::admin_request::fanout::cbs::partial_response
    - rd_list_copy_to
    - rd_kafka_admin_result_new
    - rd_kafka_op2str
    - rd_list_init_copy
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_admin_fanout_worker(rd_kafka_t *rk,\n                                                      rd_kafka_q_t
      *rkq,\n                                                      rd_kafka_op_t *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_fanout_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1479,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1482,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 7
    argNames:
    - rk
    - optype
    - reply_event_type
    - cbs
    - fanout_cbs
    - options
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_type_t
    - rd_kafka_event_type_t
    - struct rd_kafka_admin_worker_cbs*
    - struct rd_kafka_admin_fanout_worker_cbs*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1468
    functionDepth: 3
    functionLinenumber: 1468
    functionLinenumberEnd: 1493
    functionName: rd_kafka_admin_request_op_target_all_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_kafka_admin_fanout_op_new
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_admin_request_op_target_all_new(\n    rd_kafka_t
      *rk,\n    rd_kafka_op_type_t optype,\n    rd_kafka_event_type_t reply_event_type,\n
      \   const struct rd_kafka_admin_worker_cbs *cbs,\n    const struct rd_kafka_admin_fanout_worker_cbs
      *fanout_cbs,\n    void (*result_free)(void *),\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_q_t *rkq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MetadataRequest_resp_cb
      Src: /src/librdkafka/src/rdkafka_admin.c:1512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - rkb
    - topics
    - reason
    - include_cluster_authorized_operations
    - include_topic_authorized_operations
    - force_racks
    - resp_cb
    - replyq
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - char*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - rd_kafka_resp_cb_t*
    - rd_kafka_replyq_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1502
    functionDepth: 10
    functionLinenumber: 1502
    functionLinenumberEnd: 1522
    functionName: rd_kafka_admin_MetadataRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MetadataRequest_resp_cb
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_MetadataRequest(rd_kafka_broker_t
      *rkb,\n                               const rd_list_t *topics,\n                               const
      char *reason,\n                               rd_bool_t include_cluster_authorized_operations,\n
      \                              rd_bool_t include_topic_authorized_operations,\n
      \                              rd_bool_t force_racks,\n                               rd_kafka_resp_cb_t
      *resp_cb,\n                               rd_kafka_replyq_t replyq,\n                               void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - options
    - timeout_ms
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1534
    functionDepth: 2
    functionLinenumber: 1534
    functionLinenumberEnd: 1542
    functionName: rd_kafka_AdminOptions_set_request_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 47
    functionsReached:
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AdminOptions_set_request_timeout(rd_kafka_AdminOptions_t
      *options,\n                                          int timeout_ms,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - options
    - timeout_ms
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1545
    functionDepth: 2
    functionLinenumber: 1545
    functionLinenumberEnd: 1553
    functionName: rd_kafka_AdminOptions_set_operation_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 13
    functionsReached:
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AdminOptions_set_operation_timeout(rd_kafka_AdminOptions_t
      *options,\n                                            int timeout_ms,\n                                            char
      *errstr,\n                                            size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - options
    - true_or_false
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1556
    functionDepth: 2
    functionLinenumber: 1556
    functionLinenumberEnd: 1564
    functionName: rd_kafka_AdminOptions_set_validate_only
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AdminOptions_set_validate_only(rd_kafka_AdminOptions_t
      *options,\n                                        int true_or_false,\n                                        char
      *errstr,\n                                        size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - options
    - broker_id
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int32_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1566
    functionDepth: 2
    functionLinenumber: 1566
    functionLinenumberEnd: 1575
    functionName: rd_kafka_AdminOptions_set_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AdminOptions_set_broker(rd_kafka_AdminOptions_t
      *options,\n                                 int32_t broker_id,\n                                 char
      *errstr,\n                                 size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1581,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - value
    argTypes:
    - rd_kafka_AdminOptions_t*
    - rd_kafka_IsolationLevel_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1577
    functionDepth: 2
    functionLinenumber: 1577
    functionLinenumberEnd: 1585
    functionName: rd_kafka_AdminOptions_set_isolation_level
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_AdminOptions_set_isolation_level(rd_kafka_AdminOptions_t
      *options,\n                                          rd_kafka_IsolationLevel_t
      value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1591,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - true_or_false
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1587
    functionDepth: 2
    functionLinenumber: 1587
    functionLinenumberEnd: 1595
    functionName: rd_kafka_AdminOptions_set_require_stable_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_AdminOptions_set_require_stable_offsets(\n
      \   rd_kafka_AdminOptions_t *options,\n    int true_or_false)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1601,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - true_or_false
    argTypes:
    - rd_kafka_AdminOptions_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1597
    functionDepth: 2
    functionLinenumber: 1597
    functionLinenumberEnd: 1605
    functionName: rd_kafka_AdminOptions_set_include_authorized_operations
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_AdminOptions_set_include_authorized_operations(\n
      \   rd_kafka_AdminOptions_t *options,\n    int true_or_false)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1614,1
    - Dst: rd_list_init_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:1615,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1619,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1628,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1629,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1636,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1637,1
    - Dst: rd_list_set_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:1642,1
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1645,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1649,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1651,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - options
    - consumer_group_states
    - consumer_group_states_cnt
    argTypes:
    - rd_kafka_AdminOptions_t*
    - rd_kafka_consumer_group_state_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1652
    functionName: rd_kafka_AdminOptions_set_match_consumer_group_states
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_list_init_int32
    - rd_kafka_confval_set_type
    - rd_list_destroy
    - rd_kafka_error_new
    - rd_list_new
    - rd_list_set_int32
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_AdminOptions_set_match_consumer_group_states(\n
      \   rd_kafka_AdminOptions_t *options,\n    const rd_kafka_consumer_group_state_t
      *consumer_group_states,\n    size_t consumer_group_states_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1661,1
    - Dst: rd_list_init_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:1664,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1667,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1676,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1677,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1681,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1682,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1689,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1690,1
    - Dst: rd_list_set_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:1695,1
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1699,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1703,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - options
    - consumer_group_types
    - consumer_group_types_cnt
    argTypes:
    - rd_kafka_AdminOptions_t*
    - rd_kafka_consumer_group_type_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1654
    functionDepth: 4
    functionLinenumber: 1654
    functionLinenumberEnd: 1706
    functionName: rd_kafka_AdminOptions_set_match_consumer_group_types
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_list_init_int32
    - rd_kafka_confval_set_type
    - rd_list_destroy
    - rd_kafka_error_new
    - rd_list_new
    - rd_list_set_int32
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_AdminOptions_set_match_consumer_group_types(\n
      \   rd_kafka_AdminOptions_t *options,\n    const rd_kafka_consumer_group_type_t
      *consumer_group_types,\n    size_t consumer_group_types_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - options
    - opaque
    argTypes:
    - rd_kafka_AdminOptions_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1708
    functionDepth: 2
    functionLinenumber: 1708
    functionLinenumberEnd: 1712
    functionName: rd_kafka_AdminOptions_set_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 23
    functionsReached:
    - rd_kafka_confval_set_type
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AdminOptions_set_opaque(rd_kafka_AdminOptions_t *options,\n
      \                                     void *opaque)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1720,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1731,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1735,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1743,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1746,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1751,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1754,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1761,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1765,1
    - Dst: rd_kafka_confval_init_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:1771,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1774,1
    - Dst: rd_kafka_confval_init_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:1779,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1782,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1787,1
    - Dst: rd_kafka_confval_disable
      Src: /src/librdkafka/src/rdkafka_admin.c:1790,1
    - Dst: rd_kafka_confval_init_int
      Src: /src/librdkafka/src/rdkafka_admin.c:1793,1
    - Dst: rd_kafka_confval_init_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:1794,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 25
    argCount: 2
    argNames:
    - rk
    - options
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AdminOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1795
    functionName: rd_kafka_AdminOptions_init
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_confval_disable
    - rd_kafka_confval_init_int
    - rd_kafka_confval_init_ptr
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AdminOptions_init(rd_kafka_t *rk,\n                                       rd_kafka_AdminOptions_t
      *options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_copy_preallocated
      Src: /src/librdkafka/src/rdkafka_admin.c:1809,1
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1812,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1815,1
    - Dst: rd_list_copy_preallocated
      Src: /src/librdkafka/src/rdkafka_admin.c:1819,1
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:1822,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_AdminOptions_t*
    - rd_kafka_AdminOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1804
    functionDepth: 6
    functionLinenumber: 1804
    functionLinenumberEnd: 1827
    functionName: rd_kafka_AdminOptions_copy_to
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_confval_set_type
    - rd_list_copy_preallocated
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AdminOptions_copy_to(rd_kafka_AdminOptions_t *dst,\n
      \                                         const rd_kafka_AdminOptions_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:1837,1
    - Dst: rd_kafka_AdminOptions_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rk
    - for_api
    argTypes:
    - rd_kafka_t*
    - rd_kafka_admin_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1844
    functionName: rd_kafka_AdminOptions_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 56
    functionsReached:
    - rd_calloc
    - rd_kafka_AdminOptions_init
    linkageType: ''
    returnType: rd_kafka_AdminOptions_t
    signature: 'rd_kafka_AdminOptions_t *

      rd_kafka_AdminOptions_new(rd_kafka_t *rk, rd_kafka_admin_op_t for_api)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1848,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1851,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:1853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - options
    argTypes:
    - rd_kafka_AdminOptions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1846
    functionDepth: 3
    functionLinenumber: 1846
    functionLinenumberEnd: 1854
    functionName: rd_kafka_AdminOptions_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 56
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_AdminOptions_destroy(rd_kafka_AdminOptions_t *options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1878,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1883,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1892,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:1898,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:1899,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1904,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdkafka_admin.c:1905,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:1910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 5
    argNames:
    - topic
    - num_partitions
    - replication_factor
    - errstr
    - errstr_size
    argTypes:
    - char*
    - int
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1870
    functionDepth: 3
    functionLinenumber: 1870
    functionLinenumberEnd: 1913
    functionName: rd_kafka_NewTopic_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_snprintf
    - rd_calloc
    - rd_list_prealloc_elems
    - rd_list_init
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_NewTopic_t
    signature: "rd_kafka_NewTopic_t *rd_kafka_NewTopic_new(const char *topic,\n                                           int
      num_partitions,\n                                           int replication_factor,\n
      \                                          char *errstr,\n                                           size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:1921,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1922
    functionName: rd_kafka_NewTopic_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_NewTopic_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewTopic_new
      Src: /src/librdkafka/src/rdkafka_admin.c:1933,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:1935,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1937,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:1938,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:1939,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:1942,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_NewTopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1929
    functionDepth: 4
    functionLinenumber: 1929
    functionLinenumberEnd: 1947
    functionName: rd_kafka_NewTopic_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_destroy
    - rd_kafka_NewTopic_new
    - rd_list_copy_to
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_NewTopic_t
    signature: 'rd_kafka_NewTopic_t *

      rd_kafka_NewTopic_copy(const rd_kafka_NewTopic_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1950,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1951,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:1952,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - new_topic
    argTypes:
    - rd_kafka_NewTopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1949
    functionDepth: 3
    functionLinenumber: 1949
    functionLinenumberEnd: 1954
    functionName: rd_kafka_NewTopic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_NewTopic_destroy(rd_kafka_NewTopic_t *new_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewTopic_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1957,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1956
    functionDepth: 4
    functionLinenumber: 1956
    functionLinenumberEnd: 1958
    functionName: rd_kafka_NewTopic_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_NewTopic_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_NewTopic_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewTopic_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:1964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - new_topics
    - new_topic_cnt
    argTypes:
    - rd_kafka_NewTopic_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1960
    functionDepth: 4
    functionLinenumber: 1960
    functionLinenumberEnd: 1965
    functionName: rd_kafka_NewTopic_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_NewTopic_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_NewTopic_destroy_array(rd_kafka_NewTopic_t **new_topics,\n
      \                                    size_t new_topic_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1979,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1984,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:1991,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:1992,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:1996,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2001,1
    - Dst: rd_list_init_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:2009,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2009,1
    - Dst: rd_list_set_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:2012,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - new_topic
    - partition
    - broker_ids
    - broker_id_cnt
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_NewTopic_t*
    - int32_t
    - int32_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1968
    functionDepth: 4
    functionLinenumber: 1968
    functionLinenumberEnd: 2017
    functionName: rd_kafka_NewTopic_set_replica_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_list_init_int32
    - rd_list_cnt
    - rd_list_add
    - rd_snprintf
    - rd_list_new
    - rd_list_set_int32
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_NewTopic_set_replica_assignment(rd_kafka_NewTopic_t
      *new_topic,\n                                         int32_t partition,\n                                         int32_t
      *broker_ids,\n                                         size_t broker_id_cnt,\n
      \                                        char *errstr,\n                                         size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2030,1
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2031,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rl
    - name
    - value
    argTypes:
    - rd_list_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2036
    functionName: rd_kafka_admin_add_config0
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_calloc
    - rd_strtup_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_admin_add_config0(rd_list_t *rl, const
      char *name, const char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2051,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2055,1
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2056,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - rl
    - name
    - op_type
    - value
    argTypes:
    - rd_list_t*
    - char*
    - rd_kafka_AlterConfigOpType_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2043
    functionDepth: 3
    functionLinenumber: 2043
    functionLinenumberEnd: 2062
    functionName: rd_kafka_admin_incremental_add_config0
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_list_add
    - rd_calloc
    - rd_strtup_new
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_admin_incremental_add_config0(rd_list_t
      *rl,\n                                       const char *name,\n                                       rd_kafka_AlterConfigOpType_t
      op_type,\n                                       const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_add_config0
      Src: /src/librdkafka/src/rdkafka_admin.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - new_topic
    - name
    - value
    argTypes:
    - rd_kafka_NewTopic_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2065
    functionDepth: 4
    functionLinenumber: 2065
    functionLinenumberEnd: 2069
    functionName: rd_kafka_NewTopic_set_config
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_add_config0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_NewTopic_set_config(rd_kafka_NewTopic_t
      *new_topic,\n                                                 const char *name,\n
      \                                                const char *value)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:2089,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2091,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:2092,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2096,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2098,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2099,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2104,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2107,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2109,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:2121,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:2122,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:2124,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:2125,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:2133,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:2141,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:2142,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2144,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:2146,1
    - Dst: rd_kafka_topic_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2149,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:2150,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:2157,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2160,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2161,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2165,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:2168,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2170,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2171,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2173,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:2176,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2186,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2188,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2076
    functionDepth: 7
    functionLinenumber: 2076
    functionLinenumberEnd: 2193
    functionName: rd_kafka_CreateTopicsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_ApiVersion
    - rd_kafka_topic_result_new
    - rd_kafka_err2str
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_confval_get_int
    - rd_kafka_topic_result_destroy
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_admin_result_new
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreateTopicsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:2208,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2210,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2214,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2218,1
    - Dst: rd_kafka_NewTopic_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2219,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:2221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rk
    - new_topics
    - new_topic_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_NewTopic_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2196
    functionDepth: 5
    functionLinenumber: 2196
    functionLinenumberEnd: 2222
    functionName: rd_kafka_CreateTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_NewTopic_copy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_CreateTopics(rd_kafka_t *rk,\n                           rd_kafka_NewTopic_t
      **new_topics,\n                           size_t new_topic_cnt,\n                           const
      rd_kafka_AdminOptions_t *options,\n                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_topics
      Src: /src/librdkafka/src/rdkafka_admin.c:2234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2231
    functionDepth: 2
    functionLinenumber: 2231
    functionLinenumberEnd: 2236
    functionName: rd_kafka_CreateTopics_result_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached:
    - rd_kafka_admin_result_ret_topics
    linkageType: ''
    returnType: rd_kafka_topic_result_t
    signature: "rd_kafka_topic_result_t **rd_kafka_CreateTopics_result_topics(\n    const
      rd_kafka_CreateTopics_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:2252,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2256,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:2258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - topic
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2261
    functionName: rd_kafka_DeleteTopic_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_kafka_DeleteTopic_t
    signature: rd_kafka_DeleteTopic_t *rd_kafka_DeleteTopic_new(const char *topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:2264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - del_topic
    argTypes:
    - rd_kafka_DeleteTopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2265
    functionName: rd_kafka_DeleteTopic_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteTopic_destroy(rd_kafka_DeleteTopic_t *del_topic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteTopic_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2267
    functionDepth: 2
    functionLinenumber: 2267
    functionLinenumberEnd: 2269
    functionName: rd_kafka_DeleteTopic_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteTopic_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteTopic_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteTopic_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - del_topics
    - del_topic_cnt
    argTypes:
    - rd_kafka_DeleteTopic_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2272
    functionDepth: 2
    functionLinenumber: 2272
    functionLinenumberEnd: 2277
    functionName: rd_kafka_DeleteTopic_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_DeleteTopic_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteTopic_destroy_array(rd_kafka_DeleteTopic_t **del_topics,\n
      \                                       size_t del_topic_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:2285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2286
    functionName: rd_kafka_DeleteTopic_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_DeleteTopic_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteTopic_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_DeleteTopic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2294
      start: 2291
    functionDepth: 2
    functionLinenumber: 2291
    functionLinenumberEnd: 2294
    functionName: rd_kafka_DeleteTopic_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteTopic_new
    linkageType: ''
    returnType: rd_kafka_DeleteTopic_t
    signature: 'rd_kafka_DeleteTopic_t *

      rd_kafka_DeleteTopic_copy(const rd_kafka_DeleteTopic_t *src)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:2314,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2316,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:2317,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2321,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2323,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2324,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2329,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2331,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2333,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:2343,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:2344,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:2352,1
    - Dst: rd_kafka_topic_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2358,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:2359,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2360,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:2366,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2369,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2370,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2374,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:2377,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2379,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2380,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2382,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:2385,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2395,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2397,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2301
    functionDepth: 7
    functionLinenumber: 2301
    functionLinenumberEnd: 2402
    functionName: rd_kafka_DeleteTopicsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_ApiVersion
    - rd_kafka_topic_result_new
    - rd_kafka_err2str
    - rd_list_init
    - rd_kafka_confval_get_int
    - rd_kafka_topic_result_destroy
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_admin_result_new
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteTopicsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:2418,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2420,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2424,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2428,1
    - Dst: rd_kafka_DeleteTopic_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2429,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rk
    - del_topics
    - del_topic_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_DeleteTopic_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2406
    functionDepth: 3
    functionLinenumber: 2406
    functionLinenumberEnd: 2432
    functionName: rd_kafka_DeleteTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_DeleteTopic_copy
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteTopics(rd_kafka_t *rk,\n                           rd_kafka_DeleteTopic_t
      **del_topics,\n                           size_t del_topic_cnt,\n                           const
      rd_kafka_AdminOptions_t *options,\n                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_topics
      Src: /src/librdkafka/src/rdkafka_admin.c:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2446
      start: 2441
    functionDepth: 2
    functionLinenumber: 2441
    functionLinenumberEnd: 2446
    functionName: rd_kafka_DeleteTopics_result_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached:
    - rd_kafka_admin_result_ret_topics
    linkageType: ''
    returnType: rd_kafka_topic_result_t
    signature: "rd_kafka_topic_result_t **rd_kafka_DeleteTopics_result_topics(\n    const
      rd_kafka_DeleteTopics_result_t *result,\n    size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:2463,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2467,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2475,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:2478,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2481,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdkafka_admin.c:2482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - topic
    - new_total_cnt
    - errstr
    - errstr_size
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2459
    functionDepth: 3
    functionLinenumber: 2459
    functionLinenumberEnd: 2486
    functionName: rd_kafka_NewPartitions_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_snprintf
    - rd_list_prealloc_elems
    - rd_list_init
    - rd_malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: rd_kafka_NewPartitions_t
    signature: "rd_kafka_NewPartitions_t *rd_kafka_NewPartitions_new(const char *topic,\n
      \                                                    size_t new_total_cnt,\n
      \                                                    char *errstr,\n                                                     size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:2493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2491
    functionDepth: 0
    functionLinenumber: 2491
    functionLinenumberEnd: 2494
    functionName: rd_kafka_NewPartitions_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_NewPartitions_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewPartitions_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2504,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2506,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2507,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:2508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_NewPartitions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2512
      start: 2500
    functionDepth: 4
    functionLinenumber: 2500
    functionLinenumberEnd: 2512
    functionName: rd_kafka_NewPartitions_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_list_copy_to
    - rd_list_init_copy
    - rd_kafka_NewPartitions_new
    linkageType: ''
    returnType: rd_kafka_NewPartitions_t
    signature: 'rd_kafka_NewPartitions_t *

      rd_kafka_NewPartitions_copy(const rd_kafka_NewPartitions_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2515,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:2516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - newps
    argTypes:
    - rd_kafka_NewPartitions_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2517
    functionName: rd_kafka_NewPartitions_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_NewPartitions_destroy(rd_kafka_NewPartitions_t *newps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewPartitions_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2519
    functionDepth: 4
    functionLinenumber: 2519
    functionLinenumberEnd: 2521
    functionName: rd_kafka_NewPartitions_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_NewPartitions_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_NewPartitions_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_NewPartitions_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - newps
    - newps_cnt
    argTypes:
    - rd_kafka_NewPartitions_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2524
    functionDepth: 4
    functionLinenumber: 2524
    functionLinenumberEnd: 2529
    functionName: rd_kafka_NewPartitions_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_NewPartitions_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_NewPartitions_destroy_array(rd_kafka_NewPartitions_t
      **newps,\n                                          size_t newps_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2544,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2545,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2549,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2554,1
    - Dst: rd_list_init_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:2561,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2561,1
    - Dst: rd_list_set_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:2564,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2566,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - newp
    - new_partition_idx
    - broker_ids
    - broker_id_cnt
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_NewPartitions_t*
    - int32_t
    - int32_t*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2533
    functionDepth: 4
    functionLinenumber: 2533
    functionLinenumberEnd: 2569
    functionName: rd_kafka_NewPartitions_set_replica_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_init_int32
    - rd_list_cnt
    - rd_list_add
    - rd_snprintf
    - rd_list_new
    - rd_list_set_int32
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_NewPartitions_set_replica_assignment(rd_kafka_NewPartitions_t
      *newp,\n                                              int32_t new_partition_idx,\n
      \                                             int32_t *broker_ids,\n                                              size_t
      broker_id_cnt,\n                                              char *errstr,\n
      \                                             size_t errstr_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2590,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:2591,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:2594,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2596,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2597,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2602,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2604,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2606,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:2618,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:2619,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:2620,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:2628,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:2635,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:2636,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2638,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:2640,1
    - Dst: rd_kafka_topic_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2643,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:2644,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:2651,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2654,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2655,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2659,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:2662,1
    - Dst: rd_kafka_topic_result_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2664,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:2665,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:2667,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:2670,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2680,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:2682,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:2684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2576
    functionDepth: 7
    functionLinenumber: 2576
    functionLinenumberEnd: 2687
    functionName: rd_kafka_CreatePartitionsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_topic_result_new
    - rd_kafka_err2str
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_confval_get_int
    - rd_kafka_topic_result_destroy
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_read_i32
    - rd_kafka_admin_result_new
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreatePartitionsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                        rd_kafka_op_t **rko_resultp,\n
      \                                       rd_kafka_buf_t *reply,\n                                        char
      *errstr,\n                                        size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:2703,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2705,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2710,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:2714,1
    - Dst: rd_kafka_NewPartitions_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2715,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:2717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rk
    - newps
    - newps_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_NewPartitions_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2718
      start: 2691
    functionDepth: 5
    functionLinenumber: 2691
    functionLinenumberEnd: 2718
    functionName: rd_kafka_CreatePartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_kafka_NewPartitions_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_CreatePartitions(rd_kafka_t *rk,\n                               rd_kafka_NewPartitions_t
      **newps,\n                               size_t newps_cnt,\n                               const
      rd_kafka_AdminOptions_t *options,\n                               rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_topics
      Src: /src/librdkafka/src/rdkafka_admin.c:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2727
    functionDepth: 2
    functionLinenumber: 2727
    functionLinenumberEnd: 2732
    functionName: rd_kafka_CreatePartitions_result_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_result_ret_topics
    linkageType: ''
    returnType: rd_kafka_topic_result_t
    signature: "rd_kafka_topic_result_t **rd_kafka_CreatePartitions_result_topics(\n
      \   const rd_kafka_CreatePartitions_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strtup_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2747,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2748,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2750
      start: 2746
    functionDepth: 3
    functionLinenumber: 2746
    functionLinenumberEnd: 2750
    functionName: rd_kafka_ConfigEntry_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    - rd_strtup_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConfigEntry_destroy(rd_kafka_ConfigEntry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigEntry_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2755
      start: 2753
    functionDepth: 4
    functionLinenumber: 2753
    functionLinenumberEnd: 2755
    functionName: rd_kafka_ConfigEntry_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigEntry_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConfigEntry_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2775,1
    - Dst: rd_strtup_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:2776,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2766
    functionDepth: 3
    functionLinenumber: 2766
    functionLinenumberEnd: 2783
    functionName: rd_kafka_ConfigEntry_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_init
    - rd_calloc
    - rd_strtup_new0
    linkageType: ''
    returnType: rd_kafka_ConfigEntry_t
    signature: "rd_kafka_ConfigEntry_t *rd_kafka_ConfigEntry_new0(const char *name,\n
      \                                                        size_t name_len,\n
      \                                                        const char *value,\n
      \                                                        size_t value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigEntry_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:2790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2791
      start: 2788
    functionDepth: 4
    functionLinenumber: 2788
    functionLinenumberEnd: 2791
    functionName: rd_kafka_ConfigEntry_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigEntry_new0
    linkageType: ''
    returnType: rd_kafka_ConfigEntry_t
    signature: "rd_kafka_ConfigEntry_t *rd_kafka_ConfigEntry_new(const char *name,\n
      \                                                       const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigEntry_new
      Src: /src/librdkafka/src/rdkafka_admin.c:2802,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2805,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2806,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:2807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2798
    functionDepth: 5
    functionLinenumber: 2798
    functionLinenumberEnd: 2811
    functionName: rd_kafka_ConfigEntry_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_list_copy_to
    - rd_kafka_ConfigEntry_new
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_ConfigEntry_t
    signature: 'rd_kafka_ConfigEntry_t *

      rd_kafka_ConfigEntry_copy(const rd_kafka_ConfigEntry_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigEntry_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:2814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2813
    functionDepth: 6
    functionLinenumber: 2813
    functionLinenumberEnd: 2815
    functionName: rd_kafka_ConfigEntry_list_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigEntry_copy
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_ConfigEntry_list_copy(const void *src, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2820
    functionName: rd_kafka_ConfigEntry_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_ConfigEntry_name(const rd_kafka_ConfigEntry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2824
    functionName: rd_kafka_ConfigEntry_value
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_ConfigEntry_value(const rd_kafka_ConfigEntry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2826
    functionDepth: 0
    functionLinenumber: 2826
    functionLinenumberEnd: 2829
    functionName: rd_kafka_ConfigEntry_source
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ConfigSource_t
    signature: rd_kafka_ConfigSource_t rd_kafka_ConfigEntry_source(const rd_kafka_ConfigEntry_t
      *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2833
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2833
    functionName: rd_kafka_ConfigEntry_is_read_only
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ConfigEntry_is_read_only(const rd_kafka_ConfigEntry_t
      *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2837
    functionName: rd_kafka_ConfigEntry_is_default
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ConfigEntry_is_default(const rd_kafka_ConfigEntry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2841
    functionName: rd_kafka_ConfigEntry_is_sensitive
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ConfigEntry_is_sensitive(const rd_kafka_ConfigEntry_t
      *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2845
    functionName: rd_kafka_ConfigEntry_is_synonym
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ConfigEntry_is_synonym(const rd_kafka_ConfigEntry_t *entry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:2850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2847
    functionDepth: 1
    functionLinenumber: 2847
    functionLinenumberEnd: 2854
    functionName: rd_kafka_ConfigEntry_synonyms
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ConfigEntry_t
    signature: "rd_kafka_ConfigEntry_t **\nrd_kafka_ConfigEntry_synonyms(const rd_kafka_ConfigEntry_t
      *entry,\n                              size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - confsource
    argTypes:
    - rd_kafka_ConfigSource_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2887
    functionName: rd_kafka_ConfigSource_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_ConfigSource_name(rd_kafka_ConfigSource_t confsource)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - resource_pattern_type
    argTypes:
    - rd_kafka_ResourcePatternType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2911
    functionName: rd_kafka_ResourcePatternType_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ResourcePatternType_name(\n    rd_kafka_ResourcePatternType_t
      resource_pattern_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - restype
    argTypes:
    - rd_kafka_ResourceType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2921
    functionName: rd_kafka_ResourceType_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_ResourceType_name(rd_kafka_ResourceType_t restype)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - restype
    argTypes:
    - rd_kafka_ResourceType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2936
      start: 2924
    functionDepth: 0
    functionLinenumber: 2924
    functionLinenumberEnd: 2936
    functionName: rd_kafka_ResourceType_to_ConfigResourceType
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ConfigResourceType_t
    signature: rd_kafka_ConfigResourceType_t rd_kafka_ResourceType_to_ConfigResourceType(rd_kafka_ResourceType_t
      restype)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - config_resource_type
    argTypes:
    - rd_kafka_ConfigResourceType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2950
    functionName: rd_kafka_ConfigResourceType_to_ResourceType
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ResourceType_t
    signature: "rd_kafka_ResourceType_t rd_kafka_ConfigResourceType_to_ResourceType(\n
      \   rd_kafka_ConfigResourceType_t config_resource_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:2957,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:2962,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:2964,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:2967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - restype
    - resname
    argTypes:
    - rd_kafka_ResourceType_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2953
    functionDepth: 3
    functionLinenumber: 2953
    functionLinenumberEnd: 2970
    functionName: rd_kafka_ConfigResource_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 9
    functionsReached:
    - strlen
    - memcpy
    - rd_calloc
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: "rd_kafka_ConfigResource_t *\nrd_kafka_ConfigResource_new(rd_kafka_ResourceType_t
      restype,\n                            const char *resname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2973,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:2975,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:2976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - config
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2972
    functionDepth: 3
    functionLinenumber: 2972
    functionLinenumberEnd: 2977
    functionName: rd_kafka_ConfigResource_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConfigResource_destroy(rd_kafka_ConfigResource_t *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2981
      start: 2979
    functionDepth: 4
    functionLinenumber: 2979
    functionLinenumberEnd: 2981
    functionName: rd_kafka_ConfigResource_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConfigResource_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConfigResource_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:2988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - config
    - config_cnt
    argTypes:
    - rd_kafka_ConfigResource_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2984
    functionDepth: 4
    functionLinenumber: 2984
    functionLinenumberEnd: 2989
    functionName: rd_kafka_ConfigResource_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached:
    - rd_kafka_ConfigResource_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ConfigResource_destroy_array(rd_kafka_ConfigResource_t
      **config,\n                                           size_t config_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_admin.c:2997,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:3000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2995
    functionDepth: 1
    functionLinenumber: 2995
    functionLinenumberEnd: 3001
    functionName: rd_kafka_ConfigResource_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_ConfigResource_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3010,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3012,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:3013,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:3014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3006
    functionDepth: 4
    functionLinenumber: 3006
    functionLinenumberEnd: 3018
    functionName: rd_kafka_ConfigResource_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_list_copy_to
    - rd_kafka_ConfigResource_new
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: 'rd_kafka_ConfigResource_t *

      rd_kafka_ConfigResource_copy(const rd_kafka_ConfigResource_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:3024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - config
    - entry
    argTypes:
    - rd_kafka_ConfigResource_t*
    - rd_kafka_ConfigEntry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3025
      start: 3021
    functionDepth: 3
    functionLinenumber: 3021
    functionLinenumberEnd: 3025
    functionName: rd_kafka_ConfigResource_add_ConfigEntry
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ConfigResource_add_ConfigEntry(rd_kafka_ConfigResource_t
      *config,\n                                        rd_kafka_ConfigEntry_t *entry)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_add_config0
      Src: /src/librdkafka/src/rdkafka_admin.c:3034,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - config
    - name
    - value
    argTypes:
    - rd_kafka_ConfigResource_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3027
    functionDepth: 4
    functionLinenumber: 3027
    functionLinenumberEnd: 3035
    functionName: rd_kafka_ConfigResource_set_config
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_add_config0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ConfigResource_set_config(rd_kafka_ConfigResource_t
      *config,\n                                   const char *name,\n                                   const
      char *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3044,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3050,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3057,1
    - Dst: rd_kafka_admin_incremental_add_config0
      Src: /src/librdkafka/src/rdkafka_admin.c:3061,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - config
    - name
    - op_type
    - value
    argTypes:
    - rd_kafka_ConfigResource_t*
    - char*
    - rd_kafka_AlterConfigOpType_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3038
    functionDepth: 4
    functionLinenumber: 3038
    functionLinenumberEnd: 3063
    functionName: rd_kafka_ConfigResource_add_incremental_config
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_admin_incremental_add_config0
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_ConfigResource_add_incremental_config(\n
      \   rd_kafka_ConfigResource_t *config,\n    const char *name,\n    rd_kafka_AlterConfigOpType_t
      op_type,\n    const char *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3073
      start: 3066
    functionDepth: 1
    functionLinenumber: 3066
    functionLinenumberEnd: 3073
    functionName: rd_kafka_ConfigResource_configs
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ConfigEntry_t
    signature: "rd_kafka_ConfigEntry_t **\nrd_kafka_ConfigResource_configs(const rd_kafka_ConfigResource_t
      *config,\n                                size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3080
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3080
    functionName: rd_kafka_ConfigResource_type
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ResourceType_t
    signature: rd_kafka_ResourceType_t rd_kafka_ConfigResource_type(const rd_kafka_ConfigResource_t
      *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3085
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3085
    functionName: rd_kafka_ConfigResource_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_ConfigResource_name(const rd_kafka_ConfigResource_t *config)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - config
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3090
    functionName: rd_kafka_ConfigResource_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_ConfigResource_error(const rd_kafka_ConfigResource_t
      *config)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - config
    argTypes:
    - rd_kafka_ConfigResource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3092
    functionDepth: 1
    functionLinenumber: 3092
    functionLinenumberEnd: 3099
    functionName: rd_kafka_ConfigResource_error_string
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_kafka_err2str
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_ConfigResource_error_string(const rd_kafka_ConfigResource_t *config)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3133,1
    - Dst: strtol
      Src: /src/librdkafka/src/rdkafka_admin.c:3140,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - configs
    - broker_idp
    - errstr
    - errstr_size
    argTypes:
    - rd_list_t*
    - int32_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3159
    functionName: rd_kafka_ConfigResource_get_single_broker_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strtol
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ConfigResource_get_single_broker_id(const
      rd_list_t *configs,\n                                             int32_t *broker_idp,\n
      \                                            char *errstr,\n                                             size_t
      errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3133,1
    - Dst: strtol
      Src: /src/librdkafka/src/rdkafka_admin.c:3140,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3154
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3154
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 48
    functionsReached:
    - strtol
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(config, configs, i)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3193,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:3194,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3196,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3198,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3199,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3204,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3208,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3210,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:3225,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3226,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:3227,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3228,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3229,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:3230,1
    - Dst: rd_kafka_ConfigResourceType_to_ResourceType
      Src: /src/librdkafka/src/rdkafka_admin.c:3232,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:3236,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3237,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3239,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3241,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3244,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_admin.c:3246,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:3256,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:3263,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3266,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3267,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:3275,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3277,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3278,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:3285,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3295,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3297,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3302
      start: 3179
    functionDepth: 7
    functionLinenumber: 3179
    functionLinenumberEnd: 3302
    functionName: rd_kafka_AlterConfigsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_read_i8
    - rd_kafka_buf_skip_tags
    - rd_kafka_ConfigResourceType_to_ResourceType
    - rd_kafka_err2str
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_admin_result_new
    - rd_kafka_log
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_kafka_ConfigResource_new
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterConfigsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:3320,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3322,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3326,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:3330,1
    - Dst: rd_kafka_ConfigResource_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:3331,1
    - Dst: rd_kafka_ConfigResource_get_single_broker_id
      Src: /src/librdkafka/src/rdkafka_admin.c:3338,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3342,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3343,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:3348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - rk
    - configs
    - config_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ConfigResource_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3349
      start: 3306
    functionDepth: 7
    functionLinenumber: 3306
    functionLinenumberEnd: 3349
    functionName: rd_kafka_AlterConfigs
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_ConfigResource_get_single_broker_id
    - rd_kafka_admin_result_fail
    - rd_kafka_ConfigResource_copy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterConfigs(rd_kafka_t *rk,\n                           rd_kafka_ConfigResource_t
      **configs,\n                           size_t config_cnt,\n                           const
      rd_kafka_AdminOptions_t *options,\n                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_resources
      Src: /src/librdkafka/src/rdkafka_admin.c:3355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3352
    functionDepth: 2
    functionLinenumber: 3352
    functionLinenumberEnd: 3357
    functionName: rd_kafka_AlterConfigs_result_resources
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_result_ret_resources
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: "rd_kafka_ConfigResource_t **rd_kafka_AlterConfigs_result_resources(\n
      \   const rd_kafka_AlterConfigs_result_t *result,\n    size_t *cntp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3390,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:3391,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3393,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3395,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3396,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3401,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3405,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3407,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:3422,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3423,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:3424,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3425,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3426,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:3427,1
    - Dst: rd_kafka_ConfigResourceType_to_ResourceType
      Src: /src/librdkafka/src/rdkafka_admin.c:3429,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:3433,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3434,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3436,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3438,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3441,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_admin.c:3443,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:3453,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:3460,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3463,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3464,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:3472,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3474,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3475,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:3482,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3492,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3494,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3497,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3500
      start: 3376
    functionDepth: 7
    functionLinenumber: 3376
    functionLinenumberEnd: 3500
    functionName: rd_kafka_IncrementalAlterConfigsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_read_i8
    - rd_kafka_buf_skip_tags
    - rd_kafka_ConfigResourceType_to_ResourceType
    - rd_kafka_err2str
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_admin_result_new
    - rd_kafka_log
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_kafka_ConfigResource_new
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_IncrementalAlterConfigsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                               rd_kafka_op_t **rko_resultp,\n
      \                                              rd_kafka_buf_t *reply,\n                                               char
      *errstr,\n                                               size_t errstr_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:3521,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3523,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3528,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_admin.c:3532,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:3538,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_admin.c:3539,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3543,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_admin.c:3545,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_admin.c:3549,1
    - Dst: rd_kafka_ConfigResource_configs
      Src: /src/librdkafka/src/rdkafka_admin.c:3551,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_admin.c:3554,1
    - Dst: rd_kafka_ConfigEntry_name
      Src: /src/librdkafka/src/rdkafka_admin.c:3559,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_admin.c:3561,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_admin.c:3565,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_admin.c:3567,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_admin.c:3570,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3571,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3574,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:3579,1
    - Dst: rd_kafka_ConfigResource_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:3580,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_admin.c:3583,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3586,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3588,1
    - Dst: rd_kafka_ConfigResource_get_single_broker_id
      Src: /src/librdkafka/src/rdkafka_admin.c:3598,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3602,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3603,1
    - Dst: rd_kafka_confval_set_type
      Src: /src/librdkafka/src/rdkafka_admin.c:3611,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3615,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3616,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:3622,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 5
    argNames:
    - rk
    - configs
    - config_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ConfigResource_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3505
    functionDepth: 7
    functionLinenumber: 3505
    functionLinenumberEnd: 3623
    functionName: rd_kafka_IncrementalAlterConfigs
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_snprintf
    - rd_alloca
    - rd_kafka_ConfigResource_get_single_broker_id
    - RD_MAP_SET
    - rd_kafka_admin_common_worker_destroy
    - RD_MAP_DESTROY
    - rd_list_init
    - rd_kafka_q_enq
    - rd_kafka_confval_set_type
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    - rd_kafka_ConfigResource_configs
    - rd_list_add
    - rd_kafka_ConfigEntry_name
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_request_op_new
    - rd_kafka_ConfigResource_copy
    - strlen
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_IncrementalAlterConfigs(rd_kafka_t *rk,\n                                      rd_kafka_ConfigResource_t
      **configs,\n                                      size_t config_cnt,\n                                      const
      rd_kafka_AdminOptions_t *options,\n                                      rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_resources
      Src: /src/librdkafka/src/rdkafka_admin.c:3630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3626
    functionDepth: 2
    functionLinenumber: 3626
    functionLinenumberEnd: 3632
    functionName: rd_kafka_IncrementalAlterConfigs_result_resources
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_result_ret_resources
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: "rd_kafka_ConfigResource_t **\nrd_kafka_IncrementalAlterConfigs_result_resources(\n
      \   const rd_kafka_IncrementalAlterConfigs_result_t *result,\n    size_t *cntp)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3666,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:3667,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3670,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3672,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3673,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:3678,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3680,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3682,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:3698,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3699,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:3700,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3701,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3702,1
    - Dst: rd_kafka_ConfigResourceType_to_ResourceType
      Src: /src/librdkafka/src/rdkafka_admin.c:3704,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:3708,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3709,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3711,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:3713,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3716,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_admin.c:3718,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:3728,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3731,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3738,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3739,1
    - Dst: rd_kafka_ConfigEntry_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:3741,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3742,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3743,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_admin.c:3745,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:3751,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_admin.c:3752,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:3759,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_admin.c:3767,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:3770,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:3772,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3775,1
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdkafka_admin.c:3785,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3800,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:3801,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:3802,1
    - Dst: rd_kafka_ConfigEntry_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:3804,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3805,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:3807,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3809,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:3825,1
    - Dst: rd_kafka_ConfigResource_add_ConfigEntry
      Src: /src/librdkafka/src/rdkafka_admin.c:3828,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:3837,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3840,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:3847,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3849,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:3855,1
    - Dst: rd_kafka_ConfigEntry_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3866,1
    - Dst: rd_kafka_ConfigResource_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3868,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3871,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:3873,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:3875,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3878
      start: 3650
    functionDepth: 7
    functionLinenumber: 3650
    functionLinenumberEnd: 3878
    functionName: rd_kafka_DescribeConfigsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_read_i8
    - rd_kafka_ConfigResourceType_to_ResourceType
    - rd_kafka_buf_ApiVersion
    - rd_kafka_err2str
    - rd_kafka_ConfigResource_add_ConfigEntry
    - rd_kafka_ConfigEntry_destroy
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_bool
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_admin_result_new
    - rd_kafka_log
    - rd_kafka_ConfigResource_destroy
    - rd_kafka_op_throttle_time
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_add
    - rd_kafka_ConfigEntry_new0
    - rd_kafka_ConfigResource_new
    - rd_list_grow
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_list_index
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeConfigsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                       rd_kafka_op_t **rko_resultp,\n
      \                                      rd_kafka_buf_t *reply,\n                                       char
      *errstr,\n                                       size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:3896,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:3898,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:3902,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:3906,1
    - Dst: rd_kafka_ConfigResource_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:3907,1
    - Dst: rd_kafka_ConfigResource_get_single_broker_id
      Src: /src/librdkafka/src/rdkafka_admin.c:3914,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:3918,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3919,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:3924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - rk
    - configs
    - config_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ConfigResource_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3925
      start: 3882
    functionDepth: 7
    functionLinenumber: 3882
    functionLinenumberEnd: 3925
    functionName: rd_kafka_DescribeConfigs
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_ConfigResource_get_single_broker_id
    - rd_kafka_admin_result_fail
    - rd_kafka_ConfigResource_copy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeConfigs(rd_kafka_t *rk,\n                              rd_kafka_ConfigResource_t
      **configs,\n                              size_t config_cnt,\n                              const
      rd_kafka_AdminOptions_t *options,\n                              rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_resources
      Src: /src/librdkafka/src/rdkafka_admin.c:3932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3934
      start: 3929
    functionDepth: 2
    functionLinenumber: 3929
    functionLinenumberEnd: 3934
    functionName: rd_kafka_DescribeConfigs_result_resources
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_kafka_admin_result_ret_resources
    linkageType: ''
    returnType: rd_kafka_ConfigResource_t
    signature: "rd_kafka_ConfigResource_t **rd_kafka_DescribeConfigs_result_resources(\n
      \   const rd_kafka_DescribeConfigs_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:3951,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:3953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - before_offsets
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3956
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3956
    functionName: rd_kafka_DeleteRecords_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_calloc
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_DeleteRecords_t
    signature: "rd_kafka_DeleteRecords_t *rd_kafka_DeleteRecords_new(\n    const rd_kafka_topic_partition_list_t
      *before_offsets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3959,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:3960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - del_records
    argTypes:
    - rd_kafka_DeleteRecords_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3961
      start: 3958
    functionDepth: 1
    functionLinenumber: 3958
    functionLinenumberEnd: 3961
    functionName: rd_kafka_DeleteRecords_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteRecords_destroy(rd_kafka_DeleteRecords_t *del_records)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteRecords_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:3968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - del_records
    - del_record_cnt
    argTypes:
    - rd_kafka_DeleteRecords_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3963
    functionDepth: 2
    functionLinenumber: 3963
    functionLinenumberEnd: 3969
    functionName: rd_kafka_DeleteRecords_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteRecords_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteRecords_destroy_array(\n    rd_kafka_DeleteRecords_t
      **del_records,\n    size_t del_record_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:3984,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:3989,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:3999,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4005,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4009,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4018,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4025,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_admin.c:4027,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_admin.c:4028,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_admin.c:4030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - rko_fanout
    - rko_partial
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4042
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 4042
    functionName: rd_kafka_DeleteRecords_response_merge
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_assert
    - rd_dassert
    - rd_kafka_topic_partition_list_find
    - rd_list_elem
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteRecords_response_merge(rd_kafka_op_t *rko_fanout,\n
      \                                     const rd_kafka_op_t *rko_partial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4005,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4012
      start: 4001
    functionDepth: 1
    functionLinenumber: 4001
    functionLinenumberEnd: 4012
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(reqpartition, reqpartitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4025,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_admin.c:4027,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_admin.c:4028,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_admin.c:4030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 4020
    functionDepth: 1
    functionLinenumber: 4020
    functionLinenumberEnd: 4041
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_dassert
    - rd_kafka_log
    - unlikely
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(partition, partitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:4059,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:4067,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4070,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4074,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4075,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4077,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:4082,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:4084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4087
      start: 4049
    functionDepth: 7
    functionLinenumber: 4049
    functionLinenumberEnd: 4087
    functionName: rd_kafka_DeleteRecordsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_kafka_buf_parse_fail
    - rd_snprintf
    - rd_kafka_err2str
    - rd_list_init
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_topic_partitions
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteRecordsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                     rd_kafka_op_t **rko_resultp,\n
      \                                    rd_kafka_buf_t *reply,\n                                     char
      *errstr,\n                                     size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:4097,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rktpar
    - timestamp
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4093
    functionDepth: 1
    functionLinenumber: 4093
    functionLinenumberEnd: 4101
    functionName: rd_kafka_ListOffsetsResultInfo_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_copy
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_ListOffsetsResultInfo_t
    signature: "rd_kafka_ListOffsetsResultInfo_t *\nrd_kafka_ListOffsetsResultInfo_new(rd_kafka_topic_partition_t
      *rktpar,\n                                   rd_ts_t timestamp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListOffsetsResultInfo_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_info
    argTypes:
    - rd_kafka_ListOffsetsResultInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4106
    functionDepth: 2
    functionLinenumber: 4106
    functionLinenumberEnd: 4110
    functionName: rd_kafka_ListOffsetsResultInfo_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetsResultInfo_new
    linkageType: ''
    returnType: rd_kafka_ListOffsetsResultInfo_t
    signature: "rd_kafka_ListOffsetsResultInfo_t *rd_kafka_ListOffsetsResultInfo_copy(\n
      \   const rd_kafka_ListOffsetsResultInfo_t *result_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListOffsetsResultInfo_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - element
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4116
    functionDepth: 3
    functionLinenumber: 4116
    functionLinenumberEnd: 4119
    functionName: rd_kafka_ListOffsetsResultInfo_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetsResultInfo_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_ListOffsetsResultInfo_copy_opaque(const void *element,\n
      \                                                       void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_info
    argTypes:
    - rd_kafka_ListOffsetsResultInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4128
    functionName: rd_kafka_ListOffsetsResultInfo_topic_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *\nrd_kafka_ListOffsetsResultInfo_topic_partition(\n
      \   const rd_kafka_ListOffsetsResultInfo_t *result_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_info
    argTypes:
    - rd_kafka_ListOffsetsResultInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4137
      start: 4134
    functionDepth: 0
    functionLinenumber: 4134
    functionLinenumberEnd: 4137
    functionName: rd_kafka_ListOffsetsResultInfo_timestamp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: "int64_t rd_kafka_ListOffsetsResultInfo_timestamp(\n    const rd_kafka_ListOffsetsResultInfo_t
      *result_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4141,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:4142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - element
    argTypes:
    - rd_kafka_ListOffsetsResultInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4143
      start: 4139
    functionDepth: 1
    functionLinenumber: 4139
    functionLinenumberEnd: 4143
    functionName: rd_kafka_ListOffsetsResultInfo_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListOffsetsResultInfo_destroy(\n    rd_kafka_ListOffsetsResultInfo_t
      *element)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListOffsetsResultInfo_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - element
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4147
      start: 4145
    functionDepth: 2
    functionLinenumber: 4145
    functionLinenumberEnd: 4147
    functionName: rd_kafka_ListOffsetsResultInfo_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetsResultInfo_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ListOffsetsResultInfo_destroy_free(void *element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4164,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4166,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4168,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4172,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4175,1
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_admin.c:4178,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4183,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - rko_fanout
    - rko_partial
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4158
    functionDepth: 1
    functionLinenumber: 4158
    functionLinenumberEnd: 4192
    functionName: rd_kafka_ListOffsets_response_merge
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_kafka_topic_partition_destroy
    - rd_kafka_topic_partition_cmp
    - rd_list_elem
    - rd_kafka_topic_partition_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListOffsets_response_merge(rd_kafka_op_t *rko_fanout,\n
      \                                   const rd_kafka_op_t *rko_partial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4204
      start: 4198
    functionDepth: 1
    functionLinenumber: 4198
    functionLinenumberEnd: 4204
    functionName: rd_kafka_ListOffsets_result_infos
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ListOffsetsResultInfo_t
    signature: "rd_kafka_ListOffsetsResultInfo_t **\nrd_kafka_ListOffsets_result_infos(const
      rd_kafka_ListOffsets_result_t *result,\n                                  size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4217,1
    - Dst: rd_kafka_parse_ListOffsets
      Src: /src/librdkafka/src/rdkafka_admin.c:4219,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:4221,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:4223,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4227,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4228,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:4229,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4210
    functionDepth: 7
    functionLinenumber: 4210
    functionLinenumberEnd: 4235
    functionName: rd_kafka_ListOffsetsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_list_destroy
    - rd_kafka_parse_ListOffsets
    - rd_list_new
    - rd_kafka_err2str
    - rd_list_copy_to
    - rd_list_init_copy
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ListOffsetsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                   rd_kafka_op_t **rko_resultp,\n
      \                                  rd_kafka_buf_t *reply,\n                                   char
      *errstr,\n                                   size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - err
    argTypes:
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4248
      start: 4240
    functionDepth: 0
    functionLinenumber: 4240
    functionLinenumberEnd: 4248
    functionName: rd_kafka_admin_result_err_refresh
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_admin_result_err_refresh(rd_kafka_resp_err_t err)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:4262,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:4263,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4267,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_admin.c:4268,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4272,1
    - Dst: rd_kafka_admin_result_err_refresh
      Src: /src/librdkafka/src/rdkafka_admin.c:4275,1
    - Dst: rd_kafka_metadata_cache_delete_by_name
      Src: /src/librdkafka/src/rdkafka_admin.c:4276,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_admin.c:4281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rko_result
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4282
      start: 4253
    functionDepth: 1
    functionLinenumber: 4253
    functionLinenumberEnd: 4282
    functionName: rd_kafka_ListOffsets_handle_result
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_delete_by_name
    - rd_kafka_wrlock
    - rd_kafka_admin_result_err_refresh
    - rd_kafka_wrunlock
    - rd_list_elem
    - rd_list_empty
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ListOffsets_handle_result(rd_kafka_op_t *rko_result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4272,1
    - Dst: rd_kafka_admin_result_err_refresh
      Src: /src/librdkafka/src/rdkafka_admin.c:4275,1
    - Dst: rd_kafka_metadata_cache_delete_by_name
      Src: /src/librdkafka/src/rdkafka_admin.c:4276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4280
      start: 4270
    functionDepth: 1
    functionLinenumber: 4270
    functionLinenumberEnd: 4280
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_list_elem
    - rd_kafka_metadata_cache_delete_by_name
    - rd_kafka_admin_result_err_refresh
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, rktpars)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4310,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4314,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:4317,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4318,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4325,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4327,1
    - Dst: rd_kafka_ListOffsetsResultInfo_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4335,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka_admin.c:4336,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_admin.c:4338,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4341,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4352,1
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_admin.c:4354,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4363,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4366,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_admin.c:4374,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4375,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4377,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4379,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - rk
    - rkq
    - reply
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4386
      start: 4289
    functionDepth: 7
    functionLinenumber: 4289
    functionLinenumberEnd: 4386
    functionName: rd_kafka_ListOffsets_leaders_queried_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListOffsetsResultInfo_new
    - rd_assert
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_list_elem
    - rd_kafka_err2str
    - rd_kafka_admin_result_fail
    - rd_kafka_topic_partition_cmp
    - rd_kafka_admin_request_op_new
    - rd_kafka_admin_common_worker_destroy
    - rd_list_init
    - RD_KAFKA_FETCH_POS
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_ListOffsets_leaders_queried_cb(rd_kafka_t
      *rk,\n                                        rd_kafka_q_t *rkq,\n                                        rd_kafka_op_t
      *reply)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4352,1
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_admin.c:4354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4359
      start: 4346
    functionDepth: 1
    functionLinenumber: 4346
    functionLinenumberEnd: 4359
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_list_elem
    - rd_kafka_topic_partition_cmp
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, partitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4366,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_admin.c:4374,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4375,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4377,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4379,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4383
      start: 4365
    functionDepth: 3
    functionLinenumber: 4365
    functionLinenumberEnd: 4383
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 48
    functionsReached:
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(leader, leaders, i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4412,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4419,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4431,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4433,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4440,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:4443,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4444,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4451,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4453,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4454,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4457,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4459,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4459,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4463,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_admin.c:4470,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4472,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4474,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4476,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - rk
    - rkq
    - reply
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4483
      start: 4393
    functionDepth: 7
    functionLinenumber: 4393
    functionLinenumberEnd: 4483
    functionName: rd_kafka_DeleteRecords_leaders_queried_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_q_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_err2str
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_request_op_new
    - rd_kafka_topic_partition_list_find
    - rd_list_elem
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_DeleteRecords_leaders_queried_cb(rd_kafka_t
      *rk,\n                                          rd_kafka_q_t *rkq,\n                                          rd_kafka_op_t
      *reply)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_admin.c:4431,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4435
      start: 4425
    functionDepth: 1
    functionLinenumber: 4425
    functionLinenumberEnd: 4435
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 7
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, partitions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4463,1
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_admin.c:4470,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4472,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4474,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4476,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4462
    functionDepth: 3
    functionLinenumber: 4462
    functionLinenumberEnd: 4480
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 48
    functionsReached:
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_sort_by_topic
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(leader, leaders, i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4499,1
    - Dst: rd_kafka_admin_fanout_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4501,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4509,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4513,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4521,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4524,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4530,1
    - Dst: rd_kafka_topic_partition_list_has_duplicates
      Src: /src/librdkafka/src/rdkafka_admin.c:4531,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4533,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4534,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4537,1
    - Dst: rd_kafka_topic_partition_list_set_err
      Src: /src/librdkafka/src/rdkafka_admin.c:4544,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4547,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4549,1
    - Dst: rd_kafka_topic_partition_list_query_leaders_async
      Src: /src/librdkafka/src/rdkafka_admin.c:4552,1
    - Dst: rd_kafka_admin_timeout_remains
      Src: /src/librdkafka/src/rdkafka_admin.c:4553,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:4554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 5
    argNames:
    - rk
    - del_records
    - del_record_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_DeleteRecords_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4556
      start: 4486
    functionDepth: 7
    functionLinenumber: 4486
    functionLinenumberEnd: 4556
    functionName: rd_kafka_DeleteRecords
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_add
    - RD_KAFKA_REPLYQ
    - rd_kafka_topic_partition_list_has_duplicates
    - rd_kafka_admin_timeout_remains
    - rd_kafka_admin_result_fail
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_admin_fanout_op_new
    - rd_kafka_topic_partition_list_set_err
    - rd_kafka_topic_partition_list_query_leaders_async
    - rd_kafka_admin_common_worker_destroy
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteRecords(rd_kafka_t *rk,\n                            rd_kafka_DeleteRecords_t
      **del_records,\n                            size_t del_record_cnt,\n                            const
      rd_kafka_AdminOptions_t *options,\n                            rd_kafka_queue_t
      *rkqu)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_fanout_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4573,1
    - Dst: rd_kafka_admin_request_op_result_cb_set
      Src: /src/librdkafka/src/rdkafka_admin.c:4577,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4583,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4591,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4601,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4604,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4605,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_admin.c:4608,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_admin.c:4610,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4613,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4624,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4633,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4634,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4636,1
    - Dst: rd_kafka_topic_partition_list_query_leaders_async
      Src: /src/librdkafka/src/rdkafka_admin.c:4641,1
    - Dst: rd_kafka_admin_timeout_remains
      Src: /src/librdkafka/src/rdkafka_admin.c:4643,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_admin.c:4644,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4649,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4651,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4652,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:4656,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:4659,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4660,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - rk
    - topic_partitions
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4559
    functionDepth: 7
    functionLinenumber: 4559
    functionLinenumberEnd: 4662
    functionName: rd_kafka_ListOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_sort
    - rd_kafka_topic_partition_list_copy
    - rd_list_add
    - RD_KAFKA_REPLYQ
    - rd_list_new
    - rd_kafka_admin_timeout_remains
    - rd_kafka_admin_result_fail
    - rd_list_find_duplicate
    - rd_kafka_admin_request_op_result_cb_set
    - rd_list_init
    - rd_kafka_admin_result_enq
    - rd_kafka_topic_partition_list_query_leaders_async
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_topic_partition_copy
    - RD_IF_FREE
    - rd_kafka_admin_fanout_op_new
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListOffsets(rd_kafka_t *rk,\n                          rd_kafka_topic_partition_list_t
      *topic_partitions,\n                          const rd_kafka_AdminOptions_t
      *options,\n                          rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4677,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4679,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4681,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4683,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_DeleteRecords_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4689
      start: 4669
    functionDepth: 1
    functionLinenumber: 4669
    functionLinenumberEnd: 4689
    functionName: rd_kafka_DeleteRecords_result_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_elem
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_DeleteRecords_result_offsets(\n
      \   const rd_kafka_DeleteRecords_result_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:4703,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:4707,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:4709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - group
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4712
      start: 4702
    functionDepth: 1
    functionLinenumber: 4702
    functionLinenumberEnd: 4712
    functionName: rd_kafka_DeleteGroup_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_kafka_DeleteGroup_t
    signature: rd_kafka_DeleteGroup_t *rd_kafka_DeleteGroup_new(const char *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:4715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - del_group
    argTypes:
    - rd_kafka_DeleteGroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4716
      start: 4714
    functionDepth: 1
    functionLinenumber: 4714
    functionLinenumberEnd: 4716
    functionName: rd_kafka_DeleteGroup_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteGroup_destroy(rd_kafka_DeleteGroup_t *del_group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteGroup_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4720
      start: 4718
    functionDepth: 2
    functionLinenumber: 4718
    functionLinenumberEnd: 4720
    functionName: rd_kafka_DeleteGroup_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteGroup_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteGroup_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteGroup_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - del_groups
    - del_group_cnt
    argTypes:
    - rd_kafka_DeleteGroup_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4727
      start: 4722
    functionDepth: 2
    functionLinenumber: 4722
    functionLinenumberEnd: 4727
    functionName: rd_kafka_DeleteGroup_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_DeleteGroup_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteGroup_destroy_array(rd_kafka_DeleteGroup_t **del_groups,\n
      \                                       size_t del_group_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:4734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4735
      start: 4732
    functionDepth: 0
    functionLinenumber: 4732
    functionLinenumberEnd: 4735
    functionName: rd_kafka_DeleteGroup_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_DeleteGroup_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteGroup_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_DeleteGroup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4743
      start: 4740
    functionDepth: 2
    functionLinenumber: 4740
    functionLinenumberEnd: 4743
    functionName: rd_kafka_DeleteGroup_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteGroup_new
    linkageType: ''
    returnType: rd_kafka_DeleteGroup_t
    signature: 'rd_kafka_DeleteGroup_t *

      rd_kafka_DeleteGroup_copy(const rd_kafka_DeleteGroup_t *src)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:4760,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:4763,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4765,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4766,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4771,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4773,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4774,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:4782,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:4783,1
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4785,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:4786,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4787,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4789,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4797,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:4799,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:4801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4804
      start: 4749
    functionDepth: 7
    functionLinenumber: 4749
    functionLinenumberEnd: 4804
    functionName: rd_kafka_DeleteGroupsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - rd_kafka_group_result_new
    - rd_kafka_op_destroy
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_add
    - rd_snprintf
    - rd_kafka_error_new
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_list_init
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteGroupsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4817,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4824,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4825,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4826,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:4826,1
    - Dst: rd_kafka_group_result_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4827,1
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4830,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4832,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:4837,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4839,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4842,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4842,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:4845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - rko_fanout
    - rko_partial
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4847
      start: 4809
    functionDepth: 3
    functionLinenumber: 4809
    functionLinenumberEnd: 4847
    functionName: rd_kafka_DeleteGroups_response_merge
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_error_new
    - rd_kafka_group_result_copy
    - strcmp
    - rd_list_elem
    - rd_list_set
    - rd_kafka_group_result_new
    - rd_list_index
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteGroups_response_merge(rd_kafka_op_t *rko_fanout,\n
      \                                         const rd_kafka_op_t *rko_partial)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4862,1
    - Dst: rd_kafka_admin_fanout_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4864,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4869,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4872,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4879,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4882,1
    - Dst: rd_kafka_DeleteGroup_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4883,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4889,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:4890,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:4891,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_admin.c:4893,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_admin.c:4894,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4895,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:4896,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4899,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4904,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4908,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:4921,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:4922,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:4931,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/src/rdkafka_admin.c:4937,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:4940,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:4942,1
    - Dst: rd_kafka_DeleteGroup_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4943,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:4945,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 5
    argNames:
    - rk
    - del_groups
    - del_group_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_DeleteGroup_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4947
      start: 4849
    functionDepth: 7
    functionLinenumber: 4849
    functionLinenumberEnd: 4947
    functionName: rd_kafka_DeleteGroups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_assert
    - rd_list_sort
    - rd_list_add
    - rd_list_cnt
    - rd_strdup
    - rd_kafka_q_enq
    - rd_list_destroy
    - rd_list_elem
    - rd_kafka_admin_result_fail
    - rd_list_find_duplicate
    - rd_kafka_admin_request_op_new
    - rd_kafka_admin_common_worker_destroy
    - rd_list_init
    - rd_list_copy_to
    - rd_kafka_DeleteGroup_copy
    - rd_kafka_admin_fanout_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteGroups(rd_kafka_t *rk,\n                           rd_kafka_DeleteGroup_t
      **del_groups,\n                           size_t del_group_cnt,\n                           const
      rd_kafka_AdminOptions_t *options,\n                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_groups
      Src: /src/librdkafka/src/rdkafka_admin.c:4959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4961
      start: 4956
    functionDepth: 2
    functionLinenumber: 4956
    functionLinenumberEnd: 4961
    functionName: rd_kafka_DeleteGroups_result_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_result_ret_groups
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: "rd_kafka_group_result_t **rd_kafka_DeleteGroups_result_groups(\n    const
      rd_kafka_DeleteGroups_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:4979,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:4982,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:4985,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:4987,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:4989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - group
    - partitions
    argTypes:
    - char*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4992
      start: 4976
    functionDepth: 1
    functionLinenumber: 4976
    functionLinenumberEnd: 4992
    functionName: rd_kafka_DeleteConsumerGroupOffsets_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_malloc
    - strlen
    - memcpy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_DeleteConsumerGroupOffsets_t
    signature: "rd_kafka_DeleteConsumerGroupOffsets_t *rd_kafka_DeleteConsumerGroupOffsets_new(\n
      \   const char *group,\n    const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:4996,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:4997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - del_grpoffsets
    argTypes:
    - rd_kafka_DeleteConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4998
      start: 4994
    functionDepth: 1
    functionLinenumber: 4994
    functionLinenumberEnd: 4998
    functionName: rd_kafka_DeleteConsumerGroupOffsets_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteConsumerGroupOffsets_destroy(\n    rd_kafka_DeleteConsumerGroupOffsets_t
      *del_grpoffsets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 5000
    functionDepth: 2
    functionLinenumber: 5000
    functionLinenumberEnd: 5002
    functionName: rd_kafka_DeleteConsumerGroupOffsets_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteConsumerGroupOffsets_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - del_grpoffsets
    - del_grpoffsets_cnt
    argTypes:
    - rd_kafka_DeleteConsumerGroupOffsets_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5010
      start: 5004
    functionDepth: 2
    functionLinenumber: 5004
    functionLinenumberEnd: 5010
    functionName: rd_kafka_DeleteConsumerGroupOffsets_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_DeleteConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteConsumerGroupOffsets_destroy_array(\n    rd_kafka_DeleteConsumerGroupOffsets_t
      **del_grpoffsets,\n    size_t del_grpoffsets_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_DeleteConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5021
      start: 5016
    functionDepth: 2
    functionLinenumber: 5016
    functionLinenumberEnd: 5021
    functionName: rd_kafka_DeleteConsumerGroupOffsets_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteConsumerGroupOffsets_new
    linkageType: ''
    returnType: rd_kafka_DeleteConsumerGroupOffsets_t
    signature: "rd_kafka_DeleteConsumerGroupOffsets_t *\nrd_kafka_DeleteConsumerGroupOffsets_copy(\n
      \   const rd_kafka_DeleteConsumerGroupOffsets_t *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:5039,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5041,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5043,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:5047,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:5054,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5057,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5064,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:5065,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5067,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5069,1
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5070,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5072,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5079,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5081,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5027
    functionDepth: 7
    functionLinenumber: 5027
    functionLinenumberEnd: 5083
    functionName: rd_kafka_OffsetDeleteResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - rd_kafka_topic_partition_list_destroy
    - rd_list_elem
    - rd_list_init
    - rd_kafka_group_result_new
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_topic_partitions
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_OffsetDeleteResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:5098,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5100,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:5107,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5111,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5119,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5123,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5125,1
    - Dst: rd_kafka_DeleteConsumerGroupOffsets_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:5127,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:5129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - rk
    - del_grpoffsets
    - del_grpoffsets_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_DeleteConsumerGroupOffsets_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5130
      start: 5086
    functionDepth: 7
    functionLinenumber: 5086
    functionLinenumberEnd: 5130
    functionName: rd_kafka_DeleteConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    - rd_kafka_DeleteConsumerGroupOffsets_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteConsumerGroupOffsets(\n    rd_kafka_t *rk,\n    rd_kafka_DeleteConsumerGroupOffsets_t
      **del_grpoffsets,\n    size_t del_grpoffsets_cnt,\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_groups
      Src: /src/librdkafka/src/rdkafka_admin.c:5143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5145
      start: 5139
    functionDepth: 2
    functionLinenumber: 5139
    functionLinenumberEnd: 5145
    functionName: rd_kafka_DeleteConsumerGroupOffsets_result_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_result_ret_groups
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: "rd_kafka_group_result_t **\nrd_kafka_DeleteConsumerGroupOffsets_result_groups(\n
      \   const rd_kafka_DeleteConsumerGroupOffsets_result_t *result,\n    size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - operation
    argTypes:
    - rd_kafka_AclOperation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5183
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5183
    functionName: rd_kafka_AclOperation_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_AclOperation_name(rd_kafka_AclOperation_t operation)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - permission_type
    argTypes:
    - rd_kafka_AclPermissionType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5194
      start: 5185
    functionDepth: 0
    functionLinenumber: 5185
    functionLinenumberEnd: 5194
    functionName: rd_kafka_AclPermissionType_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_AclPermissionType_name(rd_kafka_AclPermissionType_t permission_type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:5208,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5209,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5211,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5212,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 9
    argNames:
    - restype
    - name
    - resource_pattern_type
    - principal
    - host
    - operation
    - permission_type
    - err
    - errstr
    argTypes:
    - rd_kafka_ResourceType_t
    - char*
    - rd_kafka_ResourcePatternType_t
    - char*
    - char*
    - rd_kafka_AclOperation_t
    - rd_kafka_AclPermissionType_t
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5221
      start: 5196
    functionDepth: 1
    functionLinenumber: 5196
    functionLinenumberEnd: 5221
    functionName: rd_kafka_AclBinding_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: "rd_kafka_AclBinding_t *\nrd_kafka_AclBinding_new0(rd_kafka_ResourceType_t
      restype,\n                         const char *name,\n                         rd_kafka_ResourcePatternType_t
      resource_pattern_type,\n                         const char *principal,\n                         const
      char *host,\n                         rd_kafka_AclOperation_t operation,\n                         rd_kafka_AclPermissionType_t
      permission_type,\n                         rd_kafka_resp_err_t err,\n                         const
      char *errstr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5234,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5238,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5242,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5249,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5257,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5265,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5272,1
    - Dst: rd_kafka_AclBinding_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:5276,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 9
    argNames:
    - restype
    - name
    - resource_pattern_type
    - principal
    - host
    - operation
    - permission_type
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_ResourceType_t
    - char*
    - rd_kafka_ResourcePatternType_t
    - char*
    - char*
    - rd_kafka_AclOperation_t
    - rd_kafka_AclPermissionType_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5279
      start: 5223
    functionDepth: 2
    functionLinenumber: 5223
    functionLinenumberEnd: 5279
    functionName: rd_kafka_AclBinding_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 8
    functionsReached:
    - rd_kafka_AclBinding_new0
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: "rd_kafka_AclBinding_t *\nrd_kafka_AclBinding_new(rd_kafka_ResourceType_t
      restype,\n                        const char *name,\n                        rd_kafka_ResourcePatternType_t
      resource_pattern_type,\n                        const char *principal,\n                        const
      char *host,\n                        rd_kafka_AclOperation_t operation,\n                        rd_kafka_AclPermissionType_t
      permission_type,\n                        char *errstr,\n                        size_t
      errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5295,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5301,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5308,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5314,1
    - Dst: rd_kafka_AclBinding_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:5318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 9
    argNames:
    - restype
    - name
    - resource_pattern_type
    - principal
    - host
    - operation
    - permission_type
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_ResourceType_t
    - char*
    - rd_kafka_ResourcePatternType_t
    - char*
    - char*
    - rd_kafka_AclOperation_t
    - rd_kafka_AclPermissionType_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5321
      start: 5281
    functionDepth: 2
    functionLinenumber: 5281
    functionLinenumberEnd: 5321
    functionName: rd_kafka_AclBindingFilter_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 6
    functionsReached:
    - rd_kafka_AclBinding_new0
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_AclBindingFilter_t
    signature: "rd_kafka_AclBindingFilter_t *rd_kafka_AclBindingFilter_new(\n    rd_kafka_ResourceType_t
      restype,\n    const char *name,\n    rd_kafka_ResourcePatternType_t resource_pattern_type,\n
      \   const char *principal,\n    const char *host,\n    rd_kafka_AclOperation_t
      operation,\n    rd_kafka_AclPermissionType_t permission_type,\n    char *errstr,\n
      \   size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5323
    functionDepth: 0
    functionLinenumber: 5323
    functionLinenumberEnd: 5326
    functionName: rd_kafka_AclBinding_restype
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ResourceType_t
    signature: rd_kafka_ResourceType_t rd_kafka_AclBinding_restype(const rd_kafka_AclBinding_t
      *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5330
      start: 5328
    functionDepth: 0
    functionLinenumber: 5328
    functionLinenumberEnd: 5330
    functionName: rd_kafka_AclBinding_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_AclBinding_name(const rd_kafka_AclBinding_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5334
      start: 5332
    functionDepth: 0
    functionLinenumber: 5332
    functionLinenumberEnd: 5334
    functionName: rd_kafka_AclBinding_principal
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_AclBinding_principal(const rd_kafka_AclBinding_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5338
      start: 5336
    functionDepth: 0
    functionLinenumber: 5336
    functionLinenumberEnd: 5338
    functionName: rd_kafka_AclBinding_host
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_AclBinding_host(const rd_kafka_AclBinding_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5343
      start: 5340
    functionDepth: 0
    functionLinenumber: 5340
    functionLinenumberEnd: 5343
    functionName: rd_kafka_AclBinding_operation
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: rd_kafka_AclOperation_t rd_kafka_AclBinding_operation(const rd_kafka_AclBinding_t
      *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5348
      start: 5345
    functionDepth: 0
    functionLinenumber: 5345
    functionLinenumberEnd: 5348
    functionName: rd_kafka_AclBinding_permission_type
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AclPermissionType_t
    signature: rd_kafka_AclPermissionType_t rd_kafka_AclBinding_permission_type(const
      rd_kafka_AclBinding_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5353
      start: 5350
    functionDepth: 0
    functionLinenumber: 5350
    functionLinenumberEnd: 5353
    functionName: rd_kafka_AclBinding_resource_pattern_type
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ResourcePatternType_t
    signature: rd_kafka_ResourcePatternType_t rd_kafka_AclBinding_resource_pattern_type(const
      rd_kafka_AclBinding_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - acl
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5358
      start: 5355
    functionDepth: 0
    functionLinenumber: 5355
    functionLinenumberEnd: 5358
    functionName: rd_kafka_AclBinding_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_AclBinding_error(const rd_kafka_AclBinding_t *acl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AclBinding_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5367,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:5370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5363
    functionDepth: 3
    functionLinenumber: 5363
    functionLinenumberEnd: 5372
    functionName: rd_kafka_AclBinding_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AclBinding_new
    - rd_assert
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: 'rd_kafka_AclBinding_t *

      rd_kafka_AclBinding_copy(const rd_kafka_AclBinding_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AclBindingFilter_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5381,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:5384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_AclBindingFilter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5386
      start: 5377
    functionDepth: 3
    functionLinenumber: 5377
    functionLinenumberEnd: 5386
    functionName: rd_kafka_AclBindingFilter_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_AclBindingFilter_new
    linkageType: ''
    returnType: rd_kafka_AclBindingFilter_t
    signature: 'rd_kafka_AclBindingFilter_t *

      rd_kafka_AclBindingFilter_copy(const rd_kafka_AclBindingFilter_t *src)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5390,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5392,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5394,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5396,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - acl_binding
    argTypes:
    - rd_kafka_AclBinding_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5398
      start: 5388
    functionDepth: 1
    functionLinenumber: 5388
    functionLinenumberEnd: 5398
    functionName: rd_kafka_AclBinding_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 8
    functionsReached:
    - rd_kafka_error_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_AclBinding_destroy(rd_kafka_AclBinding_t *acl_binding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5402
      start: 5400
    functionDepth: 2
    functionLinenumber: 5400
    functionLinenumberEnd: 5402
    functionName: rd_kafka_AclBinding_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AclBinding_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_AclBinding_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AclBinding_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - acl_bindings
    - acl_bindings_cnt
    argTypes:
    - rd_kafka_AclBinding_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5410
      start: 5405
    functionDepth: 2
    functionLinenumber: 5405
    functionLinenumberEnd: 5410
    functionName: rd_kafka_AclBinding_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 5
    functionsReached:
    - rd_kafka_AclBinding_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AclBinding_destroy_array(rd_kafka_AclBinding_t **acl_bindings,\n
      \                                      size_t acl_bindings_cnt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:5427,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5429,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5431,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:5432,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5436,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5438,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5440,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:5449,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5451,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:5454,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5455,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5457,1
    - Dst: rd_kafka_acl_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5460,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5461,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:5464,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5474,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5476,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5478,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5481
      start: 5415
    functionDepth: 7
    functionLinenumber: 5415
    functionLinenumberEnd: 5481
    functionName: rd_kafka_CreateAclsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_snprintf
    - rd_kafka_error_new
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_err2str
    - rd_kafka_acl_result_new
    - rd_kafka_buf_read_i16
    - rd_list_init
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_CreateAclsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                  rd_kafka_op_t **rko_resultp,\n
      \                                 rd_kafka_buf_t *reply,\n                                  char
      *errstr,\n                                  size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5493,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5497,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5501,1
    - Dst: rd_kafka_AclBinding_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:5502,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:5504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rk
    - new_acls
    - new_acls_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AclBinding_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5483
    functionDepth: 4
    functionLinenumber: 5483
    functionLinenumberEnd: 5505
    functionName: rd_kafka_CreateAcls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_AclBinding_copy
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_CreateAcls(rd_kafka_t *rk,\n                         rd_kafka_AclBinding_t
      **new_acls,\n                         size_t new_acls_cnt,\n                         const
      rd_kafka_AdminOptions_t *options,\n                         rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_acl_results
      Src: /src/librdkafka/src/rdkafka_admin.c:5517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5519
      start: 5514
    functionDepth: 2
    functionLinenumber: 5514
    functionLinenumberEnd: 5519
    functionName: rd_kafka_CreateAcls_result_acls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_result_ret_acl_results
    linkageType: ''
    returnType: rd_kafka_acl_result_t
    signature: "rd_kafka_acl_result_t **\nrd_kafka_CreateAcls_result_acls(const rd_kafka_CreateAcls_result_t
      *result,\n                                size_t *cntp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:5551,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:5553,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5554,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:5557,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5558,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5560,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5564,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5566,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5568,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:5579,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5580,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5581,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:5583,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:5584,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:5589,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:5599,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5608,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5619,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5620,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:5621,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:5622,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5623,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5624,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:5628,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:5639,1
    - Dst: rd_kafka_AclBinding_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:5648,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5653,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5664,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5666,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5668,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5671
      start: 5534
    functionDepth: 7
    functionLinenumber: 5534
    functionLinenumberEnd: 5671
    functionName: rd_kafka_DescribeAclsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_list_add
    - rd_snprintf
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i8
    - rd_kafka_err2str
    - rd_kafka_buf_ApiVersion
    - rd_kafka_buf_read_i16
    - rd_kafka_AclBinding_new0
    - rd_list_init
    - rd_rkb_log
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeAclsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5684,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5688,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5691,1
    - Dst: rd_kafka_AclBindingFilter_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:5692,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:5694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - acl_filter
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AclBindingFilter_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5695
      start: 5673
    functionDepth: 4
    functionLinenumber: 5673
    functionLinenumberEnd: 5695
    functionName: rd_kafka_DescribeAcls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_AclBindingFilter_copy
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeAcls(rd_kafka_t *rk,\n                           rd_kafka_AclBindingFilter_t
      *acl_filter,\n                           const rd_kafka_AdminOptions_t *options,\n
      \                          rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scram_credential_info
    argTypes:
    - rd_kafka_ScramCredentialInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5705
      start: 5702
    functionDepth: 0
    functionLinenumber: 5702
    functionLinenumberEnd: 5705
    functionName: rd_kafka_ScramCredentialInfo_mechanism
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ScramMechanism_t
    signature: "rd_kafka_ScramMechanism_t rd_kafka_ScramCredentialInfo_mechanism(\n
      \   const rd_kafka_ScramCredentialInfo_t *scram_credential_info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - scram_credential_info
    argTypes:
    - rd_kafka_ScramCredentialInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5710
      start: 5707
    functionDepth: 0
    functionLinenumber: 5707
    functionLinenumberEnd: 5710
    functionName: rd_kafka_ScramCredentialInfo_iterations
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_ScramCredentialInfo_iterations(\n    const rd_kafka_ScramCredentialInfo_t
      *scram_credential_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:5723,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5724,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:5731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - username
    - num_credentials
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5734
      start: 5719
    functionDepth: 1
    functionLinenumber: 5719
    functionLinenumberEnd: 5734
    functionName: rd_kafka_UserScramCredentialsDescription_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_UserScramCredentialsDescription_t
    signature: "rd_kafka_UserScramCredentialsDescription_t *\nrd_kafka_UserScramCredentialsDescription_new(const
      char *username,\n                                             size_t num_credentials)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5740,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5741,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5743,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:5744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - description
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5745
      start: 5736
    functionDepth: 1
    functionLinenumber: 5736
    functionLinenumberEnd: 5745
    functionName: rd_kafka_UserScramCredentialsDescription_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_UserScramCredentialsDescription_destroy(\n    rd_kafka_UserScramCredentialsDescription_t
      *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_UserScramCredentialsDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5747
    functionDepth: 2
    functionLinenumber: 5747
    functionLinenumberEnd: 5749
    functionName: rd_kafka_UserScramCredentialsDescription_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_UserScramCredentialsDescription_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_UserScramCredentialsDescription_destroy_free(void *description)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5755,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - description
    - errorcode
    - err
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5757
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5757
    functionName: rd_kafka_UserScramCredentailsDescription_set_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_UserScramCredentailsDescription_set_error(\n    rd_kafka_UserScramCredentialsDescription_t
      *description,\n    rd_kafka_resp_err_t errorcode,\n    const char *err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5762
      start: 5759
    functionDepth: 0
    functionLinenumber: 5759
    functionLinenumberEnd: 5762
    functionName: rd_kafka_UserScramCredentialsDescription_user
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_UserScramCredentialsDescription_user(\n    const rd_kafka_UserScramCredentialsDescription_t
      *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5767
      start: 5764
    functionDepth: 0
    functionLinenumber: 5764
    functionLinenumberEnd: 5767
    functionName: rd_kafka_UserScramCredentialsDescription_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_UserScramCredentialsDescription_error(\n
      \   const rd_kafka_UserScramCredentialsDescription_t *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - description
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5772
      start: 5769
    functionDepth: 0
    functionLinenumber: 5769
    functionLinenumberEnd: 5772
    functionName: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count(\n
      \   const rd_kafka_UserScramCredentialsDescription_t *description)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - description
    - idx
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5779
      start: 5774
    functionDepth: 0
    functionLinenumber: 5774
    functionLinenumberEnd: 5779
    functionName: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ScramCredentialInfo_t
    signature: "rd_kafka_ScramCredentialInfo_t *\nrd_kafka_UserScramCredentialsDescription_scramcredentialinfo(\n
      \   const rd_kafka_UserScramCredentialsDescription_t *description,\n    size_t
      idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5788
      start: 5781
    functionDepth: 1
    functionLinenumber: 5781
    functionLinenumberEnd: 5788
    functionName: rd_kafka_DescribeUserScramCredentials_result_descriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_UserScramCredentialsDescription_t
    signature: "rd_kafka_UserScramCredentialsDescription_t **\nrd_kafka_DescribeUserScramCredentials_result_descriptions(\n
      \   const rd_kafka_DescribeUserScramCredentials_result_t *result,\n    size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_admin.c:5805,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5808,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5815,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_admin.c:5817,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5821,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:5823,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5825,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:5826,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_admin.c:5828,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_admin.c:5830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 8
    argNames:
    - rkb
    - userlist
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5832
      start: 5790
    functionDepth: 8
    functionLinenumber: 5790
    functionLinenumberEnd: 5832
    functionName: rd_kafka_DescribeUserScramCredentialsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_snprintf
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_arraycnt
    - rd_kafka_buf_write_tags_empty
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeUserScramCredentialsRequest(rd_kafka_broker_t
      *rkb,\n                                             const rd_list_t *userlist,\n
      \                                            rd_kafka_AdminOptions_t *options,\n
      \                                            char *errstr,\n                                             size_t
      errstr_size,\n                                             rd_kafka_replyq_t
      replyq,\n                                             rd_kafka_resp_cb_t *resp_cb,\n
      \                                            void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5847,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:5850,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:5853,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5857,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:5859,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5860,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:5862,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5868,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5869,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5878,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:5880,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:5882,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:5886,1
    - Dst: rd_kafka_UserScramCredentialsDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5888,1
    - Dst: rd_kafka_UserScramCredentailsDescription_set_error
      Src: /src/librdkafka/src/rdkafka_admin.c:5890,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:5896,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:5898,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:5899,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:5905,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5906,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5915,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:5917,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:5920,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5923
      start: 5834
    functionDepth: 7
    functionLinenumber: 5834
    functionLinenumberEnd: 5923
    functionName: rd_kafka_DescribeUserScramCredentialsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_UserScramCredentailsDescription_set_error
    - rd_list_add
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i8
    - rd_kafka_err2str
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_kafka_UserScramCredentialsDescription_new
    - rd_list_init
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeUserScramCredentialsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                                    rd_kafka_op_t
      **rko_resultp,\n                                                    rd_kafka_buf_t
      *reply,\n                                                    char *errstr,\n
      \                                                   size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5941,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:5949,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5960,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5962,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:5962,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_admin.c:5964,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_admin.c:5965,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:5966,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5972,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:5975,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:5977,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_admin.c:5978,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:5980,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:5983,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:5984,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - rk
    - users
    - user_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - char**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5985
      start: 5925
    functionDepth: 7
    functionLinenumber: 5925
    functionLinenumberEnd: 5985
    functionName: rd_kafka_DescribeUserScramCredentials
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_sort
    - rd_kafkap_str_new
    - rd_list_add
    - rd_kafka_q_enq
    - rd_list_destroy
    - rd_kafka_admin_common_worker_destroy
    - rd_list_new
    - rd_kafka_admin_result_fail
    - rd_list_find_duplicate
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeUserScramCredentials(\n    rd_kafka_t *rk,\n
      \   const char **users,\n    size_t user_cnt,\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_queue_t *rkqu)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6021,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:6022,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6030,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6033,1
    - Dst: RAND_priv_bytes
      Src: /src/librdkafka/src/rdkafka_admin.c:6037,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - username
    - mechanism
    - iterations
    - password
    - password_size
    - salt
    - salt_size
    argTypes:
    - char*
    - rd_kafka_ScramMechanism_t
    - int32_t
    - unsigned char*
    - size_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6045
      start: 6012
    functionDepth: 2
    functionLinenumber: 6012
    functionLinenumberEnd: 6045
    functionName: rd_kafka_UserScramCredentialUpsertion_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - RAND_priv_bytes
    - rd_strdup
    - rd_calloc
    - rd_kafkap_bytes_new
    linkageType: ''
    returnType: rd_kafka_UserScramCredentialAlteration_t
    signature: "rd_kafka_UserScramCredentialAlteration_t *\nrd_kafka_UserScramCredentialUpsertion_new(const
      char *username,\n                                          rd_kafka_ScramMechanism_t
      mechanism,\n                                          int32_t iterations,\n
      \                                         const unsigned char *password,\n                                          size_t
      password_size,\n                                          const unsigned char
      *salt,\n                                          size_t salt_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6051,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:6052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - username
    - mechanism
    argTypes:
    - char*
    - rd_kafka_ScramMechanism_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6057
      start: 6047
    functionDepth: 1
    functionLinenumber: 6047
    functionLinenumberEnd: 6057
    functionName: rd_kafka_UserScramCredentialDeletion_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_UserScramCredentialAlteration_t
    signature: "rd_kafka_UserScramCredentialAlteration_t *\nrd_kafka_UserScramCredentialDeletion_new(const
      char *username,\n                                         rd_kafka_ScramMechanism_t
      mechanism)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6063,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6066,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6067,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6070,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - alteration
    argTypes:
    - rd_kafka_UserScramCredentialAlteration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6071
      start: 6059
    functionDepth: 2
    functionLinenumber: 6059
    functionLinenumberEnd: 6071
    functionName: rd_kafka_UserScramCredentialAlteration_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafkap_bytes_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_UserScramCredentialAlteration_destroy(\n    rd_kafka_UserScramCredentialAlteration_t
      *alteration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alteration
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6075
      start: 6073
    functionDepth: 3
    functionLinenumber: 6073
    functionLinenumberEnd: 6075
    functionName: rd_kafka_UserScramCredentialAlteration_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_UserScramCredentialAlteration_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_UserScramCredentialAlteration_destroy_free(void *alteration)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - alterations
    - alteration_cnt
    argTypes:
    - rd_kafka_UserScramCredentialAlteration_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6083
      start: 6077
    functionDepth: 3
    functionLinenumber: 6077
    functionLinenumberEnd: 6083
    functionName: rd_kafka_UserScramCredentialAlteration_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_UserScramCredentialAlteration_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_UserScramCredentialAlteration_destroy_array(\n    rd_kafka_UserScramCredentialAlteration_t
      **alterations,\n    size_t alteration_cnt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6089,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:6090,1
    - Dst: rd_kafkap_bytes_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6096,1
    - Dst: rd_kafkap_bytes_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6098,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - alteration
    argTypes:
    - rd_kafka_UserScramCredentialAlteration_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6114
      start: 6085
    functionDepth: 3
    functionLinenumber: 6085
    functionLinenumberEnd: 6114
    functionName: rd_kafka_UserScramCredentialAlteration_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    - rd_kafkap_bytes_copy
    linkageType: ''
    returnType: rd_kafka_UserScramCredentialAlteration_t
    signature: "rd_kafka_UserScramCredentialAlteration_t *\nrd_kafka_UserScramCredentialAlteration_copy(\n
      \   const rd_kafka_UserScramCredentialAlteration_t *alteration)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6124,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:6125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - username
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6128
      start: 6121
    functionDepth: 1
    functionLinenumber: 6121
    functionLinenumberEnd: 6128
    functionName: rd_kafka_AlterUserScramCredentials_result_response_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_AlterUserScramCredentials_result_response_t
    signature: 'rd_kafka_AlterUserScramCredentials_result_response_t *

      rd_kafka_AlterUserScramCredentials_result_response_new(const char *username)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6133,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6134,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - response
    argTypes:
    - rd_kafka_AlterUserScramCredentials_result_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6136
      start: 6130
    functionDepth: 1
    functionLinenumber: 6130
    functionLinenumberEnd: 6136
    functionName: rd_kafka_AlterUserScramCredentials_result_response_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterUserScramCredentials_result_response_destroy(\n
      \   rd_kafka_AlterUserScramCredentials_result_response_t *response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6141
      start: 6138
    functionDepth: 2
    functionLinenumber: 6138
    functionLinenumberEnd: 6141
    functionName: rd_kafka_AlterUserScramCredentials_result_response_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AlterUserScramCredentials_result_response_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterUserScramCredentials_result_response_destroy_free(\n
      \   void *response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6147,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - response
    - errorcode
    - errstr
    argTypes:
    - rd_kafka_AlterUserScramCredentials_result_response_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6149
      start: 6143
    functionDepth: 1
    functionLinenumber: 6143
    functionLinenumberEnd: 6149
    functionName: rd_kafka_AlterUserScramCredentials_result_response_set_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterUserScramCredentials_result_response_set_error(\n
      \   rd_kafka_AlterUserScramCredentials_result_response_t *response,\n    rd_kafka_resp_err_t
      errorcode,\n    const char *errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - rd_kafka_AlterUserScramCredentials_result_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6154
      start: 6151
    functionDepth: 0
    functionLinenumber: 6151
    functionLinenumberEnd: 6154
    functionName: rd_kafka_AlterUserScramCredentials_result_response_user
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_AlterUserScramCredentials_result_response_user(\n    const
      rd_kafka_AlterUserScramCredentials_result_response_t *response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - response
    argTypes:
    - rd_kafka_AlterUserScramCredentials_result_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6160
      start: 6156
    functionDepth: 0
    functionLinenumber: 6156
    functionLinenumberEnd: 6160
    functionName: rd_kafka_AlterUserScramCredentials_result_response_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_AlterUserScramCredentials_result_response_error(\n
      \   const rd_kafka_AlterUserScramCredentials_result_response_t *response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6169
      start: 6162
    functionDepth: 1
    functionLinenumber: 6162
    functionLinenumberEnd: 6169
    functionName: rd_kafka_AlterUserScramCredentials_result_responses
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_AlterUserScramCredentials_result_response_t
    signature: "rd_kafka_AlterUserScramCredentials_result_response_t **\nrd_kafka_AlterUserScramCredentials_result_responses(\n
      \   const rd_kafka_AlterUserScramCredentials_result_t *result,\n    size_t *cntp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_admin.c:6181,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6185,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6189,1
    - Dst: EVP_sha256
      Src: /src/librdkafka/src/rdkafka_admin.c:6193,1
    - Dst: EVP_sha512
      Src: /src/librdkafka/src/rdkafka_admin.c:6195,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:6196,1
    - Dst: rd_kafka_ssl_hmac
      Src: /src/librdkafka/src/rdkafka_admin.c:6198,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - rkb
    - salt
    - password
    - mechanism
    - iterations
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_bytes_t*
    - rd_kafkap_bytes_t*
    - rd_kafka_ScramMechanism_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6204
      start: 6173
    functionDepth: 2
    functionLinenumber: 6173
    functionLinenumberEnd: 6204
    functionName: rd_kafka_AlterUserScramCredentialsRequest_salted_password
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - RD_KAFKAP_BYTES_LEN
    - EVP_sha512
    - rd_alloca
    - EVP_sha256
    - rd_kafkap_bytes_new
    - rd_kafka_ssl_hmac
    linkageType: ''
    returnType: rd_kafkap_bytes_t
    signature: "rd_kafkap_bytes_t *\nrd_kafka_AlterUserScramCredentialsRequest_salted_password(\n
      \   rd_kafka_broker_t *rkb,\n    rd_kafkap_bytes_t *salt,\n    rd_kafkap_bytes_t
      *password,\n    rd_kafka_ScramMechanism_t mechanism,\n    int32_t iterations)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_admin.c:6224,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:6227,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6234,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_admin.c:6236,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_admin.c:6243,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:6247,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6254,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:6255,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6257,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:6259,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6261,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6266,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:6269,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:6275,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:6278,1
    - Dst: rd_kafka_buf_write_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6284,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6287,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:6290,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_admin.c:6293,1
    - Dst: rd_kafka_AlterUserScramCredentialsRequest_salted_password
      Src: /src/librdkafka/src/rdkafka_admin.c:6297,1
    - Dst: rd_kafka_buf_write_kbytes
      Src: /src/librdkafka/src/rdkafka_admin.c:6303,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6304,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:6305,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_admin.c:6309,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_admin.c:6310,1
    - Dst: rd_kafka_broker_buf_enq_replyq
      Src: /src/librdkafka/src/rdkafka_admin.c:6311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 8
    argNames:
    - rkb
    - user_scram_credential_alterations
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6313
      start: 6207
    functionDepth: 8
    functionLinenumber: 6207
    functionLinenumberEnd: 6313
    functionName: rd_kafka_AlterUserScramCredentialsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_assert
    - rd_snprintf
    - rd_kafka_buf_write_kbytes
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_broker_buf_enq_replyq
    - rd_kafka_buf_write_arraycnt
    - rd_list_elem
    - rd_kafka_buf_new_flexver_request
    - rd_kafka_buf_write_str
    - rd_kafka_buf_ApiVersion_set
    - rd_kafka_buf_write_tags_empty
    - rd_kafkap_bytes_destroy
    - rd_kafka_buf_write_arraycnt_pos
    - rd_list_cnt
    - rd_kafka_AlterUserScramCredentialsRequest_salted_password
    - strlen
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterUserScramCredentialsRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *user_scram_credential_alterations,\n    rd_kafka_AdminOptions_t
      *options,\n    char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t
      replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6326,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:6329,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6332,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6334,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6343,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:6346,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6349,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:6351,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6354,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_set_error
      Src: /src/librdkafka/src/rdkafka_admin.c:6356,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6358,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6366,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:6368,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6374
      start: 6315
    functionDepth: 7
    functionLinenumber: 6315
    functionLinenumberEnd: 6374
    functionName: rd_kafka_AlterUserScramCredentialsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_AlterUserScramCredentials_result_response_new
    - rd_kafka_AlterUserScramCredentials_result_response_set_error
    - rd_list_add
    - rd_snprintf
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_skip_tags
    - rd_kafka_err2str
    - rd_kafka_buf_read_i16
    - rd_list_init
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterUserScramCredentialsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                                 rd_kafka_op_t **rko_resultp,\n
      \                                                rd_kafka_buf_t *reply,\n                                                 char
      *errstr,\n                                                 size_t errstr_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6391,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6430,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6441,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6460,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6462,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6467,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6470,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6475,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6479,1
    - Dst: rd_kafka_UserScramCredentialAlteration_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6480,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:6483,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 5
    argNames:
    - rk
    - alterations
    - alteration_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_UserScramCredentialAlteration_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6485
      start: 6376
    functionDepth: 7
    functionLinenumber: 6376
    functionLinenumberEnd: 6485
    functionName: rd_kafka_AlterUserScramCredentials
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_add
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_UserScramCredentialAlteration_copy
    - rd_kafka_q_enq
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_admin_result_fail
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterUserScramCredentials(\n    rd_kafka_t *rk,\n    rd_kafka_UserScramCredentialAlteration_t
      **alterations,\n    size_t alteration_cnt,\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_acl_bindings
      Src: /src/librdkafka/src/rdkafka_admin.c:6497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6499
      start: 6494
    functionDepth: 2
    functionLinenumber: 6494
    functionLinenumberEnd: 6499
    functionName: rd_kafka_DescribeAcls_result_acls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_result_ret_acl_bindings
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: "rd_kafka_AclBinding_t **\nrd_kafka_DescribeAcls_result_acls(const
      rd_kafka_DescribeAcls_result_t *result,\n                                  size_t
      *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6519,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6521,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6522,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - err
    - errstr
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6529
      start: 6515
    functionDepth: 3
    functionLinenumber: 6515
    functionLinenumberEnd: 6529
    functionName: rd_kafka_DeleteAcls_result_response_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_list_init
    - rd_calloc
    - rd_kafka_err2str
    linkageType: ''
    returnType: rd_kafka_DeleteAcls_result_response_t
    signature: 'rd_kafka_DeleteAcls_result_response_t *

      rd_kafka_DeleteAcls_result_response_new(rd_kafka_resp_err_t err, char *errstr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6534,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6535,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - resp
    argTypes:
    - rd_kafka_DeleteAcls_result_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6537
      start: 6531
    functionDepth: 3
    functionLinenumber: 6531
    functionLinenumberEnd: 6537
    functionName: rd_kafka_DeleteAcls_result_response_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_kafka_error_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteAcls_result_response_destroy(\n    rd_kafka_DeleteAcls_result_response_t
      *resp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DeleteAcls_result_response_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6542
      start: 6539
    functionDepth: 4
    functionLinenumber: 6539
    functionLinenumberEnd: 6542
    functionName: rd_kafka_DeleteAcls_result_response_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DeleteAcls_result_response_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_DeleteAcls_result_response_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_delete_acl_result_responses
      Src: /src/librdkafka/src/rdkafka_admin.c:6554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6556
      start: 6551
    functionDepth: 2
    functionLinenumber: 6551
    functionLinenumberEnd: 6556
    functionName: rd_kafka_DeleteAcls_result_responses
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_result_ret_delete_acl_result_responses
    linkageType: ''
    returnType: rd_kafka_DeleteAcls_result_response_t
    signature: "rd_kafka_DeleteAcls_result_response_t **\nrd_kafka_DeleteAcls_result_responses(const
      rd_kafka_DeleteAcls_result_t *result,\n                                     size_t
      *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result_response
    argTypes:
    - rd_kafka_DeleteAcls_result_response_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6561
      start: 6558
    functionDepth: 0
    functionLinenumber: 6558
    functionLinenumberEnd: 6561
    functionName: rd_kafka_DeleteAcls_result_response_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_DeleteAcls_result_response_error(\n    const
      rd_kafka_DeleteAcls_result_response_t *result_response)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6569
      start: 6563
    functionDepth: 0
    functionLinenumber: 6563
    functionLinenumberEnd: 6569
    functionName: rd_kafka_DeleteAcls_result_response_matching_acls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AclBinding_t
    signature: "rd_kafka_AclBinding_t **rd_kafka_DeleteAcls_result_response_matching_acls(\n
      \   const rd_kafka_DeleteAcls_result_response_t *result_response,\n    size_t
      *matching_acls_cntp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:6588,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6591,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6593,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6595,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:6605,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6606,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:6609,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6610,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6611,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:6613,1
    - Dst: rd_kafka_DeleteAcls_result_response_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6617,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6620,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:6640,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6641,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:6643,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:6644,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6645,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:6648,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6652,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6653,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:6655,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6656,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6660,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:6661,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6662,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_admin.c:6663,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:6664,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:6665,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:6666,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:6670,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:6681,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:6691,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_admin.c:6702,1
    - Dst: rd_kafka_AclBinding_new0
      Src: /src/librdkafka/src/rdkafka_admin.c:6711,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6716,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6721,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6731,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:6733,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6735,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6738
      start: 6574
    functionDepth: 7
    functionLinenumber: 6574
    functionLinenumberEnd: 6738
    functionName: rd_kafka_DeleteAclsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_DeleteAcls_result_response_new
    - rd_list_add
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i8
    - rd_kafka_err2str
    - rd_kafka_buf_ApiVersion
    - rd_kafka_buf_read_i16
    - rd_kafka_AclBinding_new0
    - rd_list_init
    - rd_rkb_log
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DeleteAclsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                  rd_kafka_op_t **rko_resultp,\n
      \                                 rd_kafka_buf_t *reply,\n                                  char
      *errstr,\n                                  size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6751,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6755,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6759,1
    - Dst: rd_kafka_AclBindingFilter_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6760,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:6762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rk
    - del_acls
    - del_acls_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AclBindingFilter_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6763
      start: 6741
    functionDepth: 4
    functionLinenumber: 6741
    functionLinenumberEnd: 6763
    functionName: rd_kafka_DeleteAcls
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_AclBindingFilter_copy
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DeleteAcls(rd_kafka_t *rk,\n                         rd_kafka_AclBindingFilter_t
      **del_acls,\n                         size_t del_acls_cnt,\n                         const
      rd_kafka_AdminOptions_t *options,\n                         rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:6779,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:6781,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:6785,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:6787,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - group_id
    - partitions
    argTypes:
    - char*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6792
      start: 6776
    functionDepth: 1
    functionLinenumber: 6776
    functionLinenumberEnd: 6792
    functionName: rd_kafka_AlterConsumerGroupOffsets_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_malloc
    - strlen
    - memcpy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_AlterConsumerGroupOffsets_t
    signature: "rd_kafka_AlterConsumerGroupOffsets_t *rd_kafka_AlterConsumerGroupOffsets_new(\n
      \   const char *group_id,\n    const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6796,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:6797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - alter_grpoffsets
    argTypes:
    - rd_kafka_AlterConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6798
      start: 6794
    functionDepth: 1
    functionLinenumber: 6794
    functionLinenumberEnd: 6798
    functionName: rd_kafka_AlterConsumerGroupOffsets_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterConsumerGroupOffsets_destroy(\n    rd_kafka_AlterConsumerGroupOffsets_t
      *alter_grpoffsets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6802
      start: 6800
    functionDepth: 2
    functionLinenumber: 6800
    functionLinenumberEnd: 6802
    functionName: rd_kafka_AlterConsumerGroupOffsets_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AlterConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_AlterConsumerGroupOffsets_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - alter_grpoffsets
    - alter_grpoffsets_cnt
    argTypes:
    - rd_kafka_AlterConsumerGroupOffsets_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6810
      start: 6804
    functionDepth: 2
    functionLinenumber: 6804
    functionLinenumberEnd: 6810
    functionName: rd_kafka_AlterConsumerGroupOffsets_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_AlterConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterConsumerGroupOffsets_destroy_array(\n    rd_kafka_AlterConsumerGroupOffsets_t
      **alter_grpoffsets,\n    size_t alter_grpoffsets_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_AlterConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6820
      start: 6815
    functionDepth: 2
    functionLinenumber: 6815
    functionLinenumberEnd: 6820
    functionName: rd_kafka_AlterConsumerGroupOffsets_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AlterConsumerGroupOffsets_new
    linkageType: ''
    returnType: rd_kafka_AlterConsumerGroupOffsets_t
    signature: "rd_kafka_AlterConsumerGroupOffsets_t *\nrd_kafka_AlterConsumerGroupOffsets_copy(\n
      \   const rd_kafka_AlterConsumerGroupOffsets_t *src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:6839,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:6841,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:6841,1
    - Dst: rd_kafka_consumer_group_metadata_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6845,1
    - Dst: rd_kafka_OffsetCommitRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:6847,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6850,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:6852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - rkb
    - alter_grpoffsets
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6858
      start: 6828
    functionDepth: 9
    functionLinenumber: 6828
    functionLinenumberEnd: 6858
    functionName: rd_kafka_AlterConsumerGroupOffsetsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_OffsetCommitRequest
    - rd_list_cnt
    - rd_snprintf
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_consumer_group_metadata_new
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterConsumerGroupOffsetsRequest(\n    rd_kafka_broker_t
      *rkb,\n    /* (rd_kafka_AlterConsumerGroupOffsets_t*) */\n    const rd_list_t
      *alter_grpoffsets,\n    rd_kafka_AdminOptions_t *options,\n    char *errstr,\n
      \   size_t errstr_size,\n    rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t
      *resp_cb,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:6875,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6877,1
    - Dst: rd_kafka_handle_OffsetCommit
      Src: /src/librdkafka/src/rdkafka_admin.c:6881,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6885,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6886,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6888,1
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6889,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6891,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:6895,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:6898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6901
      start: 6863
    functionDepth: 7
    functionLinenumber: 6863
    functionLinenumberEnd: 6901
    functionName: rd_kafka_AlterConsumerGroupOffsetsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_handle_OffsetCommit
    - rd_kafka_topic_partition_list_destroy
    - rd_list_elem
    - rd_list_init
    - rd_kafka_group_result_new
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_AlterConsumerGroupOffsetsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                                 rd_kafka_op_t **rko_resultp,\n
      \                                                rd_kafka_buf_t *reply,\n                                                 char
      *errstr,\n                                                 size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:6917,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:6919,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6926,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6934,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6942,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6955,1
    - Dst: rd_kafka_topic_partition_list_has_duplicates
      Src: /src/librdkafka/src/rdkafka_admin.c:6956,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6958,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:6959,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6963,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:6968,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:6972,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:6974,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:6975,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:6978,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:6981,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 5
    argNames:
    - rk
    - alter_grpoffsets
    - alter_grpoffsets_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AlterConsumerGroupOffsets_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6982
      start: 6903
    functionDepth: 7
    functionLinenumber: 6903
    functionLinenumberEnd: 6982
    functionName: rd_kafka_AlterConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_AlterConsumerGroupOffsets_copy
    - rd_kafka_topic_partition_list_has_duplicates
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_admin_result_fail
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_AlterConsumerGroupOffsets(\n    rd_kafka_t *rk,\n    rd_kafka_AlterConsumerGroupOffsets_t
      **alter_grpoffsets,\n    size_t alter_grpoffsets_cnt,\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_groups
      Src: /src/librdkafka/src/rdkafka_admin.c:6994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6996
      start: 6990
    functionDepth: 2
    functionLinenumber: 6990
    functionLinenumberEnd: 6996
    functionName: rd_kafka_AlterConsumerGroupOffsets_result_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_result_ret_groups
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: "rd_kafka_group_result_t **\nrd_kafka_AlterConsumerGroupOffsets_result_groups(\n
      \   const rd_kafka_AlterConsumerGroupOffsets_result_t *result,\n    size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_admin.c:7015,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7018,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7021,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:7023,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - group_id
    - partitions
    argTypes:
    - char*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7030
      start: 7012
    functionDepth: 1
    functionLinenumber: 7012
    functionLinenumberEnd: 7030
    functionName: rd_kafka_ListConsumerGroupOffsets_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_calloc
    - strlen
    - memcpy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroupOffsets_t
    signature: "rd_kafka_ListConsumerGroupOffsets_t *rd_kafka_ListConsumerGroupOffsets_new(\n
      \   const char *group_id,\n    const rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7035,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7038,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list_grpoffsets
    argTypes:
    - rd_kafka_ListConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7039
      start: 7032
    functionDepth: 1
    functionLinenumber: 7032
    functionLinenumberEnd: 7039
    functionName: rd_kafka_ListConsumerGroupOffsets_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroupOffsets_destroy(\n    rd_kafka_ListConsumerGroupOffsets_t
      *list_grpoffsets)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7043
      start: 7041
    functionDepth: 2
    functionLinenumber: 7041
    functionLinenumberEnd: 7043
    functionName: rd_kafka_ListConsumerGroupOffsets_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ListConsumerGroupOffsets_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - list_grpoffsets
    - list_grpoffsets_cnt
    argTypes:
    - rd_kafka_ListConsumerGroupOffsets_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7051
      start: 7045
    functionDepth: 2
    functionLinenumber: 7045
    functionLinenumberEnd: 7051
    functionName: rd_kafka_ListConsumerGroupOffsets_destroy_array
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_ListConsumerGroupOffsets_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroupOffsets_destroy_array(\n    rd_kafka_ListConsumerGroupOffsets_t
      **list_grpoffsets,\n    size_t list_grpoffsets_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_ListConsumerGroupOffsets_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7061
      start: 7056
    functionDepth: 2
    functionLinenumber: 7056
    functionLinenumberEnd: 7061
    functionName: rd_kafka_ListConsumerGroupOffsets_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListConsumerGroupOffsets_new
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroupOffsets_t
    signature: "rd_kafka_ListConsumerGroupOffsets_t *\nrd_kafka_ListConsumerGroupOffsets_copy(\n
      \   const rd_kafka_ListConsumerGroupOffsets_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:7082,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7084,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7084,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:7086,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:7088,1
    - Dst: rd_kafka_OffsetFetchRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:7089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - rkb
    - list_grpoffsets
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7093
      start: 7069
    functionDepth: 9
    functionLinenumber: 7069
    functionLinenumberEnd: 7093
    functionName: rd_kafka_ListConsumerGroupOffsetsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_OffsetFetchRequest
    - rd_assert
    - rd_list_cnt
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ListConsumerGroupOffsetsRequest(\n    rd_kafka_broker_t
      *rkb,\n    /* (rd_kafka_ListConsumerGroupOffsets_t*) */\n    const rd_list_t
      *list_grpoffsets,\n    rd_kafka_AdminOptions_t *options,\n    char *errstr,\n
      \   size_t errstr_size,\n    rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t
      *resp_cb,\n    void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:7105,1
    - Dst: rd_kafka_handle_OffsetFetch
      Src: /src/librdkafka/src/rdkafka_admin.c:7114,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_admin.c:7118,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7124,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7125,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7127,1
    - Dst: rd_kafka_group_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7128,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_admin.c:7131,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7132,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_admin.c:7138,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7139,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:7141,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:7143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7146
      start: 7098
    functionDepth: 7
    functionLinenumber: 7098
    functionLinenumberEnd: 7146
    functionName: rd_kafka_ListConsumerGroupOffsetsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - likely
    - rd_list_add
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_handle_OffsetFetch
    - rd_kafka_topic_partition_list_destroy
    - rd_list_elem
    - rd_list_init
    - rd_kafka_group_result_new
    - unlikely
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ListConsumerGroupOffsetsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                                rd_kafka_op_t **rko_resultp,\n
      \                                               rd_kafka_buf_t *reply,\n                                                char
      *errstr,\n                                                size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7161,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7163,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:7170,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:7181,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7192,1
    - Dst: rd_kafka_topic_partition_list_has_duplicates
      Src: /src/librdkafka/src/rdkafka_admin.c:7194,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7196,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:7197,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7202,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7208,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7212,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7214,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7215,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:7217,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - rk
    - list_grpoffsets
    - list_grpoffsets_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ListConsumerGroupOffsets_t**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7221
      start: 7148
    functionDepth: 7
    functionLinenumber: 7148
    functionLinenumberEnd: 7221
    functionName: rd_kafka_ListConsumerGroupOffsets
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_ListConsumerGroupOffsets_copy
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_has_duplicates
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_admin_result_fail
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroupOffsets(\n    rd_kafka_t *rk,\n    rd_kafka_ListConsumerGroupOffsets_t
      **list_grpoffsets,\n    size_t list_grpoffsets_cnt,\n    const rd_kafka_AdminOptions_t
      *options,\n    rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_result_ret_groups
      Src: /src/librdkafka/src/rdkafka_admin.c:7233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7235
      start: 7230
    functionDepth: 2
    functionLinenumber: 7230
    functionLinenumberEnd: 7235
    functionName: rd_kafka_ListConsumerGroupOffsets_result_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_admin_result_ret_groups
    linkageType: ''
    returnType: rd_kafka_group_result_t
    signature: "rd_kafka_group_result_t **rd_kafka_ListConsumerGroupOffsets_result_groups(\n
      \   const rd_kafka_ListConsumerGroupOffsets_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7263,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - group_id
    - is_simple_consumer_group
    - state
    - type
    argTypes:
    - char*
    - rd_bool_t
    - rd_kafka_consumer_group_state_t
    - rd_kafka_consumer_group_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7269
      start: 7257
    functionDepth: 1
    functionLinenumber: 7257
    functionLinenumberEnd: 7269
    functionName: rd_kafka_ConsumerGroupListing_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupListing_t
    signature: "rd_kafka_ConsumerGroupListing_t *\nrd_kafka_ConsumerGroupListing_new(const
      char *group_id,\n                                  rd_bool_t is_simple_consumer_group,\n
      \                                 rd_kafka_consumer_group_state_t state,\n                                  rd_kafka_consumer_group_type_t
      type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupListing_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7282
      start: 7277
    functionDepth: 2
    functionLinenumber: 7277
    functionLinenumberEnd: 7282
    functionName: rd_kafka_ConsumerGroupListing_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupListing_new
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupListing_t
    signature: "rd_kafka_ConsumerGroupListing_t *rd_kafka_ConsumerGroupListing_copy(\n
      \   const rd_kafka_ConsumerGroupListing_t *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupListing_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - grplist
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7291
      start: 7288
    functionDepth: 3
    functionLinenumber: 7288
    functionLinenumberEnd: 7291
    functionName: rd_kafka_ConsumerGroupListing_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupListing_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_ConsumerGroupListing_copy_opaque(const void *grplist,\n
      \                                                      void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:7295,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7297
      start: 7293
    functionDepth: 1
    functionLinenumber: 7293
    functionLinenumberEnd: 7297
    functionName: rd_kafka_ConsumerGroupListing_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ConsumerGroupListing_destroy(\n    rd_kafka_ConsumerGroupListing_t
      *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupListing_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7301
      start: 7299
    functionDepth: 2
    functionLinenumber: 7299
    functionLinenumberEnd: 7301
    functionName: rd_kafka_ConsumerGroupListing_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupListing_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConsumerGroupListing_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7306
      start: 7303
    functionDepth: 0
    functionLinenumber: 7303
    functionLinenumberEnd: 7306
    functionName: rd_kafka_ConsumerGroupListing_group_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ConsumerGroupListing_group_id(\n    const rd_kafka_ConsumerGroupListing_t
      *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7311
      start: 7308
    functionDepth: 0
    functionLinenumber: 7308
    functionLinenumberEnd: 7311
    functionName: rd_kafka_ConsumerGroupListing_is_simple_consumer_group
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ConsumerGroupListing_is_simple_consumer_group(\n    const
      rd_kafka_ConsumerGroupListing_t *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7316
      start: 7313
    functionDepth: 0
    functionLinenumber: 7313
    functionLinenumberEnd: 7316
    functionName: rd_kafka_ConsumerGroupListing_state
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_consumer_group_state_t
    signature: "rd_kafka_consumer_group_state_t rd_kafka_ConsumerGroupListing_state(\n
      \   const rd_kafka_ConsumerGroupListing_t *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grplist
    argTypes:
    - rd_kafka_ConsumerGroupListing_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7321
      start: 7318
    functionDepth: 0
    functionLinenumber: 7318
    functionLinenumberEnd: 7321
    functionName: rd_kafka_ConsumerGroupListing_type
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_consumer_group_type_t
    signature: "rd_kafka_consumer_group_type_t rd_kafka_ConsumerGroupListing_type(\n
      \   const rd_kafka_ConsumerGroupListing_t *grplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7333,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7334,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:7335,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7337,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:7338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - valid
    - errors
    argTypes:
    - rd_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7340
      start: 7329
    functionDepth: 4
    functionLinenumber: 7329
    functionLinenumberEnd: 7340
    functionName: rd_kafka_ListConsumerGroupsResult_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_copy_to
    - rd_calloc
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroupsResult_t
    signature: "rd_kafka_ListConsumerGroupsResult_t *\nrd_kafka_ListConsumerGroupsResult_new(const
      rd_list_t *valid,\n                                      const rd_list_t *errors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7344,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7345,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - res
    argTypes:
    - rd_kafka_ListConsumerGroupsResult_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7347
      start: 7342
    functionDepth: 3
    functionLinenumber: 7342
    functionLinenumberEnd: 7347
    functionName: rd_kafka_ListConsumerGroupsResult_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroupsResult_destroy(\n    rd_kafka_ListConsumerGroupsResult_t
      *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupsResult_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7351
      start: 7349
    functionDepth: 4
    functionLinenumber: 7349
    functionLinenumberEnd: 7351
    functionName: rd_kafka_ListConsumerGroupsResult_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListConsumerGroupsResult_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ListConsumerGroupsResult_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupsResult_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - res
    argTypes:
    - rd_kafka_ListConsumerGroupsResult_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7365
      start: 7361
    functionDepth: 5
    functionLinenumber: 7361
    functionLinenumberEnd: 7365
    functionName: rd_kafka_ListConsumerGroupsResult_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListConsumerGroupsResult_new
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroupsResult_t
    signature: "rd_kafka_ListConsumerGroupsResult_t *\nrd_kafka_ListConsumerGroupsResult_copy(\n
      \   const rd_kafka_ListConsumerGroupsResult_t *res)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroupsResult_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7374
      start: 7371
    functionDepth: 6
    functionLinenumber: 7371
    functionLinenumberEnd: 7374
    functionName: rd_kafka_ListConsumerGroupsResult_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ListConsumerGroupsResult_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_ListConsumerGroupsResult_copy_opaque(const void *list,\n
      \                                                          void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_get_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:7395,1
    - Dst: rd_kafka_confval_get_ptr
      Src: /src/librdkafka/src/rdkafka_admin.c:7398,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7402,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7403,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7404,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/src/rdkafka_admin.c:7406,1
    - Dst: rd_list_get_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:7407,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7412,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7413,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7414,1
    - Dst: rd_kafka_consumer_group_type_name
      Src: /src/librdkafka/src/rdkafka_admin.c:7416,1
    - Dst: rd_list_get_int32
      Src: /src/librdkafka/src/rdkafka_admin.c:7417,1
    - Dst: rd_kafka_ListGroupsRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:7420,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7425,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7429,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:7433,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_admin.c:7434,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_admin.c:7435,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - rkb
    - groups
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7441
      start: 7379
    functionDepth: 9
    functionLinenumber: 7379
    functionLinenumberEnd: 7441
    functionName: rd_kafka_admin_ListConsumerGroupsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_confval_get_ptr
    - rd_list_cnt
    - rd_snprintf
    - rd_list_get_int32
    - rd_kafka_consumer_group_type_name
    - rd_kafka_ListGroupsRequest
    - rd_calloc
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_consumer_group_state_name
    - rd_kafka_error_code
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_ListConsumerGroupsRequest(rd_kafka_broker_t
      *rkb,\n                                         const rd_list_t *groups /*(char*)*/,\n
      \                                        rd_kafka_AdminOptions_t *options,\n
      \                                        char *errstr,\n                                         size_t
      errstr_size,\n                                         rd_kafka_replyq_t replyq,\n
      \                                        rd_kafka_resp_cb_t *resp_cb,\n                                         void
      *opaque)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:7463,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:7465,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:7467,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7469,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_admin.c:7473,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:7474,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7477,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7478,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7479,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7481,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7483,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7484,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:7497,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:7498,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:7500,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:7503,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:7505,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:7507,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:7508,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:7510,1
    - Dst: rd_kafka_consumer_group_state_code
      Src: /src/librdkafka/src/rdkafka_admin.c:7511,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:7515,1
    - Dst: rd_kafka_consumer_group_type_code
      Src: /src/librdkafka/src/rdkafka_admin.c:7517,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:7522,1
    - Dst: rd_kafka_ConsumerGroupListing_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7524,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7526,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7529,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7530,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7531,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7532,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:7538,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7542,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7544,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7546,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7548,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7552,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_admin.c:7557,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:7557,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7558,1
    - Dst: rd_kafka_ListConsumerGroupsResult_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7561,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7562,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7565,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7566,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7568
      start: 7446
    functionDepth: 7
    functionLinenumber: 7446
    functionLinenumberEnd: 7568
    functionName: rd_kafka_ListConsumerGroupsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_id
    - rd_kafka_buf_read_str
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_ApiVersion
    - RD_KAFKAP_STR_DUP
    - rd_list_destroy
    - rd_kafka_err2str
    - rd_list_init
    - rd_kafka_buf_read_arraycnt
    - strcmp
    - rd_kafka_buf_read_i16
    - rd_kafka_admin_result_new
    - rd_free
    - rd_kafka_consumer_group_state_code
    - rd_list_add
    - rd_kafka_error_new
    - rd_kafka_consumer_group_type_code
    - rd_kafka_ListConsumerGroupsResult_new
    - rd_kafka_ConsumerGroupListing_new
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ListConsumerGroupsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                          rd_kafka_op_t **rko_resultp,\n
      \                                         rd_kafka_buf_t *reply,\n                                          char
      *errstr,\n                                          size_t errstr_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7581,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7584,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:7586,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7589,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7590,1
    - Dst: rd_kafka_ListConsumerGroupsResult_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7591,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:7593,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7595,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7596,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:7604,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7605,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7606,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7607,1
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdkafka_admin.c:7610,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:7611,1
    - Dst: rd_list_grow
      Src: /src/librdkafka/src/rdkafka_admin.c:7617,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:7618,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:7623,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - rko_fanout
    - rko_partial
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7626
      start: 7573
    functionDepth: 5
    functionLinenumber: 7573
    functionLinenumberEnd: 7626
    functionName: rd_kafka_ListConsumerGroups_response_merge
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_list_add
    - rd_list_destroy
    - rd_kafka_error_new
    - rd_list_copy_to
    - rd_kafka_ListConsumerGroupsResult_new
    - rd_list_elem
    - rd_list_init
    - rd_list_set
    - rd_list_grow
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroups_response_merge(rd_kafka_op_t *rko_fanout,\n
      \                                          const rd_kafka_op_t *rko_partial)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_target_all_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7640,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:7644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7645
      start: 7628
    functionDepth: 4
    functionLinenumber: 7628
    functionLinenumberEnd: 7645
    functionName: rd_kafka_ListConsumerGroups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_request_op_target_all_new
    - rd_kafka_q_enq
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ListConsumerGroups(rd_kafka_t *rk,\n                                 const
      rd_kafka_AdminOptions_t *options,\n                                 rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7656,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7658,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7659,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:7660,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7665
      start: 7647
    functionDepth: 1
    functionLinenumber: 7647
    functionLinenumberEnd: 7665
    functionName: rd_kafka_ListConsumerGroups_result_valid
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_list_elem
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupListing_t
    signature: "rd_kafka_ConsumerGroupListing_t **\nrd_kafka_ListConsumerGroups_result_valid(\n
      \   const rd_kafka_ListConsumerGroups_result_t *result,\n    size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7675,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7677,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:7678,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:7680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7687
      start: 7667
    functionDepth: 1
    functionLinenumber: 7667
    functionLinenumberEnd: 7687
    functionName: rd_kafka_ListConsumerGroups_result_errors
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t **rd_kafka_ListConsumerGroups_result_errors(\n    const
      rd_kafka_ListConsumerGroups_result_t *result,\n    size_t *cntp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7736,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - authorized_operations
    - cntp
    argTypes:
    - int32_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7749
      start: 7712
    functionDepth: 1
    functionLinenumber: 7712
    functionLinenumberEnd: 7749
    functionName: rd_kafka_AuthorizedOperations_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: 'rd_kafka_AclOperation_t *

      rd_kafka_AuthorizedOperations_parse(int32_t authorized_operations, int *cntp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7778,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_admin.c:7779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - src
    - authorized_operations_cnt
    argTypes:
    - rd_kafka_AclOperation_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7781
      start: 7760
    functionDepth: 1
    functionLinenumber: 7760
    functionLinenumberEnd: 7781
    functionName: rd_kafka_AuthorizedOperations_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: "rd_kafka_AclOperation_t *\nrd_kafka_AuthorizedOperations_copy(const
      rd_kafka_AclOperation_t *src,\n                                   int authorized_operations_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7805,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7806,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7807,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7809,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7810,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7813,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7816,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7819,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - client_id
    - consumer_id
    - group_instance_id
    - host
    - assignment
    - target_assignment
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7824
      start: 7797
    functionDepth: 1
    functionLinenumber: 7797
    functionLinenumberEnd: 7824
    functionName: rd_kafka_MemberDescription_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_MemberDescription_t
    signature: "rd_kafka_MemberDescription_t *rd_kafka_MemberDescription_new(\n    const
      char *client_id,\n    const char *consumer_id,\n    const char *group_instance_id,\n
      \   const char *host,\n    const rd_kafka_topic_partition_list_t *assignment,\n
      \   const rd_kafka_topic_partition_list_t *target_assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MemberDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7840
      start: 7834
    functionDepth: 2
    functionLinenumber: 7834
    functionLinenumberEnd: 7840
    functionName: rd_kafka_MemberDescription_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MemberDescription_new
    linkageType: ''
    returnType: rd_kafka_MemberDescription_t
    signature: 'rd_kafka_MemberDescription_t *

      rd_kafka_MemberDescription_copy(const rd_kafka_MemberDescription_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MemberDescription_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7851
      start: 7848
    functionDepth: 3
    functionLinenumber: 7848
    functionLinenumberEnd: 7851
    functionName: rd_kafka_MemberDescription_list_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MemberDescription_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_MemberDescription_list_copy(const void *elem,\n                                                  void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7855,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7856,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7857,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:7858,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:7859,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:7862,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7864,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:7866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7867
      start: 7853
    functionDepth: 1
    functionLinenumber: 7853
    functionLinenumberEnd: 7867
    functionName: rd_kafka_MemberDescription_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_MemberDescription_destroy(rd_kafka_MemberDescription_t
      *member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_MemberDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:7870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7871
      start: 7869
    functionDepth: 2
    functionLinenumber: 7869
    functionLinenumberEnd: 7871
    functionName: rd_kafka_MemberDescription_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MemberDescription_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_MemberDescription_free(void *member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7876
      start: 7873
    functionDepth: 0
    functionLinenumber: 7873
    functionLinenumberEnd: 7876
    functionName: rd_kafka_MemberDescription_client_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_MemberDescription_client_id(\n    const rd_kafka_MemberDescription_t
      *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7881
      start: 7878
    functionDepth: 0
    functionLinenumber: 7878
    functionLinenumberEnd: 7881
    functionName: rd_kafka_MemberDescription_group_instance_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_MemberDescription_group_instance_id(\n    const rd_kafka_MemberDescription_t
      *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7886
      start: 7883
    functionDepth: 0
    functionLinenumber: 7883
    functionLinenumberEnd: 7886
    functionName: rd_kafka_MemberDescription_consumer_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_MemberDescription_consumer_id(\n    const rd_kafka_MemberDescription_t
      *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7891
      start: 7888
    functionDepth: 0
    functionLinenumber: 7888
    functionLinenumberEnd: 7891
    functionName: rd_kafka_MemberDescription_host
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_MemberDescription_host(const rd_kafka_MemberDescription_t *member)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7896
      start: 7893
    functionDepth: 0
    functionLinenumber: 7893
    functionLinenumberEnd: 7896
    functionName: rd_kafka_MemberDescription_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_MemberAssignment_t
    signature: "rd_kafka_MemberAssignment_t *rd_kafka_MemberDescription_assignment(\n
      \   const rd_kafka_MemberDescription_t *member)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - assignment
    argTypes:
    - rd_kafka_MemberAssignment_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7901
      start: 7898
    functionDepth: 0
    functionLinenumber: 7898
    functionLinenumberEnd: 7901
    functionName: rd_kafka_MemberAssignment_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_MemberAssignment_partitions(\n
      \   const rd_kafka_MemberAssignment_t *assignment)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7906
      start: 7903
    functionDepth: 0
    functionLinenumber: 7903
    functionLinenumberEnd: 7906
    functionName: rd_kafka_MemberDescription_target_assignment
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_MemberAssignment_t
    signature: "rd_kafka_MemberAssignment_t *rd_kafka_MemberDescription_target_assignment(\n
      \   const rd_kafka_MemberDescription_t *member)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:7937,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7938,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:7941,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7944,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:7945,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:7950,1
    - Dst: rd_kafka_AuthorizedOperations_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7953,1
    - Dst: rd_kafka_Node_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:7959,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7961,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_admin.c:7961,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_admin.c:7962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 10
    argNames:
    - group_id
    - is_simple_consumer_group
    - members
    - partition_assignor
    - authorized_operations
    - authorized_operations_cnt
    - state
    - type
    - coordinator
    - error
    argTypes:
    - char*
    - rd_bool_t
    - rd_list_t*
    - char*
    - rd_kafka_AclOperation_t*
    - int
    - rd_kafka_consumer_group_state_t
    - rd_kafka_consumer_group_type_t
    - rd_kafka_Node_t*
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7965
      start: 7924
    functionDepth: 4
    functionLinenumber: 7924
    functionLinenumberEnd: 7965
    functionName: rd_kafka_ConsumerGroupDescription_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - rd_calloc
    - rd_list_copy_to
    - rd_kafka_error_string
    - rd_kafka_AuthorizedOperations_copy
    - rd_kafka_error_code
    - rd_kafka_Node_copy
    - rd_list_init
    - rd_strdup
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupDescription_t
    signature: "rd_kafka_ConsumerGroupDescription_t *\nrd_kafka_ConsumerGroupDescription_new(\n
      \   const char *group_id,\n    rd_bool_t is_simple_consumer_group,\n    const
      rd_list_t *members,\n    const char *partition_assignor,\n    const rd_kafka_AclOperation_t
      *authorized_operations,\n    int authorized_operations_cnt,\n    rd_kafka_consumer_group_state_t
      state,\n    rd_kafka_consumer_group_type_t type,\n    const rd_kafka_Node_t
      *coordinator,\n    rd_kafka_error_t *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - group_id
    - error
    argTypes:
    - char*
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7982
      start: 7975
    functionDepth: 5
    functionLinenumber: 7975
    functionLinenumberEnd: 7982
    functionName: rd_kafka_ConsumerGroupDescription_new_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupDescription_new
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupDescription_t
    signature: "rd_kafka_ConsumerGroupDescription_t *\nrd_kafka_ConsumerGroupDescription_new_error(const
      char *group_id,\n                                            rd_kafka_error_t
      *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:7993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7999
      start: 7990
    functionDepth: 5
    functionLinenumber: 7990
    functionLinenumberEnd: 7999
    functionName: rd_kafka_ConsumerGroupDescription_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupDescription_new
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupDescription_t
    signature: "rd_kafka_ConsumerGroupDescription_t *\nrd_kafka_ConsumerGroupDescription_copy(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupDescription_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:8007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - grpdesc
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8008
      start: 8005
    functionDepth: 6
    functionLinenumber: 8005
    functionLinenumberEnd: 8008
    functionName: rd_kafka_ConsumerGroupDescription_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupDescription_copy
    linkageType: ''
    returnType: void
    signature: "void *rd_kafka_ConsumerGroupDescription_copy_opaque(const void *grpdesc,\n
      \                                                          void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_admin.c:8012,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8013,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8014,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_admin.c:8015,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8016,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_admin.c:8017,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8018,1
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8020,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8022,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8024
      start: 8010
    functionDepth: 3
    functionLinenumber: 8010
    functionLinenumberEnd: 8024
    functionName: rd_kafka_ConsumerGroupDescription_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_destroy
    - rd_kafka_Node_destroy
    - rd_kafka_error_destroy
    - likely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ConsumerGroupDescription_destroy(\n    rd_kafka_ConsumerGroupDescription_t
      *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8028
      start: 8026
    functionDepth: 4
    functionLinenumber: 8026
    functionLinenumberEnd: 8028
    functionName: rd_kafka_ConsumerGroupDescription_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupDescription_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ConsumerGroupDescription_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8033
      start: 8030
    functionDepth: 0
    functionLinenumber: 8030
    functionLinenumberEnd: 8033
    functionName: rd_kafka_ConsumerGroupDescription_group_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ConsumerGroupDescription_group_id(\n    const rd_kafka_ConsumerGroupDescription_t
      *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8038
      start: 8035
    functionDepth: 0
    functionLinenumber: 8035
    functionLinenumberEnd: 8038
    functionName: rd_kafka_ConsumerGroupDescription_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_ConsumerGroupDescription_error(\n    const
      rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8044
      start: 8041
    functionDepth: 0
    functionLinenumber: 8041
    functionLinenumberEnd: 8044
    functionName: rd_kafka_ConsumerGroupDescription_is_simple_consumer_group
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_ConsumerGroupDescription_is_simple_consumer_group(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8050
      start: 8047
    functionDepth: 0
    functionLinenumber: 8047
    functionLinenumberEnd: 8050
    functionName: rd_kafka_ConsumerGroupDescription_partition_assignor
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_ConsumerGroupDescription_partition_assignor(\n    const
      rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_admin.c:8056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - grpdesc
    - cntp
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8058
      start: 8052
    functionDepth: 1
    functionLinenumber: 8052
    functionLinenumberEnd: 8058
    functionName: rd_kafka_ConsumerGroupDescription_authorized_operations
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - RD_MAX
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: "rd_kafka_AclOperation_t *\nrd_kafka_ConsumerGroupDescription_authorized_operations(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8063
      start: 8060
    functionDepth: 0
    functionLinenumber: 8060
    functionLinenumberEnd: 8063
    functionName: rd_kafka_ConsumerGroupDescription_state
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_consumer_group_state_t
    signature: "rd_kafka_consumer_group_state_t rd_kafka_ConsumerGroupDescription_state(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8068
      start: 8065
    functionDepth: 0
    functionLinenumber: 8065
    functionLinenumberEnd: 8068
    functionName: rd_kafka_ConsumerGroupDescription_coordinator
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t *rd_kafka_ConsumerGroupDescription_coordinator(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8073
      start: 8070
    functionDepth: 0
    functionLinenumber: 8070
    functionLinenumberEnd: 8073
    functionName: rd_kafka_ConsumerGroupDescription_type
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_consumer_group_type_t
    signature: "rd_kafka_consumer_group_type_t rd_kafka_ConsumerGroupDescription_type(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - grpdesc
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8078
      start: 8075
    functionDepth: 1
    functionLinenumber: 8075
    functionLinenumberEnd: 8078
    functionName: rd_kafka_ConsumerGroupDescription_member_count
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_ConsumerGroupDescription_member_count(\n    const
      rd_kafka_ConsumerGroupDescription_t *grpdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - grpdesc
    - idx
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8085
      start: 8080
    functionDepth: 1
    functionLinenumber: 8080
    functionLinenumberEnd: 8085
    functionName: rd_kafka_ConsumerGroupDescription_member
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_MemberDescription_t
    signature: "rd_kafka_MemberDescription_t *rd_kafka_ConsumerGroupDescription_member(\n
      \   const rd_kafka_ConsumerGroupDescription_t *grpdesc,\n    size_t idx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:8091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8092
      start: 8090
    functionDepth: 0
    functionLinenumber: 8090
    functionLinenumberEnd: 8092
    functionName: rd_kafka_DescribeConsumerGroups_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_DescribeConsumerGroups_cmp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8119,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8121,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8124,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:8128,1
    - Dst: rd_kafka_DescribeGroupsRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:8130,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8133,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:8136,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_admin.c:8137,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_admin.c:8138,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 8
    argNames:
    - rkb
    - groups
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8144
      start: 8107
    functionDepth: 9
    functionLinenumber: 8107
    functionLinenumberEnd: 8144
    functionName: rd_kafka_admin_DescribeConsumerGroupsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_cnt
    - rd_snprintf
    - rd_calloc
    - rd_kafka_DescribeGroupsRequest
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_list_elem
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_DescribeConsumerGroupsRequest(\n
      \   rd_kafka_broker_t *rkb,\n    const rd_list_t *groups /*(char*)*/,\n    rd_kafka_AdminOptions_t
      *options,\n    char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t
      replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8125
      start: 8123
    functionDepth: 1
    functionLinenumber: 8123
    functionLinenumberEnd: 8125
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 48
    functionsReached:
    - rd_list_elem
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(group, groups, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8170,1
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:8174,1
    - Dst: rd_kafka_ConsumerGroupDescribeRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:8176,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:8181,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_admin.c:8182,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src/rdkafka_admin.c:8183,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - rkb
    - groups
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8189
      start: 8158
    functionDepth: 9
    functionLinenumber: 8158
    functionLinenumberEnd: 8189
    functionName: rd_kafka_admin_ConsumerGroupDescribeRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_snprintf
    - rd_kafka_error_string
    - rd_kafka_ConsumerGroupDescribeRequest
    - rd_kafka_error_destroy
    - rd_kafka_error_code
    - rd_kafka_confval_get_int
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_ConsumerGroupDescribeRequest(rd_kafka_broker_t
      *rkb,\n                                            const rd_list_t *groups /*(char*)*/,\n
      \                                           rd_kafka_AdminOptions_t *options,\n
      \                                           char *errstr,\n                                            size_t
      errstr_size,\n                                            rd_kafka_replyq_t
      replyq,\n                                            rd_kafka_resp_cb_t *resp_cb,\n
      \                                           void *opaque)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:8213,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:8215,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8218,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8220,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8221,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_admin.c:8225,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8226,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_admin.c:8228,1
    - Dst: rd_kafka_Node_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8230,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:8240,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8241,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8242,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8243,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8244,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8245,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8247,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8248,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8249,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8250,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8253,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:8255,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:8260,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8263,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8269,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8281,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8283,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8285,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8286,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_admin.c:8287,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_admin.c:8288,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:8292,1
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_admin.c:8295,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:8297,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_admin.c:8303,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:8304,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:8308,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8311,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:8313,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8318,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:8319,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8321,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8323,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8324,1
    - Dst: rd_kafka_MemberDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8329,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8334,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8336,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8337,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8338,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8339,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8340,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:8348,1
    - Dst: rd_kafka_AuthorizedOperations_parse
      Src: /src/librdkafka/src/rdkafka_admin.c:8352,1
    - Dst: rd_kafka_ConsumerGroupDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8357,1
    - Dst: rd_kafka_consumer_group_state_code
      Src: /src/librdkafka/src/rdkafka_admin.c:8360,1
    - Dst: rd_kafka_ConsumerGroupDescription_new_error
      Src: /src/librdkafka/src/rdkafka_admin.c:8363,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8366,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8368,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8369,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8370,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8371,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8372,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8373,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8374,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8385,1
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8387,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8393,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8395,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8397,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8399,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8401,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8403,1
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8405,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8407,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8408,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:8410,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:8413,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 124
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8416
      start: 8193
    functionDepth: 7
    functionLinenumber: 8193
    functionLinenumberEnd: 8416
    functionName: rd_kafka_DescribeConsumerGroupsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_ApiVersion
    - rd_kafka_ConsumerGroupDescription_new
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_topic_partitions
    - rd_list_destroy
    - rd_kafka_Node_new
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_AuthorizedOperations_parse
    - rd_list_init
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_ConsumerGroupDescription_new_error
    - rd_kafka_MemberDescription_new
    - rd_kafka_broker_keep
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_read_arraycnt
    - strcmp
    - rd_kafka_buf_read_i16
    - rd_kafka_broker_unlock
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_buf_read_kbytes
    - rd_kafka_admin_result_new
    - rd_free
    - rd_kafka_consumer_group_state_code
    - rd_list_add
    - rd_kafka_buf_parse_fail
    - rd_kafka_buf_destroy
    - rd_kafka_error_new
    - rd_kafka_Node_destroy
    - rd_kafka_buf_new_shadow
    - rd_kafka_broker_lock
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeConsumerGroupsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                              rd_kafka_op_t **rko_resultp,\n
      \                                             rd_kafka_buf_t *reply,\n                                              char
      *errstr,\n                                              size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:8443,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8445,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_admin.c:8448,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8449,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_admin.c:8451,1
    - Dst: rd_kafka_Node_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8453,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8455,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8456,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:8468,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8469,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8470,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8471,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:8472,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:8473,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8474,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8475,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8477,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8478,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8479,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8482,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_admin.c:8484,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8487,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8499,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8500,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8501,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:8502,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8503,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8504,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8505,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8511,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:8514,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:8519,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:8524,1
    - Dst: rd_kafka_buf_read_topic_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:8526,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:8531,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:8534,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8536,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:8537,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8538,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8540,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_admin.c:8541,1
    - Dst: rd_kafka_MemberDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8543,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8548,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8550,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8552,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8555,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8556,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8557,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8558,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:8564,1
    - Dst: rd_kafka_AuthorizedOperations_parse
      Src: /src/librdkafka/src/rdkafka_admin.c:8565,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:8567,1
    - Dst: rd_kafka_ConsumerGroupDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8575,1
    - Dst: rd_kafka_consumer_group_state_code
      Src: /src/librdkafka/src/rdkafka_admin.c:8578,1
    - Dst: rd_kafka_ConsumerGroupDescription_new_error
      Src: /src/librdkafka/src/rdkafka_admin.c:8581,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8585,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8587,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8588,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8589,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8590,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8591,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8592,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:8600,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8601,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8602,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8606,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8607,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8608,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8609,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8610,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8611,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8612,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8613,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8614,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8615,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:8617,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:8620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 103
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8622
      start: 8421
    functionDepth: 7
    functionLinenumber: 8421
    functionLinenumberEnd: 8622
    functionName: rd_kafka_ConsumerGroupDescribeResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_kafka_buf_skip_tags
    - rd_kafka_ConsumerGroupDescription_new
    - RD_KAFKAP_STR_DUP
    - rd_kafka_buf_read_topic_partitions
    - rd_list_destroy
    - rd_kafka_Node_new
    - rd_kafka_err2str
    - rd_kafka_AuthorizedOperations_parse
    - rd_list_init
    - RD_IF_FREE
    - RD_KAFKAP_STR_IS_NULL
    - rd_kafka_ConsumerGroupDescription_new_error
    - rd_kafka_MemberDescription_new
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_unlock
    - rd_kafka_buf_read_i32
    - rd_strdup
    - rd_kafka_admin_result_new
    - rd_free
    - rd_kafka_consumer_group_state_code
    - rd_list_add
    - rd_kafka_error_new
    - rd_kafka_broker_lock
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ConsumerGroupDescribeResponse_parse(rd_kafka_op_t
      *rko_req,\n                                             rd_kafka_op_t **rko_resultp,\n
      \                                            rd_kafka_buf_t *reply,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - groupres
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8638
      start: 8630
    functionDepth: 0
    functionLinenumber: 8630
    functionLinenumberEnd: 8638
    functionName: rd_kafka_admin_describe_consumer_group_do_fallback_to_classic
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_admin_describe_consumer_group_do_fallback_to_classic(\n
      \   rd_kafka_ConsumerGroupDescription_t *groupres)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8647,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8654,1
    - Dst: rd_kafka_AdminOptions_set_opaque
      Src: /src/librdkafka/src/rdkafka_admin.c:8660,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8663,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8664,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8664,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:8666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - rko_fanout
    - rk
    - group_id
    - cbs
    - options
    - rkq
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_t*
    - char*
    - struct rd_kafka_admin_worker_cbs*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8667
      start: 8640
    functionDepth: 3
    functionLinenumber: 8640
    functionLinenumberEnd: 8667
    functionName: rd_kafka_admin_describe_consumer_group_request
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_AdminOptions_set_opaque
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_admin_describe_consumer_group_request(\n    rd_kafka_op_t
      *rko_fanout,\n    rd_kafka_t *rk,\n    const char *group_id,\n    const struct
      rd_kafka_admin_worker_cbs *cbs,\n    const rd_kafka_AdminOptions_t *options,\n
      \   rd_kafka_q_t *rkq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8680,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8687,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8688,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8689,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:8689,1
    - Dst: rd_kafka_ConsumerGroupDescription_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:8690,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8694,1
    - Dst: rd_kafka_ConsumerGroupDescription_new_error
      Src: /src/librdkafka/src/rdkafka_admin.c:8696,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8697,1
    - Dst: rd_kafka_admin_describe_consumer_group_do_fallback_to_classic
      Src: /src/librdkafka/src/rdkafka_admin.c:8705,1
    - Dst: rd_kafka_admin_describe_consumer_group_request
      Src: /src/librdkafka/src/rdkafka_admin.c:8713,1
    - Dst: rd_kafka_ConsumerGroupDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8718,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:8723,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8725,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8728,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8728,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:8732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - rko_fanout
    - rko_partial
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8735
      start: 8672
    functionDepth: 6
    functionLinenumber: 8672
    functionLinenumberEnd: 8735
    functionName: rd_kafka_DescribeConsumerGroups_response_merge
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_admin_describe_consumer_group_request
    - rd_assert
    - rd_kafka_error_new
    - strcmp
    - rd_kafka_ConsumerGroupDescription_destroy
    - rd_kafka_admin_describe_consumer_group_do_fallback_to_classic
    - rd_list_index
    - rd_kafka_error_destroy
    - rd_list_elem
    - rd_list_set
    - rd_kafka_ConsumerGroupDescription_new_error
    - rd_kafka_ConsumerGroupDescription_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeConsumerGroups_response_merge(\n    rd_kafka_op_t
      *rko_fanout,\n    const rd_kafka_op_t *rko_partial)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8749,1
    - Dst: rd_kafka_admin_fanout_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8751,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:8757,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8760,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8767,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:8770,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8771,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8777,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8778,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:8779,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_admin.c:8781,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_admin.c:8782,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8784,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:8785,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8788,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8793,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:8797,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:8810,1
    - Dst: rd_kafka_admin_describe_consumer_group_request
      Src: /src/librdkafka/src/rdkafka_admin.c:8811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - rk
    - groups
    - groups_cnt
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - char**
    - size_t
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8814
      start: 8737
    functionDepth: 7
    functionLinenumber: 8737
    functionLinenumberEnd: 8814
    functionName: rd_kafka_DescribeConsumerGroups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 3
    functionsReached:
    - rd_kafka_admin_describe_consumer_group_request
    - rd_assert
    - rd_list_sort
    - rd_list_add
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_copy_to
    - rd_list_elem
    - rd_kafka_admin_result_fail
    - rd_list_find_duplicate
    - rd_kafka_admin_common_worker_destroy
    - rd_list_init
    - rd_strdup
    - rd_kafka_admin_fanout_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeConsumerGroups(rd_kafka_t *rk,\n                                     const
      char **groups,\n                                     size_t groups_cnt,\n                                     const
      rd_kafka_AdminOptions_t *options,\n                                     rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:8823,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:8825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8828
      start: 8816
    functionDepth: 1
    functionLinenumber: 8816
    functionLinenumberEnd: 8828
    functionName: rd_kafka_DescribeConsumerGroups_result_groups
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 4
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ConsumerGroupDescription_t
    signature: "rd_kafka_ConsumerGroupDescription_t **\nrd_kafka_DescribeConsumerGroups_result_groups(\n
      \   const rd_kafka_DescribeConsumerGroups_result_t *result,\n    size_t *cntp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8846,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8852,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - topics
    - topics_cnt
    argTypes:
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8857
      start: 8841
    functionDepth: 1
    functionLinenumber: 8841
    functionLinenumberEnd: 8857
    functionName: rd_kafka_TopicCollection_of_topic_names
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_TopicCollection_t
    signature: "rd_kafka_TopicCollection_t *\nrd_kafka_TopicCollection_of_topic_names(const
      char **topics,\n                                        size_t topics_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8863,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8865,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - topics
    argTypes:
    - rd_kafka_TopicCollection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8867
      start: 8859
    functionDepth: 1
    functionLinenumber: 8859
    functionLinenumberEnd: 8867
    functionName: rd_kafka_TopicCollection_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_TopicCollection_destroy(rd_kafka_TopicCollection_t *topics)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8882,1
    - Dst: rd_kafka_Node_new_from_brokers
      Src: /src/librdkafka/src/rdkafka_admin.c:8889,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8896,1
    - Dst: rd_kafka_Node_new_from_brokers
      Src: /src/librdkafka/src/rdkafka_admin.c:8898,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8905,1
    - Dst: rd_kafka_Node_new_from_brokers
      Src: /src/librdkafka/src/rdkafka_admin.c:8907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - partition
    - brokers_sorted
    - brokers_internal
    - broker_cnt
    argTypes:
    - struct rd_kafka_metadata_partition*
    - struct rd_kafka_metadata_broker*
    - rd_kafka_metadata_broker_internal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8913
      start: 8875
    functionDepth: 2
    functionLinenumber: 8875
    functionLinenumberEnd: 8913
    functionName: rd_kafka_TopicPartitionInfo_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - rd_kafka_Node_new_from_brokers
    linkageType: ''
    returnType: rd_kafka_TopicPartitionInfo_t
    signature: "rd_kafka_TopicPartitionInfo_t *rd_kafka_TopicPartitionInfo_new(\n
      \   const struct rd_kafka_metadata_partition *partition,\n    const struct rd_kafka_metadata_broker
      *brokers_sorted,\n    const rd_kafka_metadata_broker_internal_t *brokers_internal,\n
      \   int broker_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8921,1
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8924,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8925,1
    - Dst: rd_kafka_Node_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:8928,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:8929,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:8931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pinfo
    argTypes:
    - rd_kafka_TopicPartitionInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8932
      start: 8918
    functionDepth: 2
    functionLinenumber: 8918
    functionLinenumberEnd: 8932
    functionName: rd_kafka_TopicPartitionInfo_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Node_destroy
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_TopicPartitionInfo_destroy(rd_kafka_TopicPartitionInfo_t
      *pinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8960,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:8961,1
    - Dst: rd_kafka_error_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:8966,1
    - Dst: rd_kafka_AuthorizedOperations_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:8969,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:8974,1
    - Dst: rd_kafka_TopicPartitionInfo_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 11
    argNames:
    - topic
    - topic_id
    - partitions
    - partition_cnt
    - brokers_sorted
    - brokers_internal
    - broker_cnt
    - authorized_operations
    - authorized_operations_cnt
    - is_internal
    - error
    argTypes:
    - char*
    - rd_kafka_Uuid_t
    - struct rd_kafka_metadata_partition*
    - int
    - struct rd_kafka_metadata_broker*
    - rd_kafka_metadata_broker_internal_t*
    - int
    - rd_kafka_AclOperation_t*
    - int
    - rd_bool_t
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8982
      start: 8946
    functionDepth: 3
    functionLinenumber: 8946
    functionLinenumberEnd: 8982
    functionName: rd_kafka_TopicDescription_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_TopicPartitionInfo_new
    - rd_kafka_error_copy
    - rd_calloc
    - rd_kafka_AuthorizedOperations_copy
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_TopicDescription_t
    signature: "rd_kafka_TopicDescription_t *rd_kafka_TopicDescription_new(\n    const
      char *topic,\n    rd_kafka_Uuid_t topic_id,\n    const struct rd_kafka_metadata_partition
      *partitions,\n    int partition_cnt,\n    const struct rd_kafka_metadata_broker
      *brokers_sorted,\n    const rd_kafka_metadata_broker_internal_t *brokers_internal,\n
      \   int broker_cnt,\n    const rd_kafka_AclOperation_t *authorized_operations,\n
      \   int authorized_operations_cnt,\n    rd_bool_t is_internal,\n    rd_kafka_error_t
      *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_TopicDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:8996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topic
    - topic_id
    - error
    argTypes:
    - char*
    - rd_kafka_Uuid_t
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8998
      start: 8992
    functionDepth: 4
    functionLinenumber: 8992
    functionLinenumberEnd: 8998
    functionName: rd_kafka_TopicDescription_new_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_TopicDescription_new
    linkageType: ''
    returnType: rd_kafka_TopicDescription_t
    signature: "rd_kafka_TopicDescription_t *\nrd_kafka_TopicDescription_new_error(const
      char *topic,\n                                    rd_kafka_Uuid_t topic_id,\n
      \                                   rd_kafka_error_t *error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9004,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9005,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9006,1
    - Dst: rd_kafka_TopicPartitionInfo_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9008,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9009,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - topicdesc
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9012
      start: 9000
    functionDepth: 3
    functionLinenumber: 9000
    functionLinenumberEnd: 9012
    functionName: rd_kafka_TopicDescription_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_TopicPartitionInfo_destroy
    - rd_free
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_TopicDescription_destroy(rd_kafka_TopicDescription_t
      *topicdesc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_TopicDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9016
      start: 9014
    functionDepth: 4
    functionLinenumber: 9014
    functionLinenumberEnd: 9016
    functionName: rd_kafka_TopicDescription_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_TopicDescription_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_TopicDescription_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - rd_kafka_TopicPartitionInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9021
      start: 9018
    functionDepth: 0
    functionLinenumber: 9018
    functionLinenumberEnd: 9021
    functionName: rd_kafka_TopicPartitionInfo_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_TopicPartitionInfo_partition(\n    const rd_kafka_TopicPartitionInfo_t
      *partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - rd_kafka_TopicPartitionInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9026
      start: 9023
    functionDepth: 0
    functionLinenumber: 9023
    functionLinenumberEnd: 9026
    functionName: rd_kafka_TopicPartitionInfo_leader
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t *rd_kafka_TopicPartitionInfo_leader(\n    const rd_kafka_TopicPartitionInfo_t
      *partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9034
      start: 9029
    functionDepth: 0
    functionLinenumber: 9029
    functionLinenumberEnd: 9034
    functionName: rd_kafka_TopicPartitionInfo_isr
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t **\nrd_kafka_TopicPartitionInfo_isr(const rd_kafka_TopicPartitionInfo_t
      *partition,\n                                size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9041
      start: 9036
    functionDepth: 0
    functionLinenumber: 9036
    functionLinenumberEnd: 9041
    functionName: rd_kafka_TopicPartitionInfo_replicas
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t **rd_kafka_TopicPartitionInfo_replicas(\n    const
      rd_kafka_TopicPartitionInfo_t *partition,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9048
      start: 9043
    functionDepth: 0
    functionLinenumber: 9043
    functionLinenumberEnd: 9048
    functionName: rd_kafka_TopicDescription_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_TopicPartitionInfo_t
    signature: "rd_kafka_TopicPartitionInfo_t **rd_kafka_TopicDescription_partitions(\n
      \   const rd_kafka_TopicDescription_t *topicdesc,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_admin.c:9053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - topicdesc
    - cntp
    argTypes:
    - rd_kafka_TopicDescription_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9055
      start: 9050
    functionDepth: 1
    functionLinenumber: 9050
    functionLinenumberEnd: 9055
    functionName: rd_kafka_TopicDescription_authorized_operations
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - RD_MAX
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: "rd_kafka_AclOperation_t *rd_kafka_TopicDescription_authorized_operations(\n
      \   const rd_kafka_TopicDescription_t *topicdesc,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicdesc
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9061
      start: 9058
    functionDepth: 0
    functionLinenumber: 9058
    functionLinenumberEnd: 9061
    functionName: rd_kafka_TopicDescription_name
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_TopicDescription_name(const rd_kafka_TopicDescription_t *topicdesc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicdesc
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9066
      start: 9063
    functionDepth: 0
    functionLinenumber: 9063
    functionLinenumberEnd: 9066
    functionName: rd_kafka_TopicDescription_is_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_TopicDescription_is_internal(\n    const rd_kafka_TopicDescription_t
      *topicdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicdesc
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9071
      start: 9068
    functionDepth: 0
    functionLinenumber: 9068
    functionLinenumberEnd: 9071
    functionName: rd_kafka_TopicDescription_error
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_TopicDescription_error(const rd_kafka_TopicDescription_t *topicdesc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - topicdesc
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9076
      start: 9073
    functionDepth: 0
    functionLinenumber: 9073
    functionLinenumberEnd: 9076
    functionName: rd_kafka_TopicDescription_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Uuid_t
    signature: "rd_kafka_Uuid_t *rd_kafka_TopicDescription_topic_id(\n    const rd_kafka_TopicDescription_t
      *topicdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:9084,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9089
      start: 9078
    functionDepth: 1
    functionLinenumber: 9078
    functionLinenumberEnd: 9089
    functionName: rd_kafka_DescribeTopics_result_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_TopicDescription_t
    signature: "rd_kafka_TopicDescription_t **rd_kafka_DescribeTopics_result_topics(\n
      \   const rd_kafka_DescribeTopics_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_admin.c:9095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9096
      start: 9094
    functionDepth: 0
    functionLinenumber: 9094
    functionLinenumberEnd: 9096
    functionName: rd_kafka_DescribeTopics_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_DescribeTopics_cmp(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:9121,1
    - Dst: rd_kafka_admin_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:9123,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:9130,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - rkb
    - topics
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9135
      start: 9110
    functionDepth: 11
    functionLinenumber: 9110
    functionLinenumberEnd: 9135
    functionName: rd_kafka_admin_DescribeTopicsRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - rd_kafka_admin_MetadataRequest
    - rd_kafka_confval_get_int
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_DescribeTopicsRequest(rd_kafka_broker_t
      *rkb,\n                                     const rd_list_t *topics /*(char*)*/,\n
      \                                    rd_kafka_AdminOptions_t *options,\n                                     char
      *errstr,\n                                     size_t errstr_size,\n                                     rd_kafka_replyq_t
      replyq,\n                                     rd_kafka_resp_cb_t *resp_cb,\n
      \                                    void *opaque)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_parse_Metadata_admin
      Src: /src/librdkafka/src/rdkafka_admin.c:9155,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9159,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9161,1
    - Dst: rd_kafka_AuthorizedOperations_parse
      Src: /src/librdkafka/src/rdkafka_admin.c:9172,1
    - Dst: rd_kafka_TopicDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9175,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9182,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9184,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9186,1
    - Dst: rd_kafka_TopicDescription_new_error
      Src: /src/librdkafka/src/rdkafka_admin.c:9187,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9190,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_admin.c:9192,1
    - Dst: rd_kafka_TopicDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9196,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9197,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:9204,1
    - Dst: rd_kafka_TopicDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9206,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9207,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:9212,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9215,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9221,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:9222,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9226
      start: 9140
    functionDepth: 7
    functionLinenumber: 9140
    functionLinenumberEnd: 9226
    functionName: rd_kafka_DescribeTopicsResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_buf_parse_fail
    - rd_snprintf
    - rd_kafka_TopicDescription_new_error
    - rd_kafka_error_new
    - rd_list_elem
    - rd_kafka_err2str
    - rd_kafka_error_destroy
    - rd_kafka_parse_Metadata_admin
    - rd_kafka_AuthorizedOperations_parse
    - rd_kafka_TopicDescription_destroy
    - rd_kafka_TopicDescription_new
    - rd_list_init
    - rd_list_set
    - RD_IF_FREE
    - rd_list_index
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeTopicsResponse_parse(rd_kafka_op_t
      *rko_req,\n                                      rd_kafka_op_t **rko_resultp,\n
      \                                     rd_kafka_buf_t *reply,\n                                      char
      *errstr,\n                                      size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:9241,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9243,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9247,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:9250,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:9251,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9253,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9260,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9261,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:9262,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_admin.c:9264,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_admin.c:9265,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9267,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9268,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9271,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_admin.c:9277,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9279,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9280,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9285,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9291,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:9292,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9295,1
    - Dst: rd_kafka_admin_result_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:9297,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - rk
    - topics
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_TopicCollection_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9301
      start: 9228
    functionDepth: 7
    functionLinenumber: 9228
    functionLinenumberEnd: 9301
    functionName: rd_kafka_DescribeTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_list_sort
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_q_enq
    - rd_list_destroy
    - rd_kafka_admin_common_worker_destroy
    - rd_list_copy_to
    - rd_kafka_admin_result_fail
    - rd_list_find_duplicate
    - RD_LIST_FOREACH
    - rd_kafka_admin_result_enq
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_strdup
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeTopics(rd_kafka_t *rk,\n                             const
      rd_kafka_TopicCollection_t *topics,\n                             const rd_kafka_AdminOptions_t
      *options,\n                             rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:9322,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9324,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:9325,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:9326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_DescribeCluster_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9329
      start: 9314
    functionDepth: 1
    functionLinenumber: 9314
    functionLinenumberEnd: 9329
    functionName: rd_kafka_DescribeCluster_result_description
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_elem
    - rd_assert
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_ClusterDescription_t
    signature: "rd_kafka_ClusterDescription_t *\nrd_kafka_DescribeCluster_result_description(\n
      \   const rd_kafka_DescribeCluster_result_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeCluster_result_description
      Src: /src/librdkafka/src/rdkafka_admin.c:9336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9339
      start: 9332
    functionDepth: 2
    functionLinenumber: 9332
    functionLinenumberEnd: 9339
    functionName: rd_kafka_DescribeCluster_result_nodes
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_DescribeCluster_result_description
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t **rd_kafka_DescribeCluster_result_nodes(\n    const
      rd_kafka_DescribeCluster_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeCluster_result_description
      Src: /src/librdkafka/src/rdkafka_admin.c:9346,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_admin.c:9347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - result
    - cntp
    argTypes:
    - rd_kafka_DescribeCluster_result_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9349
      start: 9341
    functionDepth: 2
    functionLinenumber: 9341
    functionLinenumberEnd: 9349
    functionName: rd_kafka_DescribeCluster_result_authorized_operations
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - RD_MAX
    - rd_kafka_DescribeCluster_result_description
    linkageType: ''
    returnType: rd_kafka_AclOperation_t
    signature: "rd_kafka_AclOperation_t *\nrd_kafka_DescribeCluster_result_authorized_operations(\n
      \   const rd_kafka_DescribeCluster_result_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeCluster_result_description
      Src: /src/librdkafka/src/rdkafka_admin.c:9353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_DescribeCluster_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9354
      start: 9351
    functionDepth: 2
    functionLinenumber: 9351
    functionLinenumberEnd: 9354
    functionName: rd_kafka_DescribeCluster_result_cluster_id
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_kafka_DescribeCluster_result_description
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_DescribeCluster_result_cluster_id(\n    const rd_kafka_DescribeCluster_result_t
      *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeCluster_result_description
      Src: /src/librdkafka/src/rdkafka_admin.c:9358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_DescribeCluster_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9359
      start: 9356
    functionDepth: 2
    functionLinenumber: 9356
    functionLinenumberEnd: 9359
    functionName: rd_kafka_DescribeCluster_result_controller
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_DescribeCluster_result_description
    linkageType: ''
    returnType: rd_kafka_Node_t
    signature: "rd_kafka_Node_t *rd_kafka_DescribeCluster_result_controller(\n    const
      rd_kafka_DescribeCluster_result_t *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:9375,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_admin.c:9378,1
    - Dst: rd_kafka_Node_new_from_brokers
      Src: /src/librdkafka/src/rdkafka_admin.c:9381,1
    - Dst: rd_kafka_AuthorizedOperations_parse
      Src: /src/librdkafka/src/rdkafka_admin.c:9386,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:9392,1
    - Dst: rd_kafka_Node_new_from_brokers
      Src: /src/librdkafka/src/rdkafka_admin.c:9395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mdi
    argTypes:
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9400
      start: 9371
    functionDepth: 2
    functionLinenumber: 9371
    functionLinenumberEnd: 9400
    functionName: rd_kafka_ClusterDescription_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_strdup
    - rd_calloc
    - rd_kafka_Node_new_from_brokers
    - rd_kafka_AuthorizedOperations_parse
    linkageType: ''
    returnType: rd_kafka_ClusterDescription_t
    signature: 'rd_kafka_ClusterDescription_t *

      rd_kafka_ClusterDescription_new(const rd_kafka_metadata_internal_t *mdi)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9404,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9405,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9406,1
    - Dst: rd_kafka_Node_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9411,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9412,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - clusterdesc
    argTypes:
    - rd_kafka_ClusterDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9415
      start: 9402
    functionDepth: 3
    functionLinenumber: 9402
    functionLinenumberEnd: 9415
    functionName: rd_kafka_ClusterDescription_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_IF_FREE
    - rd_kafka_Node_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ClusterDescription_destroy(\n    rd_kafka_ClusterDescription_t
      *clusterdesc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ClusterDescription_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9419
      start: 9417
    functionDepth: 4
    functionLinenumber: 9417
    functionLinenumberEnd: 9419
    functionName: rd_kafka_ClusterDescription_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ClusterDescription_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ClusterDescription_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_confval_get_int
      Src: /src/librdkafka/src/rdkafka_admin.c:9434,1
    - Dst: rd_kafka_admin_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_admin.c:9436,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:9443,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - rkb
    - ignored
    - options
    - errstr
    - errstr_size
    - replyq
    - resp_cb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_kafka_AdminOptions_t*
    - char*
    - size_t
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9448
      start: 9423
    functionDepth: 11
    functionLinenumber: 9423
    functionLinenumberEnd: 9448
    functionName: rd_kafka_admin_DescribeClusterRequest
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - rd_kafka_admin_MetadataRequest
    - rd_kafka_confval_get_int
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_admin_DescribeClusterRequest(\n    rd_kafka_broker_t
      *rkb,\n    const rd_list_t *ignored /* We don't use any arguments set here.
      */,\n    rd_kafka_AdminOptions_t *options,\n    char *errstr,\n    size_t errstr_size,\n
      \   rd_kafka_replyq_t replyq,\n    rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_parse_Metadata_admin
      Src: /src/librdkafka/src/rdkafka_admin.c:9466,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9470,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9471,1
    - Dst: rd_kafka_ClusterDescription_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9474,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9476,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:9478,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_admin.c:9483,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:9484,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9488
      start: 9453
    functionDepth: 7
    functionLinenumber: 9453
    functionLinenumberEnd: 9488
    functionName: rd_kafka_DescribeClusterResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_list_add
    - rd_kafka_ClusterDescription_new
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_parse_Metadata_admin
    - rd_list_init
    - RD_IF_FREE
    - rd_kafka_admin_result_new
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_DescribeClusterResponse_parse(rd_kafka_op_t
      *rko_req,\n                                       rd_kafka_op_t **rko_resultp,\n
      \                                      rd_kafka_buf_t *reply,\n                                       char
      *errstr,\n                                       size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9498,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:9502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9503
      start: 9490
    functionDepth: 3
    functionLinenumber: 9490
    functionLinenumberEnd: 9503
    functionName: rd_kafka_DescribeCluster
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 2
    functionsReached:
    - rd_kafka_admin_request_op_new
    - rd_kafka_q_enq
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_DescribeCluster(rd_kafka_t *rk,\n                              const
      rd_kafka_AdminOptions_t *options,\n                              rd_kafka_queue_t
      *rkqu)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:9526,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:9529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - election_type
    - partitions
    argTypes:
    - rd_kafka_ElectionType_t
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9533
      start: 9520
    functionDepth: 1
    functionLinenumber: 9520
    functionLinenumberEnd: 9533
    functionName: rd_kafka_ElectLeaders_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_calloc
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: rd_kafka_ElectLeaders_t
    signature: "rd_kafka_ElectLeaders_t *\nrd_kafka_ElectLeaders_new(rd_kafka_ElectionType_t
      election_type,\n                          rd_kafka_topic_partition_list_t *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ElectLeaders_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - elect_leaders
    argTypes:
    - rd_kafka_ElectLeaders_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9539
      start: 9535
    functionDepth: 2
    functionLinenumber: 9535
    functionLinenumberEnd: 9539
    functionName: rd_kafka_ElectLeaders_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ElectLeaders_new
    linkageType: ''
    returnType: rd_kafka_ElectLeaders_t
    signature: 'rd_kafka_ElectLeaders_t *

      rd_kafka_ElectLeaders_copy(const rd_kafka_ElectLeaders_t *elect_leaders)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9543,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - elect_leaders
    argTypes:
    - rd_kafka_ElectLeaders_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9546
      start: 9541
    functionDepth: 1
    functionLinenumber: 9541
    functionLinenumberEnd: 9546
    functionName: rd_kafka_ElectLeaders_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ElectLeaders_destroy(rd_kafka_ElectLeaders_t *elect_leaders)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ElectLeaders_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9550
      start: 9548
    functionDepth: 2
    functionLinenumber: 9548
    functionLinenumberEnd: 9550
    functionName: rd_kafka_ElectLeaders_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ElectLeaders_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ElectLeaders_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_admin.c:9560,1
    - Dst: rd_list_init_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:9561,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_admin.c:9562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9565
      start: 9556
    functionDepth: 4
    functionLinenumber: 9556
    functionLinenumberEnd: 9565
    functionName: rd_kafka_ElectLeadersResult_new
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_copy_to
    - rd_calloc
    - rd_list_init_copy
    linkageType: ''
    returnType: rd_kafka_ElectLeadersResult_t
    signature: 'rd_kafka_ElectLeadersResult_t *

      rd_kafka_ElectLeadersResult_new(rd_list_t *partitions)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9574
      start: 9567
    functionDepth: 1
    functionLinenumber: 9567
    functionLinenumberEnd: 9574
    functionName: rd_kafka_ElectLeadersResult_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    linkageType: ''
    returnType: rd_kafka_topic_partition_result_t
    signature: "rd_kafka_topic_partition_result_t **\nrd_kafka_ElectLeadersResult_partitions(\n
      \   const rd_kafka_ElectLeadersResult_t *result,\n    size_t *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9578,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_admin.c:9579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_ElectLeadersResult_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9580
      start: 9576
    functionDepth: 3
    functionLinenumber: 9576
    functionLinenumberEnd: 9580
    functionName: rd_kafka_ElectLeadersResult_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ElectLeadersResult_destroy(rd_kafka_ElectLeadersResult_t
      *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ElectLeadersResult_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9584
      start: 9582
    functionDepth: 4
    functionLinenumber: 9582
    functionLinenumberEnd: 9584
    functionName: rd_kafka_ElectLeadersResult_free
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ElectLeadersResult_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_ElectLeadersResult_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:9588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_ElectLeaders_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9590
      start: 9586
    functionDepth: 1
    functionLinenumber: 9586
    functionLinenumberEnd: 9590
    functionName: rd_kafka_ElectLeaders_result_result
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_list_elem
    linkageType: ''
    returnType: rd_kafka_ElectLeadersResult_t
    signature: "rd_kafka_ElectLeadersResult_t *rd_kafka_ElectLeaders_result_result(\n
      \   const rd_kafka_ElectLeaders_result_t *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ElectLeadersResult_partitions
      Src: /src/librdkafka/src/rdkafka_admin.c:9596,1
    - Dst: rd_kafka_ElectLeaders_result_result
      Src: /src/librdkafka/src/rdkafka_admin.c:9597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9598
      start: 9592
    functionDepth: 2
    functionLinenumber: 9592
    functionLinenumberEnd: 9598
    functionName: rd_kafka_ElectLeaders_result_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ElectLeadersResult_partitions
    - rd_kafka_ElectLeaders_result_result
    linkageType: ''
    returnType: rd_kafka_topic_partition_result_t
    signature: "rd_kafka_topic_partition_result_t **\nrd_kafka_ElectLeaders_result_partitions(\n
      \   const rd_kafka_ElectLeaders_result_t *result,\n    size_t *cntp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_admin.c:9621,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_admin.c:9623,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:9624,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9628,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9631,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9636,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9642,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_admin.c:9644,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:9653,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:9654,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_admin.c:9656,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_admin.c:9666,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_admin.c:9667,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_admin.c:9668,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:9670,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_admin.c:9672,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_admin.c:9673,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9674,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_admin.c:9677,1
    - Dst: rd_kafka_topic_partition_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9680,1
    - Dst: rd_kafka_topic_partition_list_find_idx
      Src: /src/librdkafka/src/rdkafka_admin.c:9686,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9690,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_admin.c:9699,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9701,1
    - Dst: rd_list_set
      Src: /src/librdkafka/src/rdkafka_admin.c:9708,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:9711,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:9714,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_admin.c:9717,1
    - Dst: rd_kafka_ElectLeadersResult_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9719,1
    - Dst: rd_kafka_admin_result_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9721,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9723,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:9726,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9730,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9735,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9738,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_admin.c:9740,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_admin.c:9742,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 58
    argCount: 5
    argNames:
    - rko_req
    - rko_resultp
    - reply
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_op_t**
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9745
      start: 9603
    functionDepth: 7
    functionLinenumber: 9603
    functionLinenumberEnd: 9745
    functionName: rd_kafka_ElectLeadersResponse_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_kafka_op_destroy
    - rd_snprintf
    - rd_kafka_buf_skip_tags
    - rd_kafka_topic_partition_list_find_idx
    - rd_kafka_buf_ApiVersion
    - rd_kafka_topic_partition_result_new
    - rd_list_destroy
    - rd_kafka_err2str
    - memset
    - rd_list_init
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_LEN
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_kafka_admin_result_new
    - rd_list_add
    - rd_kafka_buf_parse_fail
    - rd_kafka_ElectLeadersResult_new
    - rd_kafka_admin_result_fail
    - rd_list_elem
    - rd_list_set
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_ElectLeadersResponse_parse(rd_kafka_op_t
      *rko_req,\n                                    rd_kafka_op_t **rko_resultp,\n
      \                                   rd_kafka_buf_t *reply,\n                                    char
      *errstr,\n                                    size_t errstr_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_admin.c:9759,1
    - Dst: rd_kafka_admin_request_op_new
      Src: /src/librdkafka/src/rdkafka_admin.c:9761,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:9768,1
    - Dst: rd_kafka_topic_partition_list_has_duplicates
      Src: /src/librdkafka/src/rdkafka_admin.c:9770,1
    - Dst: rd_kafka_admin_result_fail
      Src: /src/librdkafka/src/rdkafka_admin.c:9772,1
    - Dst: rd_kafka_admin_common_worker_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9775,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9777,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_admin.c:9783,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_admin.c:9786,1
    - Dst: rd_kafka_ElectLeaders_copy
      Src: /src/librdkafka/src/rdkafka_admin.c:9787,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_admin.c:9789,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_admin.c:9791,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - rk
    - elect_leaders
    - options
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_ElectLeaders_t*
    - rd_kafka_AdminOptions_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9792
      start: 9747
    functionDepth: 7
    functionLinenumber: 9747
    functionLinenumberEnd: 9792
    functionName: rd_kafka_ElectLeaders
    functionSourceFile: /src/librdkafka/src/rdkafka_admin.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_list_add
    - rd_kafka_q_enq
    - rd_kafka_ElectLeaders_copy
    - rd_kafka_topic_partition_list_has_duplicates
    - rd_kafka_admin_common_worker_destroy
    - rd_kafka_admin_result_fail
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_admin_request_op_new
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_ElectLeaders(rd_kafka_t *rk,\n                           rd_kafka_ElectLeaders_t
      *elect_leaders,\n                           const rd_kafka_AdminOptions_t *options,\n
      \                          rd_kafka_queue_t *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_coord.c:42,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_coord.c:43,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:44,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_coord.c:45,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_coord.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cc
    - cce
    argTypes:
    - rd_kafka_coord_cache_t*
    - rd_kafka_coord_cache_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: rd_kafka_coord_cache_entry_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_kafka_broker_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_cache_entry_destroy(rd_kafka_coord_cache_t *cc,\n
      \                                       rd_kafka_coord_cache_entry_t *cce)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_coord.c:58,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdkafka_coord.c:60,1
    - Dst: TAILQ_PREV
      Src: /src/librdkafka/src/rdkafka_coord.c:67,1
    - Dst: rd_kafka_coord_cache_entry_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - cc
    argTypes:
    - rd_kafka_coord_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 70
    functionName: rd_kafka_coord_cache_expire
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - rd_kafka_coord_cache_entry_destroy
    - rd_clock
    - TAILQ_LAST
    - TAILQ_PREV
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_cache_expire(rd_kafka_coord_cache_t *cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_coord.c:79,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_coord.c:81,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_coord.c:83,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_coord.c:84,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_coord.c:86,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_coord.c:87,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - cc
    - coordtype
    - coordkey
    argTypes:
    - rd_kafka_coord_cache_t*
    - rd_kafka_coordtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 95
    functionName: rd_kafka_coord_cache_find
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - strcmp
    - TAILQ_INSERT_HEAD
    - TAILQ_FIRST
    - rd_clock
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_coord_cache_entry_t
    signature: "rd_kafka_coord_cache_entry_t *\nrd_kafka_coord_cache_find(rd_kafka_coord_cache_t
      *cc,\n                          rd_kafka_coordtype_t coordtype,\n                          const
      char *coordkey)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_coord_cache_find
      Src: /src/librdkafka/src/rdkafka_coord.c:103,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_coord.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cc
    - coordtype
    - coordkey
    argTypes:
    - rd_kafka_coord_cache_t*
    - rd_kafka_coordtype_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: rd_kafka_coord_cache_get
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_coord_cache_find
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_coord_cache_get(rd_kafka_coord_cache_t
      *cc,\n                                            rd_kafka_coordtype_t coordtype,\n
      \                                           const char *coordkey)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_coord_cache_find
      Src: /src/librdkafka/src/rdkafka_coord.c:119,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdkafka_coord.c:122,1
    - Dst: rd_kafka_coord_cache_entry_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:124,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_coord.c:127,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_coord.c:129,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_coord.c:130,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_coord.c:132,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:138,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_coord.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cc
    - coordtype
    - coordkey
    - rkb
    argTypes:
    - rd_kafka_coord_cache_t*
    - rd_kafka_coordtype_t
    - char*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: rd_kafka_coord_cache_add
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - TAILQ_LAST
    - rd_kafka_coord_cache_find
    - rd_kafka_broker_destroy
    - rd_kafka_coord_cache_entry_destroy
    - rd_calloc
    - TAILQ_INSERT_HEAD
    - rd_strdup
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_cache_add(rd_kafka_coord_cache_t *cc,\n                                     rd_kafka_coordtype_t
      coordtype,\n                                     const char *coordkey,\n                                     rd_kafka_broker_t
      *rkb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_coord.c:157,1
    - Dst: rd_kafka_coord_cache_entry_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cc
    - rkb
    argTypes:
    - rd_kafka_coord_cache_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: rd_kafka_coord_cache_evict
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - rd_kafka_coord_cache_entry_destroy
    - TAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_cache_evict(rd_kafka_coord_cache_t *cc,\n                                rd_kafka_broker_t
      *rkb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_coord.c:169,1
    - Dst: rd_kafka_coord_cache_entry_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cc
    argTypes:
    - rd_kafka_coord_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: rd_kafka_coord_cache_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - rd_kafka_coord_cache_entry_destroy
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_cache_destroy(rd_kafka_coord_cache_t *cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_coord.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cc
    - expire_thres_ms
    argTypes:
    - rd_kafka_coord_cache_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: rd_kafka_coord_cache_init
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - TAILQ_INIT
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_cache_init(rd_kafka_coord_cache_t *cc,\n                               int
      expire_thres_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_coord_req_fsm
      Src: /src/librdkafka/src/rdkafka_coord.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: rd_kafka_coord_req_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - rd_kafka_coord_req_fsm
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_req_tmr_cb(rd_kafka_timers_t *rkts, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_coord.c:239,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_coord.c:241,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_coord.c:242,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_coord.c:250,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_coord.c:252,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_coord.c:255,1
    - Dst: rd_kafka_coord_req_fsm
      Src: /src/librdkafka/src/rdkafka_coord.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 10
    argNames:
    - rk
    - coordtype
    - coordkey
    - send_req_cb
    - rko
    - delay_ms
    - timeout_ms
    - replyq
    - resp_cb
    - reply_opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_coordtype_t
    - char*
    - rd_kafka_send_req_cb_t*
    - rd_kafka_op_t*
    - int
    - int
    - rd_kafka_replyq_t
    - rd_kafka_resp_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: rd_kafka_coord_req
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 3
    functionsReached:
    - rd_interval_init
    - rd_calloc
    - TAILQ_INSERT_TAIL
    - rd_kafka_coord_req_fsm
    - rd_kafka_timer_start_oneshot
    - rd_strdup
    - rd_timeout_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_req(rd_kafka_t *rk,\n                        rd_kafka_coordtype_t
      coordtype,\n                        const char *coordkey,\n                        rd_kafka_send_req_cb_t
      *send_req_cb,\n                        rd_kafka_op_t *rko,\n                        int
      delay_ms,\n                        int timeout_ms,\n                        rd_kafka_replyq_t
      replyq,\n                        rd_kafka_resp_cb_t *resp_cb,\n                        void
      *reply_opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_coord.c:275,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_coord.c:281,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_coord.c:282,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_coord.c:285,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_coord.c:292,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_coord.c:296,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:298,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:302,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_coord.c:303,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_coord.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - rk
    - creq
    - done
    argTypes:
    - rd_kafka_t*
    - rd_kafka_coord_req_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 307
    functionName: rd_kafka_coord_req_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_assert
    - rd_free
    - rd_kafka_broker_destroy
    - rd_dassert
    - rd_kafka_replyq_destroy
    - rd_kafka_timer_stop
    - rd_kafka_broker_persistent_connection_del
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_coord_req_destroy(rd_kafka_t *rk,\n                                            rd_kafka_coord_req_t
      *creq,\n                                            rd_bool_t done)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - creq
    argTypes:
    - rd_kafka_coord_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: rd_kafka_coord_req_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_req_keep(rd_kafka_coord_req_t *creq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_coord.c:319,1
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_coord.c:325,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_coord.c:330,1
    - Dst: rd_kafka_coord_req_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - creq
    - err
    argTypes:
    - rd_kafka_t*
    - rd_kafka_coord_req_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: rd_kafka_coord_req_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - rd_kafka_replyq_enq
    - rd_kafka_buf_new
    - rd_kafka_coord_req_destroy
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_req_fail(rd_kafka_t *rk,\n                                    rd_kafka_coord_req_t
      *creq,\n                                    rd_kafka_resp_err_t err)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_coord.c:362,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_coord.c:364,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_coord.c:368,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_coord.c:370,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_coord.c:371,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_coord.c:377,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_coord.c:378,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_coord.c:379,1
    - Dst: RD_KAFKAP_STR_DUPA
      Src: /src/librdkafka/src/rdkafka_coord.c:382,1
    - Dst: rd_kafka_broker_update
      Src: /src/librdkafka/src/rdkafka_coord.c:386,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_coord.c:390,1
    - Dst: rd_kafka_coord_cache_add
      Src: /src/librdkafka/src/rdkafka_coord.c:397,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:399,1
    - Dst: rd_kafka_coord_req_fsm
      Src: /src/librdkafka/src/rdkafka_coord.c:401,1
    - Dst: rd_kafka_coord_req_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:404,1
    - Dst: rd_kafka_err_action
      Src: /src/librdkafka/src/rdkafka_coord.c:411,1
    - Dst: rd_kafka_coord_req_fail
      Src: /src/librdkafka/src/rdkafka_coord.c:430,1
    - Dst: rd_kafka_buf_retry
      Src: /src/librdkafka/src/rdkafka_coord.c:434,1
    - Dst: rd_kafka_coord_req_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:441,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 336
    functionDepth: 6
    functionLinenumber: 336
    functionLinenumberEnd: 442
    functionName: rd_kafka_coord_req_handle_FindCoordinator
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_DUPA
    - rd_snprintf
    - rd_kafka_broker_destroy
    - rd_kafka_buf_retry
    - rd_kafka_coord_req_fail
    - rd_kafka_broker_update
    - rd_kafka_buf_read_i16
    - rd_kafka_err_action
    - RD_KAFKAP_STR_PR
    - rd_kafka_coord_req_fsm
    - rd_kafka_buf_read_i32
    - rd_kafka_coord_cache_add
    - rd_kafka_coord_req_destroy
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_coord_req_handle_FindCoordinator(rd_kafka_t *rk,\n                                                      rd_kafka_broker_t
      *rkb,\n                                                      rd_kafka_resp_err_t
      err,\n                                                      rd_kafka_buf_t *rkbuf,\n
      \                                                     rd_kafka_buf_t *request,\n
      \                                                     void *opaque)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_coord.c:464,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_coord.c:464,1
    - Dst: rd_kafka_coord_req_fail
      Src: /src/librdkafka/src/rdkafka_coord.c:465,1
    - Dst: rd_kafka_timer_next
      Src: /src/librdkafka/src/rdkafka_coord.c:471,1
    - Dst: rd_kafka_coord_cache_get
      Src: /src/librdkafka/src/rdkafka_coord.c:476,1
    - Dst: rd_kafka_broker_is_up
      Src: /src/librdkafka/src/rdkafka_coord.c:480,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_coord.c:486,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:489,1
    - Dst: rd_kafka_replyq_copy
      Src: /src/librdkafka/src/rdkafka_coord.c:493,1
    - Dst: rd_kafka_coord_req_t*::creq_send_req_cb
      Src: /src/librdkafka/src/rdkafka_coord.c:494,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:501,1
    - Dst: rd_kafka_coord_req_fail
      Src: /src/librdkafka/src/rdkafka_coord.c:502,1
    - Dst: rd_kafka_coord_req_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:504,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_coord.c:513,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_coord.c:515,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:519,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_coord.c:530,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:533,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_coord.c:536,1
    - Dst: rd_kafka_broker_persistent_connection_add
      Src: /src/librdkafka/src/rdkafka_coord.c:538,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:542,1
    - Dst: rd_kafka_broker_persistent_connection_del
      Src: /src/librdkafka/src/rdkafka_coord.c:548,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:550,1
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_coord.c:556,1
    - Dst: rd_kafka_coord_req_keep
      Src: /src/librdkafka/src/rdkafka_coord.c:569,1
    - Dst: rd_kafka_FindCoordinatorRequest
      Src: /src/librdkafka/src/rdkafka_coord.c:570,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_coord.c:572,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:575,1
    - Dst: rd_kafka_coord_req_fail
      Src: /src/librdkafka/src/rdkafka_coord.c:578,1
    - Dst: rd_kafka_coord_req_destroy
      Src: /src/librdkafka/src/rdkafka_coord.c:580,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 2
    argNames:
    - rk
    - creq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_coord_req_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 454
    functionDepth: 9
    functionLinenumber: 454
    functionLinenumberEnd: 582
    functionName: rd_kafka_coord_req_fsm
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 3
    functionsReached:
    - rd_kafka_replyq_copy
    - rd_kafka_broker_any_usable
    - rd_kafka_broker_is_up
    - rd_kafka_broker_persistent_connection_del
    - unlikely
    - rd_kafka_terminating
    - rd_kafka_FindCoordinatorRequest
    - rd_interval
    - RD_KAFKA_REPLYQ
    - rd_kafka_broker_keep
    - rd_kafka_coord_cache_get
    - rd_kafka_timer_next
    - rd_kafka_coord_req_keep
    - rd_kafka_coord_req_fail
    - rd_kafka_broker_persistent_connection_add
    - rd_kafka_replyq_destroy
    - rd_kafka_broker_destroy
    - rd_rkb_dbg
    - rd_kafka_coord_req_t*::creq_send_req_cb
    - rd_kafka_coord_req_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_req_fsm(rd_kafka_t *rk, rd_kafka_coord_req_t *creq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_coord.c:598,1
    - Dst: rd_kafka_coord_req_fsm
      Src: /src/librdkafka/src/rdkafka_coord.c:599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 593
    functionDepth: 10
    functionLinenumber: 593
    functionLinenumberEnd: 601
    functionName: rd_kafka_coord_rkb_monitor_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 0
    functionsReached:
    - rd_kafka_coord_req_fsm
    - TAILQ_FOREACH_SAFE
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_rkb_monitor_cb(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_coord.c:611,1
    - Dst: rd_kafka_coord_req_fail
      Src: /src/librdkafka/src/rdkafka_coord.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: rd_kafka_coord_reqs_term
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - rd_kafka_coord_req_fail
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_reqs_term(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_coord.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 621
    functionName: rd_kafka_coord_reqs_init
    functionSourceFile: /src/librdkafka/src/rdkafka_coord.c
    functionUses: 1
    functionsReached:
    - TAILQ_INIT
    linkageType: ''
    returnType: void
    signature: void rd_kafka_coord_reqs_init(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdvarint.h:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - dstsize
    - num
    argTypes:
    - char*
    - size_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: rd_uvarint_enc_u64
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_uvarint_enc_u64(char *dst,\n                                                     size_t
      dstsize,\n                                                     uint64_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_uvarint_enc_u64
      Src: /src/librdkafka/src/rdvarint.h:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - dstsize
    - num
    argTypes:
    - char*
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: rd_uvarint_enc_i64
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 2
    functionsReached:
    - rd_uvarint_enc_u64
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_uvarint_enc_i64(char *dst,\n                                                     size_t
      dstsize,\n                                                     int64_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.h:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dst
    - dstsize
    - num
    argTypes:
    - char*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: rd_uvarint_enc_i32
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 1
    functionsReached:
    - rd_uvarint_enc_i64
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_uvarint_enc_i32(char *dst,\n                                                     size_t
      dstsize,\n                                                     int32_t num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - DEC_RETVAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: RD_UVARINT_OVERFLOW
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UVARINT_OVERFLOW(DEC_RETVAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - DEC_RETVAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: RD_UVARINT_UNDERFLOW
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UVARINT_UNDERFLOW(DEC_RETVAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - DEC_RETVAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: RD_UVARINT_DEC_FAILED
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UVARINT_DEC_FAILED(DEC_RETVAL)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdvarint.h:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - src
    - srcsize
    - nump
    argTypes:
    - char*
    - size_t
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: rd_uvarint_dec
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_uvarint_dec(const char *src,\n                                                 size_t
      srcsize,\n                                                 uint64_t *nump)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_uvarint_dec
      Src: /src/librdkafka/src/rdvarint.h:141,1
    - Dst: likely
      Src: /src/librdkafka/src/rdvarint.h:142,1
    - Dst: RD_UVARINT_DEC_FAILED
      Src: /src/librdkafka/src/rdvarint.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - src
    - srcsize
    - nump
    argTypes:
    - char*
    - size_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: rd_varint_dec_i64
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached:
    - rd_uvarint_dec
    - RD_UVARINT_DEC_FAILED
    - likely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_varint_dec_i64(const char *src,\n                                                    size_t
      srcsize,\n                                                    int64_t *nump)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TYPE
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: RD_UVARINT_ENC_SIZEOF
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UVARINT_ENC_SIZEOF(TYPE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: RD_UVARINT_ENC_SIZE_0
    functionSourceFile: /src/librdkafka/src/rdvarint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_UVARINT_ENC_SIZE_0()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_getFrameContentSize
      Src: /src/librdkafka/src/rdkafka_zstd.c:45,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:54,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_zstd.c:70,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:72,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_zstd.c:76,1
    - Dst: ZSTD_decompress
      Src: /src/librdkafka/src/rdkafka_zstd.c:81,1
    - Dst: ZSTD_isError
      Src: /src/librdkafka/src/rdkafka_zstd.c:83,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_zstd.c:89,1
    - Dst: ZSTD_getErrorCode
      Src: /src/librdkafka/src/rdkafka_zstd.c:92,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_zstd.c:95,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_zstd.c:97,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:101,1
    - Dst: ZSTD_getErrorName
      Src: /src/librdkafka/src/rdkafka_zstd.c:104,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - rkb
    - inbuf
    - inlen
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - char*
    - size_t
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 117
    functionName: rd_kafka_zstd_decompress
    functionSourceFile: /src/librdkafka/src/rdkafka_zstd.c
    functionUses: 1
    functionsReached:
    - rd_free
    - ZSTD_getFrameContentSize
    - RD_MAX
    - rd_atomic64_add
    - rd_rkb_dbg
    - rd_malloc
    - ZSTD_decompress
    - ZSTD_getErrorCode
    - ZSTD_getErrorName
    - rd_strerror
    - ZSTD_isError
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_zstd_decompress(rd_kafka_broker_t *rkb,\n
      \                                            char *inbuf,\n                                             size_t
      inlen,\n                                             void **outbuf,\n                                             size_t
      *outlenp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_zstd.c:128,1
    - Dst: ZSTD_compressBound
      Src: /src/librdkafka/src/rdkafka_zstd.c:134,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_zstd.c:135,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:137,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_zstd.c:140,1
    - Dst: ZSTD_createCStream
      Src: /src/librdkafka/src/rdkafka_zstd.c:145,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:147,1
    - Dst: ZSTD_initCStream_srcSize
      Src: /src/librdkafka/src/rdkafka_zstd.c:155,1
    - Dst: ZSTD_initCStream
      Src: /src/librdkafka/src/rdkafka_zstd.c:160,1
    - Dst: ZSTD_isError
      Src: /src/librdkafka/src/rdkafka_zstd.c:162,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:163,1
    - Dst: ZSTD_getErrorName
      Src: /src/librdkafka/src/rdkafka_zstd.c:166,1
    - Dst: rd_slice_reader
      Src: /src/librdkafka/src/rdkafka_zstd.c:171,1
    - Dst: ZSTD_compressStream
      Src: /src/librdkafka/src/rdkafka_zstd.c:173,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_zstd.c:174,1
    - Dst: ZSTD_isError
      Src: /src/librdkafka/src/rdkafka_zstd.c:174,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:175,1
    - Dst: ZSTD_getErrorName
      Src: /src/librdkafka/src/rdkafka_zstd.c:183,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_zstd.c:196,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:197,1
    - Dst: ZSTD_endStream
      Src: /src/librdkafka/src/rdkafka_zstd.c:205,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_zstd.c:206,1
    - Dst: ZSTD_isError
      Src: /src/librdkafka/src/rdkafka_zstd.c:206,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_zstd.c:207,1
    - Dst: ZSTD_getErrorName
      Src: /src/librdkafka/src/rdkafka_zstd.c:210,1
    - Dst: ZSTD_freeCStream
      Src: /src/librdkafka/src/rdkafka_zstd.c:220,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_zstd.c:223,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 5
    argNames:
    - rkb
    - comp_level
    - slice
    - outbuf
    - outlenp
    argTypes:
    - rd_kafka_broker_t*
    - int
    - rd_slice_t*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 226
    functionName: rd_kafka_zstd_compress
    functionSourceFile: /src/librdkafka/src/rdkafka_zstd.c
    functionUses: 2
    functionsReached:
    - rd_free
    - ZSTD_compressStream
    - rd_slice_remains
    - rd_slice_reader
    - ZSTD_freeCStream
    - ZSTD_endStream
    - ZSTD_initCStream_srcSize
    - rd_rkb_dbg
    - ZSTD_compressBound
    - ZSTD_initCStream
    - rd_malloc
    - ZSTD_getErrorName
    - rd_strerror
    - ZSTD_isError
    - ZSTD_createCStream
    - unlikely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_zstd_compress(rd_kafka_broker_t *rkb,\n
      \                                          int comp_level,\n                                           rd_slice_t
      *slice,\n                                           void **outbuf,\n                                           size_t
      *outlenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: MIN
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: MAX
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: HASH_FUNCTION
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HASH_FUNCTION(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: DELTANEXTMAXD
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELTANEXTMAXD(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: DELTANEXTU16
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELTANEXTU16(table, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ip
    - ','
    - op
    - ','
    - anchor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: UPDATABLE
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATABLE(ip, op, anchor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HASH_FUNCTION
      Src: /src/librdkafka/src/lz4hc.c:88,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: LZ4HC_hashPtr
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - HASH_FUNCTION
    - LZ4_read32
    linkageType: ''
    returnType: U32
    signature: U32 LZ4HC_hashPtr(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4hc.c:96,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4hc.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hc4
    argTypes:
    - LZ4HC_CCtx_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: LZ4HC_clearTables
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - MEM_INIT
    linkageType: ''
    returnType: void
    signature: void LZ4HC_clearTables (LZ4HC_CCtx_internal* hc4)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:104,1
    - Dst: LZ4HC_clearTables
      Src: /src/librdkafka/src/lz4hc.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - hc4
    - start
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    assertStmts:
    - condition: (newStartingOffset >= bufferSize)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: LZ4HC_init_internal
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4HC_clearTables
    linkageType: ''
    returnType: void
    signature: void LZ4HC_init_internal (LZ4HC_CCtx_internal* hc4, const BYTE* start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:128,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:129,1
    - Dst: LZ4HC_hashPtr
      Src: /src/librdkafka/src/lz4hc.c:132,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - hc4
    - ip
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    assertStmts:
    - condition: (ip >= prefixPtr)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (target >= prefixIdx)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 141
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 141
    functionName: LZ4HC_Insert
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - assert
    - DELTANEXTU16
    - LZ4HC_hashPtr
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4HC_Insert (LZ4HC_CCtx_internal* hc4, const BYTE*
      ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/librdkafka/src/lz4hc.c:150,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:151,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:152,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:152,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:153,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ip
    - match
    - iMin
    - mMin
    argTypes:
    - BYTE*
    - BYTE*
    - BYTE*
    - BYTE*
    assertStmts:
    - condition: ((size_t)(ip-iMin) < (1U<<31))
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (match >= mMin)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (ip >= iMin)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (min <= 0)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: ((size_t)(match - mMin) < (1U<<31))
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: LZ4HC_countBack
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - assert
    - MAX
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_countBack(const BYTE* const ip, const BYTE*
      const match,\n                    const BYTE* const iMin, const BYTE* const
      mMin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: LZ4HC_rotl32
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4HC_rotl32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: LZ4HC_rotl32
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4HC_rotl32(x,r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_rotl32
      Src: /src/librdkafka/src/lz4hc.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rotate
    - pattern
    argTypes:
    - size_t
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: LZ4HC_rotatePattern
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_rotl32
    linkageType: ''
    returnType: U32
    signature: U32 LZ4HC_rotatePattern(size_t const rotate, U32 const pattern)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/lz4hc.c:183,1
    - Dst: LZ4_read_ARCH
      Src: /src/librdkafka/src/lz4hc.c:184,1
    - Dst: LZ4_NbCommonBytes
      Src: /src/librdkafka/src/lz4hc.c:186,1
    - Dst: LZ4_isLittleEndian
      Src: /src/librdkafka/src/lz4hc.c:190,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - ip
    - iEnd
    - pattern32
    argTypes:
    - BYTE*
    - BYTE*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 204
    functionName: LZ4HC_countPattern
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_read_ARCH
    - LZ4_NbCommonBytes
    - likely
    - LZ4_isLittleEndian
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4HC_countPattern(const BYTE* ip, const BYTE* const iEnd,
      U32 const pattern32)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/lz4hc.c:214,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:215,1
    - Dst: likely
      Src: /src/librdkafka/src/lz4hc.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - ip
    - iLow
    - pattern
    argTypes:
    - BYTE*
    - BYTE*
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    functionName: LZ4HC_reverseCountPattern
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - likely
    - LZ4_read32
    linkageType: ''
    returnType: unsigned
    signature: unsigned LZ4HC_reverseCountPattern(const BYTE* ip, const BYTE* const
      iLow, U32 pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dictLimit
    - matchIndex
    argTypes:
    - U32
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: LZ4HC_protectDictEnd
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4HC_protectDictEnd(U32 const dictLimit, U32 const matchIndex)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:266,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:271,1
    - Dst: LZ4HC_Insert
      Src: /src/librdkafka/src/lz4hc.c:273,1
    - Dst: LZ4HC_hashPtr
      Src: /src/librdkafka/src/lz4hc.c:274,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:275,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:281,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:286,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:287,1
    - Dst: LZ4_read16
      Src: /src/librdkafka/src/lz4hc.c:288,1
    - Dst: LZ4_read16
      Src: /src/librdkafka/src/lz4hc.c:288,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:289,1
    - Dst: LZ4HC_countBack
      Src: /src/librdkafka/src/lz4hc.c:290,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4hc.c:291,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:300,1
    - Dst: likely
      Src: /src/librdkafka/src/lz4hc.c:301,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:302,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4hc.c:306,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4hc.c:308,1
    - Dst: LZ4HC_countBack
      Src: /src/librdkafka/src/lz4hc.c:309,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:318,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:327,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:340,1
    - Dst: LZ4HC_countPattern
      Src: /src/librdkafka/src/lz4hc.c:348,1
    - Dst: LZ4HC_protectDictEnd
      Src: /src/librdkafka/src/lz4hc.c:353,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:356,1
    - Dst: LZ4HC_countPattern
      Src: /src/librdkafka/src/lz4hc.c:358,1
    - Dst: LZ4HC_rotatePattern
      Src: /src/librdkafka/src/lz4hc.c:360,1
    - Dst: LZ4HC_countPattern
      Src: /src/librdkafka/src/lz4hc.c:361,1
    - Dst: LZ4HC_reverseCountPattern
      Src: /src/librdkafka/src/lz4hc.c:364,1
    - Dst: LZ4HC_rotatePattern
      Src: /src/librdkafka/src/lz4hc.c:369,1
    - Dst: LZ4HC_reverseCountPattern
      Src: /src/librdkafka/src/lz4hc.c:370,1
    - Dst: MAX
      Src: /src/librdkafka/src/lz4hc.c:373,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:374,1
    - Dst: LZ4HC_protectDictEnd
      Src: /src/librdkafka/src/lz4hc.c:380,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:384,1
    - Dst: LZ4HC_protectDictEnd
      Src: /src/librdkafka/src/lz4hc.c:389,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:390,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4hc.c:395,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:397,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:399,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:404,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:413,1
    - Dst: LZ4HC_hashPtr
      Src: /src/librdkafka/src/lz4hc.c:421,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:422,1
    - Dst: LZ4_read32
      Src: /src/librdkafka/src/lz4hc.c:427,1
    - Dst: LZ4_count
      Src: /src/librdkafka/src/lz4hc.c:432,1
    - Dst: LZ4HC_countBack
      Src: /src/librdkafka/src/lz4hc.c:433,1
    - Dst: DELTANEXTU16
      Src: /src/librdkafka/src/lz4hc.c:441,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 139
    argCount: 12
    argNames:
    - hc4
    - ip
    - iLowLimit
    - iHighLimit
    - longest
    - matchpos
    - startpos
    - maxNbAttempts
    - patternAnalysis
    - chainSwap
    - dict
    - favorDecSpeed
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    - BYTE*
    - BYTE*
    - int
    - BYTE**
    - BYTE**
    - int
    - int
    - int
    - dictCtx_directive
    - HCfavor_e
    assertStmts:
    - condition: (matchIndex < ipIndex)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (matchIndex >= dictIdx)
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (lookBackLength==0)
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (prefixPtr - prefixIdx + matchIndex != ip)
      pos:
        line_end: 396
        line_start: 396
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (matchCandidateIdx - backLength >= lowestMatchIndex)
      pos:
        line_end: 373
        line_start: 373
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (newMatchIndex >= prefixIdx - 3 && newMatchIndex < prefixIdx && !extDict)
      pos:
        line_end: 383
        line_start: 383
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (maxML < 2 GB)
      pos:
        line_end: 398
        line_start: 398
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (dictEndOffset <= 1 GB)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (matchPtr < ip)
      pos:
        line_end: 285
        line_start: 285
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (longest >= 1)
      pos:
        line_end: 286
        line_start: 286
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (newMatchIndex >= prefixIdx - 3 && newMatchIndex < prefixIdx && !extDict)
      pos:
        line_end: 389
        line_start: 389
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 447
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 447
    functionName: LZ4HC_InsertAndGetWiderMatch
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - likely
    - LZ4_count
    - MAX
    - LZ4HC_protectDictEnd
    - MIN
    - DEBUGLOG
    - LZ4HC_countPattern
    - LZ4_read16
    - LZ4HC_reverseCountPattern
    - LZ4HC_hashPtr
    - assert
    - DELTANEXTU16
    - LZ4_read32
    - LZ4HC_rotatePattern
    - LZ4HC_countBack
    - LZ4HC_Insert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_InsertAndGetWiderMatch (\n        LZ4HC_CCtx_internal*
      const hc4,\n        const BYTE* const ip,\n        const BYTE* const iLowLimit,
      const BYTE* const iHighLimit,\n        int longest,\n        const BYTE** matchpos,\n
      \       const BYTE** startpos,\n        const int maxNbAttempts,\n        const
      int patternAnalysis, const int chainSwap,\n        const dictCtx_directive dict,\n
      \       const HCfavor_e favorDecSpeed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_InsertAndGetWiderMatch
      Src: /src/librdkafka/src/lz4hc.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - hc4
    - ip
    - iLimit
    - matchpos
    - maxNbAttempts
    - patternAnalysis
    - dict
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    - BYTE*
    - BYTE**
    - int
    - int
    - dictCtx_directive
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 449
    functionDepth: 4
    functionLinenumber: 449
    functionLinenumberEnd: 462
    functionName: LZ4HC_InsertAndFindBestMatch
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_InsertAndGetWiderMatch
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_InsertAndFindBestMatch(LZ4HC_CCtx_internal*
      const hc4,   /* Index table will be updated */\n                       const
      BYTE* const ip, const BYTE* const iLimit,\n                       const BYTE**
      matchpos,\n                       const int maxNbAttempts,\n                       const
      int patternAnalysis,\n                       const dictCtx_directive dict)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:493,1
    - Dst: LZ4_STATIC_ASSERT
      Src: /src/librdkafka/src/lz4hc.c:502,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:505,1
    - Dst: LZ4_wildCopy8
      Src: /src/librdkafka/src/lz4hc.c:519,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:523,1
    - Dst: LZ4_writeLE16
      Src: /src/librdkafka/src/lz4hc.c:524,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:527,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 7
    argNames:
    - _ip
    - _op
    - _anchor
    - matchLength
    - match
    - limit
    - oend
    argTypes:
    - BYTE**
    - BYTE**
    - BYTE**
    - int
    - BYTE*
    - limitedOutput_directive
    - BYTE*
    assertStmts:
    - condition: ( (ip - match) <= LZ4_DISTANCE_MAX )
      pos:
        line_end: 522
        line_start: 522
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (matchLength >= MINMATCH)
      pos:
        line_end: 526
        line_start: 526
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 548
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 548
    functionName: LZ4HC_encodeSequence
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_writeLE16
    - LZ4_wildCopy8
    - LZ4_STATIC_ASSERT
    - DEBUGLOG
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_encodeSequence (\n    const BYTE** _ip,\n    BYTE**
      _op,\n    const BYTE** _anchor,\n    int matchLength,\n    const BYTE* const
      match,\n    limitedOutput_directive limit,\n    BYTE* oend)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_InsertAndFindBestMatch
      Src: /src/librdkafka/src/lz4hc.c:593,1
    - Dst: LZ4HC_InsertAndGetWiderMatch
      Src: /src/librdkafka/src/lz4hc.c:601,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:610,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:610,1
    - Dst: LZ4HC_InsertAndGetWiderMatch
      Src: /src/librdkafka/src/lz4hc.c:646,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:658,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:658,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:661,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:661,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:684,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:684,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:722,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:722,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:747,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4hc.c:758,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:773,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:779,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:779,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:782,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:782,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 184
    argCount: 8
    argNames:
    - ctx
    - source
    - dest
    - srcSizePtr
    - maxOutputSize
    - maxNbAttempts
    - limit
    - dict
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - limitedOutput_directive
    - dictCtx_directive
    assertStmts:
    - condition: (ml >= 0)
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (maxMlSize < INT_MAX)
      pos:
        line_end: 778
        line_start: 778
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 788
      start: 553
    functionDepth: 5
    functionLinenumber: 553
    functionLinenumberEnd: 788
    functionName: LZ4HC_compress_hashChain
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_InsertAndFindBestMatch
    - UPDATABLE
    - LZ4HC_InsertAndGetWiderMatch
    - DEBUGLOG
    - LZ4HC_encodeSequence
    - LZ4_memcpy
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_compress_hashChain (\n    LZ4HC_CCtx_internal*
      const ctx,\n    const char* const source,\n    char* const dest,\n    int* srcSizePtr,\n
      \   int const maxOutputSize,\n    int maxNbAttempts,\n    const limitedOutput_directive
      limit,\n    const dictCtx_directive dict\n    )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:833,1
    - Dst: MIN
      Src: /src/librdkafka/src/lz4hc.c:841,1
    - Dst: LZ4HC_compress_hashChain
      Src: /src/librdkafka/src/lz4hc.c:847,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:851,1
    - Dst: LZ4HC_compress_optimal
      Src: /src/librdkafka/src/lz4hc.c:852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 8
    argNames:
    - ctx
    - src
    - dst
    - srcSizePtr
    - dstCapacity
    - cLevel
    - limit
    - dict
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - limitedOutput_directive
    - dictCtx_directive
    assertStmts:
    - condition: (cParam.strat == lz4opt)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 861
      start: 800
    functionDepth: 6
    functionLinenumber: 800
    functionLinenumberEnd: 861
    functionName: LZ4HC_compress_generic_internal
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_optimal
    - MIN
    - DEBUGLOG
    - assert
    - LZ4HC_compress_hashChain
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_compress_generic_internal (\n    LZ4HC_CCtx_internal*
      const ctx,\n    const char* const src,\n    char* const dst,\n    int* const
      srcSizePtr,\n    int const dstCapacity,\n    int cLevel,\n    const limitedOutput_directive
      limit,\n    const dictCtx_directive dict\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:876,1
    - Dst: LZ4HC_compress_generic_internal
      Src: /src/librdkafka/src/lz4hc.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSizePtr
    - dstCapacity
    - cLevel
    - limit
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - limitedOutput_directive
    assertStmts:
    - condition: (ctx->dictCtx == NULL)
      pos:
        line_end: 875
        line_start: 875
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 878
      start: 865
    functionDepth: 7
    functionLinenumber: 865
    functionLinenumberEnd: 878
    functionName: LZ4HC_compress_generic_noDictCtx
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_generic_internal
    - assert
    linkageType: ''
    returnType: int
    signature: "int LZ4HC_compress_generic_noDictCtx (\n        LZ4HC_CCtx_internal*
      const ctx,\n        const char* const src,\n        char* const dst,\n        int*
      const srcSizePtr,\n        int const dstCapacity,\n        int cLevel,\n        limitedOutput_directive
      limit\n        )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:892,1
    - Dst: LZ4HC_compress_generic_noDictCtx
      Src: /src/librdkafka/src/lz4hc.c:895,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4hc.c:897,1
    - Dst: LZ4HC_setExternalDict
      Src: /src/librdkafka/src/lz4hc.c:898,1
    - Dst: LZ4HC_compress_generic_noDictCtx
      Src: /src/librdkafka/src/lz4hc.c:900,1
    - Dst: LZ4HC_compress_generic_internal
      Src: /src/librdkafka/src/lz4hc.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSizePtr
    - dstCapacity
    - cLevel
    - limit
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - limitedOutput_directive
    assertStmts:
    - condition: (ctx->dictCtx != NULL)
      pos:
        line_end: 891
        line_start: 891
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 904
      start: 880
    functionDepth: 8
    functionLinenumber: 880
    functionLinenumberEnd: 904
    functionName: LZ4HC_compress_generic_dictCtx
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_generic_internal
    - LZ4HC_setExternalDict
    - LZ4HC_compress_generic_noDictCtx
    - LZ4_memcpy
    - assert
    linkageType: ''
    returnType: int
    signature: "int LZ4HC_compress_generic_dictCtx (\n        LZ4HC_CCtx_internal*
      const ctx,\n        const char* const src,\n        char* const dst,\n        int*
      const srcSizePtr,\n        int const dstCapacity,\n        int cLevel,\n        limitedOutput_directive
      limit\n        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_compress_generic_noDictCtx
      Src: /src/librdkafka/src/lz4hc.c:918,1
    - Dst: LZ4HC_compress_generic_dictCtx
      Src: /src/librdkafka/src/lz4hc.c:920,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - ctx
    - src
    - dst
    - srcSizePtr
    - dstCapacity
    - cLevel
    - limit
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - limitedOutput_directive
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 906
    functionDepth: 9
    functionLinenumber: 906
    functionLinenumberEnd: 922
    functionName: LZ4HC_compress_generic
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_generic_dictCtx
    - LZ4HC_compress_generic_noDictCtx
    linkageType: ''
    returnType: int
    signature: "int LZ4HC_compress_generic (\n        LZ4HC_CCtx_internal* const ctx,\n
      \       const char* const src,\n        char* const dst,\n        int* const
      srcSizePtr,\n        int const dstCapacity,\n        int cLevel,\n        limitedOutput_directive
      limit\n        )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 925
    functionName: LZ4_sizeofStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_sizeofStateHC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 935
    functionName: LZ4_streamHC_t_alignment
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t LZ4_streamHC_t_alignment(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_isAligned
      Src: /src/librdkafka/src/lz4hc.c:942,1
    - Dst: LZ4_streamHC_t_alignment
      Src: /src/librdkafka/src/lz4hc.c:942,1
    - Dst: LZ4_resetStreamHC_fast
      Src: /src/librdkafka/src/lz4hc.c:943,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:944,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:945,1
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:946,1
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - state
    - src
    - dst
    - srcSize
    - dstCapacity
    - compressionLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 939
    functionDepth: 10
    functionLinenumber: 939
    functionLinenumberEnd: 949
    functionName: LZ4_compress_HC_extStateHC_fastReset
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached:
    - LZ4_streamHC_t_alignment
    - LZ4HC_init_internal
    - LZ4_isAligned
    - LZ4_resetStreamHC_fast
    - LZ4HC_compress_generic
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC_extStateHC_fastReset (void* state, const char*
      src, char* dst, int srcSize, int dstCapacity, int compressionLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:953,1
    - Dst: LZ4_compress_HC_extStateHC_fastReset
      Src: /src/librdkafka/src/lz4hc.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - state
    - src
    - dst
    - srcSize
    - dstCapacity
    - compressionLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 11
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: LZ4_compress_HC_extStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_initStreamHC
    - LZ4_compress_HC_extStateHC_fastReset
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC_extStateHC (void* state, const char* src, char*
      dst, int srcSize, int dstCapacity, int compressionLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4hc.c:962,1
    - Dst: LZ4_compress_HC_extStateHC
      Src: /src/librdkafka/src/lz4hc.c:968,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4hc.c:970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - src
    - dst
    - srcSize
    - dstCapacity
    - compressionLevel
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 958
    functionDepth: 12
    functionLinenumber: 958
    functionLinenumberEnd: 973
    functionName: LZ4_compress_HC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - ALLOC
    - FREEMEM
    - LZ4_compress_HC_extStateHC
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC(const char* src, char* dst, int srcSize, int dstCapacity,
      int compressionLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:978,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:980,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:981,1
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - state
    - source
    - dest
    - sourceSizePtr
    - targetDestSize
    - cLevel
    argTypes:
    - void*
    - char*
    - char*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 10
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: LZ4_compress_HC_destSize
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_init_internal
    - LZ4_setCompressionLevel
    - LZ4_initStreamHC
    - LZ4HC_compress_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC_destSize(void* state, const char* source, char*
      dest, int* sourceSizePtr, int targetDestSize, int cLevel)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_AND_ZERO
      Src: /src/librdkafka/src/lz4hc.c:995,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: LZ4_createStreamHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_setCompressionLevel
    - ALLOC_AND_ZERO
    linkageType: ''
    returnType: LZ4_streamHC_t
    signature: LZ4_streamHC_t * LZ4_createStreamHC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1003,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4hc.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - LZ4_streamHCPtr
    argTypes:
    - LZ4_streamHC_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    functionName: LZ4_freeStreamHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - FREEMEM
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4_freeStreamHC (LZ4_streamHC_t* LZ4_streamHCPtr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1014,1
    - Dst: LZ4_isAligned
      Src: /src/librdkafka/src/lz4hc.c:1018,1
    - Dst: LZ4_streamHC_t_alignment
      Src: /src/librdkafka/src/lz4hc.c:1018,1
    - Dst: MEM_INIT
      Src: /src/librdkafka/src/lz4hc.c:1021,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1024
    functionName: LZ4_initStreamHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 3
    functionsReached:
    - LZ4_streamHC_t_alignment
    - MEM_INIT
    - LZ4_setCompressionLevel
    - DEBUGLOG
    - LZ4_isAligned
    linkageType: ''
    returnType: LZ4_streamHC_t
    signature: LZ4_streamHC_t * LZ4_initStreamHC (void* buffer, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:1029,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - LZ4_streamHCPtr
    - compressionLevel
    argTypes:
    - LZ4_streamHC_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1031
    functionName: LZ4_resetStreamHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_setCompressionLevel
    - LZ4_initStreamHC
    linkageType: ''
    returnType: void
    signature: void LZ4_resetStreamHC (LZ4_streamHC_t* LZ4_streamHCPtr, int compressionLevel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1035,1
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:1037,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1043,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - LZ4_streamHCPtr
    - compressionLevel
    argTypes:
    - LZ4_streamHC_t*
    - int
    assertStmts:
    - condition: (LZ4_streamHCPtr->internal_donotuse.prefixStart == NULL)
      pos:
        line_end: 1042
        line_start: 1042
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1049
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1049
    functionName: LZ4_resetStreamHC_fast
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 2
    functionsReached:
    - assert
    - LZ4_setCompressionLevel
    - LZ4_initStreamHC
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4_resetStreamHC_fast (LZ4_streamHC_t* LZ4_streamHCPtr, int compressionLevel)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1053,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - LZ4_streamHCPtr
    - compressionLevel
    argTypes:
    - LZ4_streamHC_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1057
    functionName: LZ4_setCompressionLevel
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 7
    functionsReached:
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4_setCompressionLevel(LZ4_streamHC_t* LZ4_streamHCPtr, int compressionLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - LZ4_streamHCPtr
    - favor
    argTypes:
    - LZ4_streamHC_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1062
    functionName: LZ4_favorDecompressionSpeed
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_favorDecompressionSpeed(LZ4_streamHC_t* LZ4_streamHCPtr, int
      favor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1070,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1071,1
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:1078,1
    - Dst: LZ4_setCompressionLevel
      Src: /src/librdkafka/src/lz4hc.c:1079,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:1081,1
    - Dst: LZ4HC_Insert
      Src: /src/librdkafka/src/lz4hc.c:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - LZ4_streamHCPtr
    - dictionary
    - dictSize
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - int
    assertStmts:
    - condition: (LZ4_streamHCPtr != NULL)
      pos:
        line_end: 1070
        line_start: 1070
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1085
      start: 1066
    functionDepth: 3
    functionLinenumber: 1066
    functionLinenumberEnd: 1085
    functionName: LZ4_loadDictHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached:
    - LZ4_initStreamHC
    - LZ4HC_init_internal
    - LZ4_setCompressionLevel
    - DEBUGLOG
    - assert
    - LZ4HC_Insert
    linkageType: ''
    returnType: int
    signature: "int LZ4_loadDictHC (LZ4_streamHC_t* LZ4_streamHCPtr,\n              const
      char* dictionary, int dictSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - working_stream
    - dictionary_stream
    argTypes:
    - LZ4_streamHC_t*
    - LZ4_streamHC_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1089
    functionName: LZ4_attach_HC_dictionary
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void LZ4_attach_HC_dictionary(LZ4_streamHC_t *working_stream, const
      LZ4_streamHC_t *dictionary_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1095,1
    - Dst: LZ4HC_Insert
      Src: /src/librdkafka/src/lz4hc.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctxPtr
    - newBlock
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1109
    functionName: LZ4HC_setExternalDict
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached:
    - LZ4HC_Insert
    - DEBUGLOG
    linkageType: ''
    returnType: void
    signature: void LZ4HC_setExternalDict(LZ4HC_CCtx_internal* ctxPtr, const BYTE*
      newBlock)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1118,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1120,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:1122,1
    - Dst: LZ4_loadDictHC
      Src: /src/librdkafka/src/lz4hc.c:1128,1
    - Dst: LZ4HC_setExternalDict
      Src: /src/librdkafka/src/lz4hc.c:1133,1
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:1148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - LZ4_streamHCPtr
    - src
    - dst
    - srcSizePtr
    - dstCapacity
    - limit
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - char*
    - int*
    - int
    - limitedOutput_directive
    assertStmts:
    - condition: (ctxPtr != NULL)
      pos:
        line_end: 1119
        line_start: 1119
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1149
      start: 1111
    functionDepth: 10
    functionLinenumber: 1111
    functionLinenumberEnd: 1149
    functionName: LZ4_compressHC_continue_generic
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_setExternalDict
    - LZ4HC_init_internal
    - LZ4_loadDictHC
    - DEBUGLOG
    - assert
    - LZ4HC_compress_generic
    linkageType: ''
    returnType: int
    signature: "int LZ4_compressHC_continue_generic (LZ4_streamHC_t* LZ4_streamHCPtr,\n
      \                                const char* src, char* dst,\n                                 int*
      srcSizePtr, int dstCapacity,\n                                 limitedOutput_directive
      limit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1153,1
    - Dst: LZ4_compressHC_continue_generic
      Src: /src/librdkafka/src/lz4hc.c:1154,1
    - Dst: LZ4_compressHC_continue_generic
      Src: /src/librdkafka/src/lz4hc.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - LZ4_streamHCPtr
    - src
    - dst
    - srcSize
    - dstCapacity
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 11
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: LZ4_compress_HC_continue
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 2
    functionsReached:
    - LZ4_compressHC_continue_generic
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC_continue (LZ4_streamHC_t* LZ4_streamHCPtr, const
      char* src, char* dst, int srcSize, int dstCapacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compressHC_continue_generic
      Src: /src/librdkafka/src/lz4hc.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - LZ4_streamHCPtr
    - src
    - dst
    - srcSizePtr
    - targetDestSize
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1159
    functionDepth: 11
    functionLinenumber: 1159
    functionLinenumberEnd: 1162
    functionName: LZ4_compress_HC_continue_destSize
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compressHC_continue_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_compress_HC_continue_destSize (LZ4_streamHC_t* LZ4_streamHCPtr,
      const char* src, char* dst, int* srcSizePtr, int targetDestSize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1175,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1176,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1180,1
    - Dst: LZ4_memmove
      Src: /src/librdkafka/src/lz4hc.c:1182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - LZ4_streamHCPtr
    - safeBuffer
    - dictSize
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - int
    assertStmts:
    - condition: (dictSize == 0)
      pos:
        line_end: 1179
        line_start: 1179
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (prefixSize >= 0)
      pos:
        line_end: 1175
        line_start: 1175
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1193
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1193
    functionName: LZ4_saveDictHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached:
    - assert
    - LZ4_memmove
    - DEBUGLOG
    linkageType: ''
    returnType: int
    signature: int LZ4_saveDictHC (LZ4_streamHC_t* LZ4_streamHCPtr, char* safeBuffer,
      int dictSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC
      Src: /src/librdkafka/src/lz4hc.c:1203,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - srcSize
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1203
    functionDepth: 13
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    functionName: LZ4_compressHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC(const char* src, char* dst, int srcSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC
      Src: /src/librdkafka/src/lz4hc.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - srcSize
    - maxDstSize
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1204
    functionDepth: 13
    functionLinenumber: 1204
    functionLinenumberEnd: 1204
    functionName: LZ4_compressHC_limitedOutput
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC_limitedOutput(const char* src, char* dst, int srcSize,
      int maxDstSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC
      Src: /src/librdkafka/src/lz4hc.c:1205,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - src
    - dst
    - srcSize
    - cLevel
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1205
    functionDepth: 13
    functionLinenumber: 1205
    functionLinenumberEnd: 1205
    functionName: LZ4_compressHC2
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2(const char* src, char* dst, int srcSize, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC
      Src: /src/librdkafka/src/lz4hc.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - src
    - dst
    - srcSize
    - maxDstSize
    - cLevel
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1206
    functionDepth: 13
    functionLinenumber: 1206
    functionLinenumberEnd: 1206
    functionName: LZ4_compressHC2_limitedOutput
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2_limitedOutput(const char* src, char* dst, int srcSize,
      int maxDstSize, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_extStateHC
      Src: /src/librdkafka/src/lz4hc.c:1207,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - state
    - src
    - dst
    - srcSize
    argTypes:
    - void*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1207
    functionDepth: 12
    functionLinenumber: 1207
    functionLinenumberEnd: 1207
    functionName: LZ4_compressHC_withStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_extStateHC
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC_withStateHC (void* state, const char* src, char*
      dst, int srcSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_extStateHC
      Src: /src/librdkafka/src/lz4hc.c:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - state
    - src
    - dst
    - srcSize
    - maxDstSize
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1208
    functionDepth: 12
    functionLinenumber: 1208
    functionLinenumberEnd: 1208
    functionName: LZ4_compressHC_limitedOutput_withStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_extStateHC
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC_limitedOutput_withStateHC (void* state, const char*
      src, char* dst, int srcSize, int maxDstSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_extStateHC
      Src: /src/librdkafka/src/lz4hc.c:1209,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - state
    - src
    - dst
    - srcSize
    - cLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1209
    functionDepth: 12
    functionLinenumber: 1209
    functionLinenumberEnd: 1209
    functionName: LZ4_compressHC2_withStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_extStateHC
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2_withStateHC (void* state, const char* src, char*
      dst, int srcSize, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_extStateHC
      Src: /src/librdkafka/src/lz4hc.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - state
    - src
    - dst
    - srcSize
    - maxDstSize
    - cLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1210
    functionDepth: 12
    functionLinenumber: 1210
    functionLinenumberEnd: 1210
    functionName: LZ4_compressHC2_limitedOutput_withStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_extStateHC
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2_limitedOutput_withStateHC (void* state, const char*
      src, char* dst, int srcSize, int maxDstSize, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_continue
      Src: /src/librdkafka/src/lz4hc.c:1211,1
    - Dst: LZ4_compressBound
      Src: /src/librdkafka/src/lz4hc.c:1211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1211
    functionDepth: 12
    functionLinenumber: 1211
    functionLinenumberEnd: 1211
    functionName: LZ4_compressHC_continue
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_continue
    - LZ4_compressBound
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC_continue (LZ4_streamHC_t* ctx, const char* src,
      char* dst, int srcSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_HC_continue
      Src: /src/librdkafka/src/lz4hc.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ctx
    - src
    - dst
    - srcSize
    - maxDstSize
    argTypes:
    - LZ4_streamHC_t*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1212
    functionDepth: 12
    functionLinenumber: 1212
    functionLinenumberEnd: 1212
    functionName: LZ4_compressHC_limitedOutput_continue
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_compress_HC_continue
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC_limitedOutput_continue (LZ4_streamHC_t* ctx, const
      char* src, char* dst, int srcSize, int maxDstSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1216
    functionName: LZ4_sizeofStreamStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZ4_sizeofStreamStateHC(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_initStreamHC
      Src: /src/librdkafka/src/lz4hc.c:1222,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - state
    - inputBuffer
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1226
    functionName: LZ4_resetStreamStateHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_init_internal
    - LZ4_initStreamHC
    linkageType: ''
    returnType: int
    signature: int LZ4_resetStreamStateHC(void* state, char* inputBuffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_createStreamHC
      Src: /src/librdkafka/src/lz4hc.c:1231,1
    - Dst: LZ4HC_init_internal
      Src: /src/librdkafka/src/lz4hc.c:1233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - inputBuffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1235
    functionName: LZ4_createHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_init_internal
    - LZ4_createStreamHC
    linkageType: ''
    returnType: void
    signature: void * LZ4_createHC (const char* inputBuffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4hc.c:1240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - LZ4HC_Data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1242
    functionName: LZ4_freeHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - FREEMEM
    linkageType: ''
    returnType: int
    signature: int LZ4_freeHC (void* LZ4HC_Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - LZ4HC_Data
    - src
    - dst
    - srcSize
    - cLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1245
    functionDepth: 10
    functionLinenumber: 1245
    functionLinenumberEnd: 1248
    functionName: LZ4_compressHC2_continue
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2_continue (void* LZ4HC_Data, const char* src, char*
      dst, int srcSize, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_compress_generic
      Src: /src/librdkafka/src/lz4hc.c:1252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - LZ4HC_Data
    - src
    - dst
    - srcSize
    - dstCapacity
    - cLevel
    argTypes:
    - void*
    - char*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1250
    functionDepth: 10
    functionLinenumber: 1250
    functionLinenumberEnd: 1253
    functionName: LZ4_compressHC2_limitedOutput_continue
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_compress_generic
    linkageType: ''
    returnType: int
    signature: int LZ4_compressHC2_limitedOutput_continue (void* LZ4HC_Data, const
      char* src, char* dst, int srcSize, int dstCapacity, int cLevel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_resetStreamHC_fast
      Src: /src/librdkafka/src/lz4hc.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - LZ4HC_Data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1255
    functionDepth: 3
    functionLinenumber: 1255
    functionLinenumberEnd: 1262
    functionName: LZ4_slideInputBufferHC
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4_resetStreamHC_fast
    linkageType: ''
    returnType: char
    signature: char * LZ4_slideInputBufferHC(void* LZ4HC_Data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - litlen
    argTypes:
    - int
    assertStmts:
    - condition: (litlen >= 0)
      pos:
        line_end: 1278
        line_start: 1278
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1283
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1283
    functionName: LZ4HC_literalsPrice
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4HC_literalsPrice(int const litlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1290,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1291,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - litlen
    - mlen
    argTypes:
    - int
    - int
    assertStmts:
    - condition: (litlen >= 0)
      pos:
        line_end: 1289
        line_start: 1289
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (mlen >= MINMATCH)
      pos:
        line_end: 1290
        line_start: 1290
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1299
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1299
    functionName: LZ4HC_sequencePrice
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - assert
    - LZ4HC_literalsPrice
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: LZ4_FORCE_INLINE LZ4HC_sequencePrice(int litlen, int mlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LZ4HC_InsertAndGetWiderMatch
      Src: /src/librdkafka/src/lz4hc.c:1319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - ctx
    - ip
    - iHighLimit
    - minLen
    - nbSearches
    - dict
    - favorDecSpeed
    argTypes:
    - LZ4HC_CCtx_internal*
    - BYTE*
    - BYTE*
    - int
    - int
    - dictCtx_directive
    - HCfavor_e
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1307
    functionDepth: 4
    functionLinenumber: 1307
    functionLinenumberEnd: 1327
    functionName: LZ4HC_match_t::LZ4HC_FindLongerMatch
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 0
    functionsReached:
    - LZ4HC_InsertAndGetWiderMatch
    linkageType: ''
    returnType: LZ4_FORCE_INLINE
    signature: "LZ4_FORCE_INLINE LZ4HC_match_t\nLZ4HC_FindLongerMatch(LZ4HC_CCtx_internal*
      const ctx,\n                      const BYTE* ip, const BYTE* const iHighLimit,\n
      \                     int minLen, int nbSearches,\n                      const
      dictCtx_directive dict,\n                      const HCfavor_e favorDecSpeed)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/librdkafka/src/lz4hc.c:1345,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1365,1
    - Dst: LZ4HC_FindLongerMatch
      Src: /src/librdkafka/src/lz4hc.c:1376,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:1384,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:1384,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1395,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1400,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1407,1
    - Dst: LZ4HC_sequencePrice
      Src: /src/librdkafka/src/lz4hc.c:1409,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1414,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1423,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1424,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1434,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1447,1
    - Dst: LZ4HC_FindLongerMatch
      Src: /src/librdkafka/src/lz4hc.c:1449,1
    - Dst: LZ4HC_FindLongerMatch
      Src: /src/librdkafka/src/lz4hc.c:1452,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1468,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1468,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1475,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1483,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1489,1
    - Dst: LZ4HC_sequencePrice
      Src: /src/librdkafka/src/lz4hc.c:1494,1
    - Dst: LZ4HC_sequencePrice
      Src: /src/librdkafka/src/lz4hc.c:1497,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1500,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1503,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1505,1
    - Dst: LZ4HC_literalsPrice
      Src: /src/librdkafka/src/lz4hc.c:1520,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1521,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1525,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1531,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1532,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1533,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1540,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1546,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1557,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1558,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:1560,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:1560,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1583,1
    - Dst: LZ4_memcpy
      Src: /src/librdkafka/src/lz4hc.c:1594,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1610,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1616,1
    - Dst: assert
      Src: /src/librdkafka/src/lz4hc.c:1616,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1619,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1620,1
    - Dst: LZ4HC_encodeSequence
      Src: /src/librdkafka/src/lz4hc.c:1621,1
    - Dst: UPDATABLE
      Src: /src/librdkafka/src/lz4hc.c:1621,1
    - Dst: DEBUGLOG
      Src: /src/librdkafka/src/lz4hc.c:1622,1
    - Dst: FREEMEM
      Src: /src/librdkafka/src/lz4hc.c:1628,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 213
    argCount: 11
    argNames:
    - ctx
    - source
    - dst
    - srcSizePtr
    - dstCapacity
    - nbSearches
    - sufficient_len
    - limit
    - fullUpdate
    - dict
    - favorDecSpeed
    argTypes:
    - LZ4HC_CCtx_internal*
    - char*
    - char*
    - int*
    - int
    - int
    - size_t
    - limitedOutput_directive
    - int
    - dictCtx_directive
    - HCfavor_e
    assertStmts:
    - condition: (pos < LZ4_OPT_NUM)
      pos:
        line_end: 1504
        line_start: 1504
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (next_matchLength > 0)
      pos:
        line_end: 1545
        line_start: 1545
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: ((offset >= 1) && (offset <= LZ4_DISTANCE_MAX))
      pos:
        line_end: 1557
        line_start: 1557
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (ovml >= 0)
      pos:
        line_end: 1615
        line_start: 1615
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (matchML < LZ4_OPT_NUM)
      pos:
        line_end: 1406
        line_start: 1406
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: ((U32)favorDecSpeed <= 1)
      pos:
        line_end: 1499
        line_start: 1499
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (last_match_pos < LZ4_OPT_NUM + TRAILING_LITERALS)
      pos:
        line_end: 1524
        line_start: 1524
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (last_match_pos >= 1)
      pos:
        line_end: 1531
        line_start: 1531
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (cur + newMatch.len < LZ4_OPT_NUM)
      pos:
        line_end: 1482
        line_start: 1482
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (cur < LZ4_OPT_NUM)
      pos:
        line_end: 1530
        line_start: 1530
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (ml >= MINMATCH)
      pos:
        line_end: 1556
        line_start: 1556
        source_file: /src/librdkafka/src/lz4hc.c
    - condition: (maxMlSize < INT_MAX)
      pos:
        line_end: 1615
        line_start: 1615
        source_file: /src/librdkafka/src/lz4hc.c
    constantsTouched: []
    func_position:
      end: 1631
      start: 1330
    functionDepth: 3
    functionLinenumber: 1330
    functionLinenumberEnd: 1631
    functionName: LZ4HC_compress_optimal
    functionSourceFile: /src/librdkafka/src/lz4hc.c
    functionUses: 1
    functionsReached:
    - ALLOC
    - UPDATABLE
    - LZ4HC_literalsPrice
    - DEBUGLOG
    - LZ4HC_FindLongerMatch
    - LZ4HC_encodeSequence
    - FREEMEM
    - LZ4_memcpy
    - assert
    - LZ4HC_sequencePrice
    linkageType: ''
    returnType: int
    signature: "int LZ4HC_compress_optimal ( LZ4HC_CCtx_internal* ctx,\n                                    const
      char* const source,\n                                    char* dst,\n                                    int*
      srcSizePtr,\n                                    int dstCapacity,\n                                    int
      const nbSearches,\n                                    size_t sufficient_len,\n
      \                                   const limitedOutput_directive limit,\n                                    int
      const fullUpdate,\n                                    const dictCtx_directive
      dict,\n                                    const HCfavor_e favorDecSpeed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: rd_kafka_q_ready
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_ready(rd_kafka_q_t *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkq
    - ','
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: rd_kafka_q_init
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_q_init(rkq, rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkq
    - ','
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: rd_kafka_consume_q_init
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_consume_q_init(rkq, rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: rd_kafka_q_new
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_q_new(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: rd_kafka_consume_q_new
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_consume_q_new(rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkqu
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: rd_kafka_q_lock
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_q_lock(rkqu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkqu
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: rd_kafka_q_unlock
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_q_unlock(rkqu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:158,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: rd_kafka_q_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 4
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_kafka_q_keep(rd_kafka_q_t *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: rd_kafka_q_keep_nolock
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_q_keep_nolock(rd_kafka_q_t *rkq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: rd_kafka_q_name
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_kafka_q_name(rd_kafka_q_t *rkq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:184,1
    - Dst: rd_kafka_q_dest_name
      Src: /src/librdkafka/src/rdkafka_queue.h:186,1
    - Dst: rd_kafka_q_name
      Src: /src/librdkafka/src/rdkafka_queue.h:188,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: rd_kafka_q_dest_name
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 3
    functionsReached:
    - rd_kafka_q_dest_name
    - mtx_unlock
    - rd_kafka_q_name
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_kafka_q_dest_name(rd_kafka_q_t *rkq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:200,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rkq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: rd_kafka_q_disable0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_disable0(rd_kafka_q_t *rkq,\n                                                    int
      do_lock)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_disable0
      Src: /src/librdkafka/src/rdkafka_queue.h:228,1
    - Dst: rd_kafka_q_purge0
      Src: /src/librdkafka/src/rdkafka_queue.h:229,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:232,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:233,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:235,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.h:237,1
    - Dst: rd_kafka_q_destroy_final
      Src: /src/librdkafka/src/rdkafka_queue.h:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rkq
    - disable
    argTypes:
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: rd_kafka_q_destroy0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - mtx_lock
    - rd_kafka_q_purge0
    - rd_kafka_q_disable0
    - rd_kafka_assert
    - mtx_unlock
    - unlikely
    - rd_kafka_q_destroy_final
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_destroy0(rd_kafka_q_t *rkq,\n                                                    int
      disable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: rd_kafka_q_destroy_owner
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 18
    functionsReached:
    - rd_kafka_q_destroy0
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_destroy_owner(rd_kafka_q_t *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_queue.h:264,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.h:265,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_queue.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: rd_kafka_q_reset
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_dassert
    - TAILQ_EMPTY
    - TAILQ_INIT
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_reset(rd_kafka_q_t *rkq)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:290,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.h:293,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rkq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: rd_kafka_q_fwd_get
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_kafka_q_keep
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *rd_kafka_q_fwd_get(rd_kafka_q_t *rkq,\n                                                            int
      do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:309,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: rd_kafka_q_is_fwded
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_is_fwded(rd_kafka_q_t *rkq)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_queue.h:324,1
    - Dst: rd_kafka_q_t*::rkq_qio::event_cb
      Src: /src/librdkafka/src/rdkafka_queue.h:328,1
    - Dst: rd_socket_write
      Src: /src/librdkafka/src/rdkafka_queue.h:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 348
    functionName: rd_kafka_q_io_event
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_kafka_q_t*::rkq_qio::event_cb
    - likely
    - rd_socket_write
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_io_event(rd_kafka_q_t *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_queue.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 360
    functionName: rd_kafka_op_cmp_prio
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_op_cmp_prio(const void *_a,\n                                                    const
      void *_b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:369,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.h:371,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.h:373,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:375,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.h:379,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_queue.h:381,1
    - Dst: rd_kafka_q_io_event
      Src: /src/librdkafka/src/rdkafka_queue.h:383,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:385,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:387,1
    - Dst: rd_kafka_q_yield
      Src: /src/librdkafka/src/rdkafka_queue.h:388,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 391
    functionName: rd_kafka_q_yield
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - rd_kafka_q_fwd_get
    - rd_kafka_q_io_event
    - mtx_lock
    - rd_kafka_q_destroy
    - rd_kafka_q_yield
    - rd_dassert
    - cnd_broadcast
    - mtx_unlock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_yield(rd_kafka_q_t *rkq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_queue.h:400,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_queue.h:401,1
    - Dst: TAILQ_INSERT_HEAD
      Src: /src/librdkafka/src/rdkafka_queue.h:403,1
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_queue.h:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rkq
    - rko
    - at_head
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: rd_kafka_q_enq0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - likely
    - TAILQ_INSERT_TAIL
    - TAILQ_INSERT_SORTED
    - TAILQ_INSERT_HEAD
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_enq0(rd_kafka_q_t *rkq, rd_kafka_op_t *rko, int
      at_head)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:436,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.h:438,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.h:440,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:443,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_queue.h:445,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.h:448,1
    - Dst: rd_kafka_q_enq0
      Src: /src/librdkafka/src/rdkafka_queue.h:456,1
    - Dst: cnd_signal
      Src: /src/librdkafka/src/rdkafka_queue.h:457,1
    - Dst: rd_kafka_q_io_event
      Src: /src/librdkafka/src/rdkafka_queue.h:459,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:462,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:465,1
    - Dst: rd_kafka_q_enq1
      Src: /src/librdkafka/src/rdkafka_queue.h:466,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - rkq
    - rko
    - orig_destq
    - at_head
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 428
    functionDepth: 7
    functionLinenumber: 428
    functionLinenumberEnd: 471
    functionName: rd_kafka_q_enq1
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_kafka_q_enq0
    - rd_kafka_q_fwd_get
    - rd_kafka_q_io_event
    - mtx_lock
    - rd_kafka_q_destroy
    - rd_kafka_q_enq1
    - rd_dassert
    - cnd_signal
    - mtx_unlock
    - unlikely
    - rd_kafka_op_reply
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_enq1(rd_kafka_q_t *rkq,\n                                               rd_kafka_op_t
      *rko,\n                                               rd_kafka_q_t *orig_destq,\n
      \                                              int at_head,\n                                               int
      do_lock)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_enq1
      Src: /src/librdkafka/src/rdkafka_queue.h:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkq
    - rko
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 8
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: rd_kafka_q_enq
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 62
    functionsReached:
    - rd_kafka_q_enq1
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_enq(rd_kafka_q_t *rkq,\n                                              rd_kafka_op_t
      *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_enq1
      Src: /src/librdkafka/src/rdkafka_queue.h:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkq
    - rko
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 8
    functionLinenumber: 501
    functionLinenumberEnd: 504
    functionName: rd_kafka_q_reenq
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_kafka_q_enq1
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_reenq(rd_kafka_q_t *rkq,\n                                                rd_kafka_op_t
      *rko)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.h:515,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.h:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rkq
    - rko
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 521
    functionName: rd_kafka_q_deq0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_dassert
    - TAILQ_REMOVE
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_q_deq0(rd_kafka_q_t *rkq,\n                                                rd_kafka_op_t
      *rko)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: rd_kafka_q_mark_served
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_mark_served(rd_kafka_q_t *rkq)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.h:555,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:559,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.h:563,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_queue.h:563,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.h:564,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:566,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.h:571,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.h:572,1
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_queue.h:573,1
    - Dst: TAILQ_CONCAT
      Src: /src/librdkafka/src/rdkafka_queue.h:577,1
    - Dst: rd_kafka_q_io_event
      Src: /src/librdkafka/src/rdkafka_queue.h:579,1
    - Dst: cnd_signal
      Src: /src/librdkafka/src/rdkafka_queue.h:582,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.h:584,1
    - Dst: rd_kafka_q_reset
      Src: /src/librdkafka/src/rdkafka_queue.h:585,1
    - Dst: rd_kafka_q_concat0
      Src: /src/librdkafka/src/rdkafka_queue.h:587,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:590,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - rkq
    - srcq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 593
    functionName: rd_kafka_q_concat0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - TAILQ_EMPTY
    - rd_kafka_q_io_event
    - mtx_lock
    - rd_kafka_q_reset
    - TAILQ_INSERT_SORTED
    - TAILQ_FIRST
    - rd_dassert
    - TAILQ_CONCAT
    - rd_kafka_q_mark_served
    - cnd_signal
    - mtx_unlock
    - unlikely
    - rd_kafka_q_concat0
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_concat0(rd_kafka_q_t *rkq, rd_kafka_q_t *srcq,
      int do_lock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:611,1
    - Dst: TAILQ_CONCAT
      Src: /src/librdkafka/src/rdkafka_queue.h:615,1
    - Dst: TAILQ_MOVE
      Src: /src/librdkafka/src/rdkafka_queue.h:617,1
    - Dst: rd_kafka_q_io_event
      Src: /src/librdkafka/src/rdkafka_queue.h:619,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.h:623,1
    - Dst: rd_kafka_q_reset
      Src: /src/librdkafka/src/rdkafka_queue.h:624,1
    - Dst: rd_kafka_q_prepend0
      Src: /src/librdkafka/src/rdkafka_queue.h:626,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - rkq
    - srcq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 608
    functionDepth: 2
    functionLinenumber: 608
    functionLinenumberEnd: 631
    functionName: rd_kafka_q_prepend0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - TAILQ_MOVE
    - rd_kafka_q_io_event
    - mtx_lock
    - rd_kafka_q_reset
    - rd_kafka_q_mark_served
    - rd_kafka_q_prepend0
    - TAILQ_CONCAT
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_prepend0(rd_kafka_q_t *rkq, rd_kafka_q_t *srcq,
      int do_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:641,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.h:642,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:644,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:646,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_queue.h:647,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 651
    functionName: rd_kafka_q_len
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 10
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_q_fwd_get
    - mtx_lock
    - rd_kafka_q_destroy
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_len(rd_kafka_q_t *rkq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:657,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.h:658,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:660,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:662,1
    - Dst: rd_kafka_q_size
      Src: /src/librdkafka/src/rdkafka_queue.h:663,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: rd_kafka_q_size
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - rd_kafka_q_size
    - rd_kafka_q_fwd_get
    - mtx_lock
    - rd_kafka_q_destroy
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_size(rd_kafka_q_t *rkq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.h:678,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_queue.h:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - rkq
    - version
    - id
    argTypes:
    - rd_kafka_q_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 686
    functionName: rd_kafka_replyq_make
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_kafka_q_keep
    - rd_strdup
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_replyq_make(rd_kafka_q_t *rkq, int version, const
      char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Q
    - ','
    - VERSION
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 692
    functionName: RD_KAFKA_REPLYQ
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_REPLYQ(Q, VERSION)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:717,1
    - Dst: rd_kafka_q_ready
      Src: /src/librdkafka/src/rdkafka_queue.h:718,1
    - Dst: rd_kafka_q_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - replyq
    argTypes:
    - rd_kafka_replyq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 722
    functionName: rd_kafka_replyq_is_valid
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_kafka_q_lock
    - rd_kafka_q_ready
    - rd_kafka_q_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_replyq_is_valid(rd_kafka_replyq_t *replyq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.h:733,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_queue.h:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - replyq
    - rkq
    - version
    argTypes:
    - rd_kafka_replyq_t*
    - rd_kafka_q_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: rd_kafka_set_replyq
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - rd_kafka_q_keep
    - rd_strdup
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_set_replyq(rd_kafka_replyq_t *replyq,\n                                                    rd_kafka_q_t
      *rkq,\n                                                    int32_t version)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_replyq
      Src: /src/librdkafka/src/rdkafka_queue.h:748,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_queue.h:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rko
    - rkq
    - versionptr
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_q_t*
    - rd_atomic32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 750
    functionName: rd_kafka_op_set_replyq
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 6
    functionsReached:
    - rd_atomic32_get
    - rd_kafka_set_replyq
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_op_set_replyq(rd_kafka_op_t *rko,\n                       rd_kafka_q_t
      *rkq,\n                       rd_atomic32_t *versionptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - REPLY_RKO
    - ','
    - ORIG_RKO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 757
    functionName: rd_kafka_op_get_reply_version
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_get_reply_version(REPLY_RKO, ORIG_RKO)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_queue.h:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - replyq
    argTypes:
    - rd_kafka_replyq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: rd_kafka_replyq_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - memset
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_replyq_clear(rd_kafka_replyq_t *replyq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.h:773,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_queue.h:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_replyq_t*
    - rd_kafka_replyq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 780
    functionName: rd_kafka_replyq_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - rd_kafka_q_keep
    - rd_strdup
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_replyq_copy(rd_kafka_replyq_t *dst,\n                                                     rd_kafka_replyq_t
      *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:789,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.h:792,1
    - Dst: rd_kafka_replyq_clear
      Src: /src/librdkafka/src/rdkafka_queue.h:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - replyq
    argTypes:
    - rd_kafka_replyq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 797
    functionName: rd_kafka_replyq_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 27
    functionsReached:
    - rd_kafka_replyq_clear
    - rd_kafka_q_destroy
    - rd_free
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_replyq_destroy(rd_kafka_replyq_t *replyq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.h:826,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_queue.h:834,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - replyq
    - rko
    - version
    argTypes:
    - rd_kafka_replyq_t*
    - rd_kafka_op_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 809
    functionDepth: 9
    functionLinenumber: 809
    functionLinenumberEnd: 839
    functionName: rd_kafka_replyq_enq
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 9
    functionsReached:
    - rd_kafka_q_destroy
    - rd_free
    - rd_kafka_q_enq
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_replyq_enq(rd_kafka_replyq_t *replyq,\n                                                   rd_kafka_op_t
      *rko,\n                                                   int version)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_REVERSE
      Src: /src/librdkafka/src/rdkafka_queue.h:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rkq
    - op_type
    - allow_err
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_op_type_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 908
    functionName: rd_kafka_q_last
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - TAILQ_FOREACH_REVERSE
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_q_last(rd_kafka_q_t *rkq, rd_kafka_op_type_t op_type, int allow_err)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_queue.h:957,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_queue.h:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rko
    - replyq
    argTypes:
    - rd_kafka_op_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 963
    functionName: rd_kafka_enq_once_new
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_calloc
    - mtx_init
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_enq_once_new(rd_kafka_op_t *rko, rd_kafka_replyq_t replyq)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:975,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:977,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - eonce
    - rko
    - replyq
    argTypes:
    - rd_kafka_enq_once_t*
    - rd_kafka_op_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 2
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: rd_kafka_enq_once_reenable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 3
    functionsReached:
    - mtx_unlock
    - rd_kafka_replyq_destroy
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_enq_once_reenable(rd_kafka_enq_once_t *eonce,\n
      \                          rd_kafka_op_t *rko,\n                           rd_kafka_replyq_t
      replyq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:992,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:993,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:995,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:997,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:999,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.h:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - eonce
    argTypes:
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1001
    functionName: rd_kafka_enq_once_destroy0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - rd_assert
    - mtx_destroy
    - rd_free
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_enq_once_destroy0(rd_kafka_enq_once_t *eonce)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1012,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - eonce
    - srcdesc
    argTypes:
    - rd_kafka_enq_once_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: rd_kafka_enq_once_add_source
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 3
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_enq_once_add_source(rd_kafka_enq_once_t *eonce,
      const char *srcdesc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1033,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1034,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1037,1
    - Dst: rd_kafka_enq_once_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - eonce
    - srcdesc
    argTypes:
    - rd_kafka_enq_once_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1043
    functionName: rd_kafka_enq_once_del_source
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - mtx_unlock
    - rd_kafka_enq_once_destroy0
    - rd_assert
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_enq_once_del_source(rd_kafka_enq_once_t *eonce,
      const char *srcdesc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1069,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1071,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1074,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1079,1
    - Dst: rd_kafka_enq_once_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:1083,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - eonce
    - srcdesc
    argTypes:
    - rd_kafka_enq_once_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1087
    functionName: rd_kafka_enq_once_del_source_return
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - mtx_unlock
    - rd_kafka_enq_once_destroy0
    - rd_assert
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *\nrd_kafka_enq_once_del_source_return(rd_kafka_enq_once_t
      *eonce,\n                                    const char *srcdesc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1103,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1105,1
    - Dst: rd_kafka_replyq_clear
      Src: /src/librdkafka/src/rdkafka_queue.h:1120,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1124,1
    - Dst: rd_kafka_enq_once_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:1128,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_queue.h:1133,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:1134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - eonce
    - err
    - srcdesc
    argTypes:
    - rd_kafka_enq_once_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1095
    functionDepth: 10
    functionLinenumber: 1095
    functionLinenumberEnd: 1136
    functionName: rd_kafka_enq_once_trigger
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 2
    functionsReached:
    - rd_assert
    - mtx_lock
    - rd_kafka_replyq_clear
    - rd_kafka_enq_once_destroy0
    - rd_kafka_replyq_enq
    - rd_kafka_replyq_destroy
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_enq_once_trigger(rd_kafka_enq_once_t *eonce,\n
      \                         rd_kafka_resp_err_t err,\n                          const
      char *srcdesc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1146,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1147,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:1152,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1154,1
    - Dst: rd_kafka_enq_once_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - eonce
    argTypes:
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1160
    functionName: rd_kafka_enq_once_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_assert
    - mtx_lock
    - rd_kafka_enq_once_destroy0
    - rd_kafka_replyq_destroy
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_enq_once_destroy(rd_kafka_enq_once_t *eonce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1180,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_queue.h:1181,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_queue.h:1188,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1190,1
    - Dst: rd_kafka_enq_once_destroy0
      Src: /src/librdkafka/src/rdkafka_queue.h:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - eonce
    argTypes:
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1198
    functionName: rd_kafka_enq_once_disable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 1
    functionsReached:
    - rd_assert
    - mtx_lock
    - rd_kafka_enq_once_destroy0
    - rd_kafka_replyq_destroy
    - mtx_unlock
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_enq_once_disable(rd_kafka_enq_once_t *eonce)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.h:1209,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.h:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rkq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1214
    functionName: rd_kafka_q_can_contain_fetched_msgs
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_can_contain_fetched_msgs(rd_kafka_q_t *rkq, rd_bool_t
      do_lock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ROUNDUP
      Src: /src/librdkafka/src/rdkafka_buf.h:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tab
    - size
    - assert_on_fail
    argTypes:
    - rd_tmpabuf_t*
    - size_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: rd_tmpabuf_new
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached:
    - RD_ROUNDUP
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_tmpabuf_new(rd_tmpabuf_t *tab, size_t size, rd_bool_t
      assert_on_fail)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _tab
    - ','
    - _size
    - ','
    - _times
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: rd_tmpabuf_add_alloc_times
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_add_alloc_times(_tab, _size, _times)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _tab
    - ','
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: rd_tmpabuf_add_alloc
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_add_alloc(_tab, _size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _tab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: rd_tmpabuf_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_finalize(_tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_buf.h:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tab
    argTypes:
    - rd_tmpabuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: rd_tmpabuf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_tmpabuf_destroy(rd_tmpabuf_t *tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tab
    argTypes:
    - rd_tmpabuf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: rd_tmpabuf_failed
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_tmpabuf_failed(rd_tmpabuf_t *tab)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_buf.h:107,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_buf.h:110,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_buf.h:112,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_buf.h:117,1
    - Dst: RD_ROUNDUP
      Src: /src/librdkafka/src/rdkafka_buf.h:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - func
    - line
    - tab
    - size
    argTypes:
    - char*
    - int
    - rd_tmpabuf_t*
    - size_t
    assertStmts:
    - condition: '(!*"rd_tmpabuf_alloc: not enough size in buffer")'
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/librdkafka/src/rdkafka_buf.h
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: rd_tmpabuf_alloc0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - assert
    - fprintf
    - RD_ROUNDUP
    - unlikely
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_tmpabuf_alloc0(const char *func, int line, rd_tmpabuf_t *tab, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tab
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: rd_tmpabuf_alloc
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_alloc(tab, size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_alloc0
      Src: /src/librdkafka/src/rdkafka_buf.h:143,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_buf.h:145,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_buf.h:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 5
    argNames:
    - func
    - line
    - tab
    - buf
    - size
    argTypes:
    - char*
    - int
    - rd_tmpabuf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 149
    functionName: rd_tmpabuf_write0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - memcpy
    - likely
    - rd_tmpabuf_alloc0
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED *rd_tmpabuf_write0(const char *func,\n                                         int
      line,\n                                         rd_tmpabuf_t *tab,\n                                         const
      void *buf,\n                                         size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tab
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: rd_tmpabuf_write
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_write(tab, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_write0
      Src: /src/librdkafka/src/rdkafka_buf.h:161,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_buf.h:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - func
    - line
    - tab
    - str
    argTypes:
    - char*
    - int
    - rd_tmpabuf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: rd_tmpabuf_write_str0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - strlen
    - rd_tmpabuf_write0
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED *rd_tmpabuf_write_str0(const char *func,\n                                             int
      line,\n                                             rd_tmpabuf_t *tab,\n                                             const
      char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tab
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: rd_tmpabuf_write_str
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_tmpabuf_write_str(tab, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 458
    functionName: rd_kafka_buf_parse_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_parse_fail(rkbuf, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - wantedlen
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 493
    functionName: rd_kafka_buf_underflow_fail
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_underflow_fail(rkbuf, wantedlen, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 499
    functionName: rd_kafka_buf_read_remain
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_remain(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: rd_kafka_buf_check_len
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_check_len(rkbuf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 521
    functionName: rd_kafka_buf_skip
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_skip(rkbuf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 533
    functionName: rd_kafka_buf_skip_to
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_skip_to(rkbuf, pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: rd_kafka_buf_read
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read(rkbuf, dstptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rkbuf
    - ','
    - offset
    - ','
    - dstptr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: rd_kafka_buf_peek
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_peek(rkbuf, offset, dstptr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 570
    functionName: rd_kafka_buf_read_i64
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i64(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - of
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 578
    functionName: rd_kafka_buf_peek_i64
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_peek_i64(rkbuf, of, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 586
    functionName: rd_kafka_buf_read_i32
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 45
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i32(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - of
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 594
    functionName: rd_kafka_buf_peek_i32
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_peek_i32(rkbuf, of, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 604
    functionName: rd_kafka_buf_read_i32a
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i32a(rkbuf, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 612
    functionName: rd_kafka_buf_read_i16
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i16(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - of
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: rd_kafka_buf_peek_i16
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_peek_i16(rkbuf, of, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 627
    functionName: rd_kafka_buf_read_i16a
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i16a(rkbuf, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: rd_kafka_buf_read_i8
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_i8(rkbuf, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - of
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 632
    functionName: rd_kafka_buf_peek_i8
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_peek_i8(rkbuf, of, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 640
    functionName: rd_kafka_buf_read_bool
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_bool(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 655
    functionName: rd_kafka_buf_read_varint
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_varint(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - dstptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: rd_kafka_buf_read_uvarint
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_uvarint(rkbuf, dstptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - kstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 698
    functionName: rd_kafka_buf_read_str
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_str(rkbuf, kstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - tmpabuf
    - ','
    - dst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 721
    functionName: rd_kafka_buf_read_str_tmpabuf
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_str_tmpabuf(rkbuf, tmpabuf, dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 731
    functionName: rd_kafka_buf_skip_str_no_flexver
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_skip_str_no_flexver(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: rd_kafka_buf_skip_str
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_skip_str(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 771
    functionName: rd_kafka_buf_read_kbytes
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_kbytes(rkbuf, kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 783
    functionName: rd_kafka_buf_read_ptr
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_ptr(rkbuf, ptr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - kbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 806
    functionName: rd_kafka_buf_read_kbytes_varint
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_kbytes_varint(rkbuf, kbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 820
    functionName: rd_kafka_buf_read_throttle_time
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_throttle_time(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 839
    functionName: rd_kafka_buf_skip_tags
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_skip_tags(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - read_tag
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 862
    functionName: rd_kafka_buf_read_tags
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_tags(rkbuf, read_tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rkbuf
    - ','
    - write_tag
    - ','
    - tags
    - ','
    - tagcnt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 885
    functionName: rd_kafka_buf_write_tags
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_write_tags(rkbuf, write_tag, tags, tagcnt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: rd_kafka_buf_write_tags_empty
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_write_tags_empty(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - arrcnt
    - ','
    - maxval
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 916
    functionName: rd_kafka_buf_read_arraycnt
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_arraycnt(rkbuf, arrcnt, maxval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 923
    functionName: rd_kafka_buf_was_sent
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_was_sent(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbq
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: rd_kafka_bufq_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_bufq_cnt(rkbq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_buf.h:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rkbuf
    - timeout_ms
    - now
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 946
    functionName: rd_kafka_buf_set_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_set_timeout(rd_kafka_buf_t *rkbuf, int timeout_ms,
      rd_ts_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_buf.h:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - rkbuf
    - timeout_ms
    - now
    - force
    argTypes:
    - rd_kafka_buf_t*
    - int
    - rd_ts_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 977
    functionName: rd_kafka_buf_set_abs_timeout0
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_set_abs_timeout0(rd_kafka_buf_t *rkbuf,\n                                                    int
      timeout_ms,\n                                                    rd_ts_t now,\n
      \                                                   rd_bool_t force)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - timeout_ms
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 981
    functionName: rd_kafka_buf_set_abs_timeout
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_set_abs_timeout(rkbuf, timeout_ms, now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkbuf
    - ','
    - timeout_ms
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: rd_kafka_buf_set_abs_timeout_force
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_set_abs_timeout_force(rkbuf, timeout_ms, now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 988
    functionName: rd_kafka_buf_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_keep(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 991
    functionName: rd_kafka_buf_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_destroy(rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - segcnt
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: rd_kafka_buf_new
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_new(segcnt, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rkb
    - ','
    - ApiKey
    - ','
    - segcnt
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1009
    functionName: rd_kafka_buf_new_request
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_new_request(rkb, ApiKey, segcnt, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - rkb
    - ','
    - ApiKey
    - ','
    - segcnt
    - ','
    - size
    - ','
    - is_flexver
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1013
    functionName: rd_kafka_buf_new_flexver_request
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "rd_kafka_buf_new_flexver_request(rkb, ApiKey, segcnt, size,            \\\n
      \                                        is_flexver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkbuf
    - version
    - features
    argTypes:
    - rd_kafka_buf_t*
    - int16_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1056
    functionName: rd_kafka_buf_ApiVersion_set
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_buf_ApiVersion_set(rd_kafka_buf_t *rkbuf,\n                            int16_t
      version,\n                            int features)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1063
    functionName: rd_kafka_buf_ApiVersion
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_ApiVersion(rkbuf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1076,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rkbuf
    - data
    - len
    argTypes:
    - rd_kafka_buf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1071
    functionDepth: 6
    functionLinenumber: 1071
    functionLinenumberEnd: 1082
    functionName: rd_kafka_buf_write
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 3
    functionsReached:
    - rd_buf_write
    - rd_crc32_update
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write(rd_kafka_buf_t *rkbuf,\n                                           const
      void *data,\n                                           size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1098,1
    - Dst: rd_buf_write_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rkbuf
    - of
    - data
    - len
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1094
    functionDepth: 3
    functionLinenumber: 1094
    functionLinenumberEnd: 1100
    functionName: rd_kafka_buf_update
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - rd_kafka_assert
    - rd_buf_write_update
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_update(rd_kafka_buf_t *rkbuf,\n                                          size_t
      of,\n                                          const void *data,\n                                          size_t
      len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 7
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: rd_kafka_buf_write_i8
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 30
    functionsReached:
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_write_i8(rd_kafka_buf_t *rkbuf, int8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkbuf
    - of
    - v
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - int8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1116
    functionName: rd_kafka_buf_update_i8
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_update
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_update_i8(rd_kafka_buf_t *rkbuf, size_t of,
      int8_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/librdkafka/src/rdkafka_buf.h:1124,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1122
    functionDepth: 7
    functionLinenumber: 1122
    functionLinenumberEnd: 1126
    functionName: rd_kafka_buf_write_i16
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 36
    functionsReached:
    - rd_kafka_buf_write
    - htobe16
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_i16(rd_kafka_buf_t *rkbuf,\n                                               int16_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe16
      Src: /src/librdkafka/src/rdkafka_buf.h:1134,1
    - Dst: rd_kafka_buf_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkbuf
    - of
    - v
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - int16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1132
    functionDepth: 4
    functionLinenumber: 1132
    functionLinenumberEnd: 1136
    functionName: rd_kafka_buf_update_i16
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 2
    functionsReached:
    - rd_kafka_buf_update
    - htobe16
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_update_i16(rd_kafka_buf_t *rkbuf, size_t of,
      int16_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_buf.h:1144,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 7
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: rd_kafka_buf_write_i32
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 59
    functionsReached:
    - htobe32
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_i32(rd_kafka_buf_t *rkbuf,\n                                               int32_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_buf.h:1154,1
    - Dst: rd_kafka_buf_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkbuf
    - of
    - v
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 4
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: rd_kafka_buf_update_i32
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 9
    functionsReached:
    - rd_kafka_buf_update
    - htobe32
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_update_i32(rd_kafka_buf_t *rkbuf, size_t of,
      int32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_buf.h:1164,1
    - Dst: rd_kafka_buf_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkbuf
    - of
    - v
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 4
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: rd_kafka_buf_update_u32
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_update
    - htobe32
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_update_u32(rd_kafka_buf_t *rkbuf, size_t of,
      uint32_t v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_buf.h:1174,1
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdkafka_buf.h:1177,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1172
    functionDepth: 7
    functionLinenumber: 1172
    functionLinenumberEnd: 1180
    functionName: rd_kafka_buf_write_varint
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_uvarint_enc_i64
    - RD_UVARINT_ENC_SIZEOF
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_varint(rd_kafka_buf_t *rkbuf,\n                                                  int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UVARINT_ENC_SIZEOF
      Src: /src/librdkafka/src/rdkafka_buf.h:1187,1
    - Dst: rd_uvarint_enc_u64
      Src: /src/librdkafka/src/rdkafka_buf.h:1190,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1185
    functionDepth: 7
    functionLinenumber: 1185
    functionLinenumberEnd: 1193
    functionName: rd_kafka_buf_write_uvarint
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - rd_uvarint_enc_u64
    - RD_UVARINT_ENC_SIZEOF
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_uvarint(rd_kafka_buf_t *rkbuf,\n                                                   uint64_t
      v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1206,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.h:1209,1
    - Dst: rd_kafka_buf_write_uvarint
      Src: /src/librdkafka/src/rdkafka_buf.h:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkbuf
    - cnt
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1202
    functionDepth: 8
    functionLinenumber: 1202
    functionLinenumberEnd: 1214
    functionName: rd_kafka_buf_write_arraycnt
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 25
    functionsReached:
    - rd_assert
    - rd_kafka_buf_write_uvarint
    - rd_kafka_buf_write_i32
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_write_arraycnt(rd_kafka_buf_t *rkbuf, size_t
      cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1222
    functionName: rd_kafka_buf_write_arraycnt_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_write_arraycnt_pos(rkbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1241,1
    - Dst: rd_kafka_buf_update_i32
      Src: /src/librdkafka/src/rdkafka_buf.h:1244,1
    - Dst: rd_uvarint_enc_u64
      Src: /src/librdkafka/src/rdkafka_buf.h:1251,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1252,1
    - Dst: RD_UVARINT_OVERFLOW
      Src: /src/librdkafka/src/rdkafka_buf.h:1252,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1254,1
    - Dst: rd_buf_write_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1255,1
    - Dst: rd_buf_erase
      Src: /src/librdkafka/src/rdkafka_buf.h:1260,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - rkbuf
    - of
    - cnt
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1236
    functionDepth: 5
    functionLinenumber: 1236
    functionLinenumberEnd: 1264
    functionName: rd_kafka_buf_finalize_arraycnt
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 7
    functionsReached:
    - rd_assert
    - rd_buf_write_update
    - RD_UVARINT_OVERFLOW
    - rd_kafka_buf_update_i32
    - rd_uvarint_enc_u64
    - rd_buf_erase
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_finalize_arraycnt(rd_kafka_buf_t *rkbuf, size_t
      of, size_t cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/librdkafka/src/rdkafka_buf.h:1273,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1271
    functionDepth: 7
    functionLinenumber: 1271
    functionLinenumberEnd: 1275
    functionName: rd_kafka_buf_write_i64
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 16
    functionsReached:
    - htobe64
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_i64(rd_kafka_buf_t *rkbuf,\n                                               int64_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/librdkafka/src/rdkafka_buf.h:1283,1
    - Dst: rd_kafka_buf_update
      Src: /src/librdkafka/src/rdkafka_buf.h:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rkbuf
    - of
    - v
    argTypes:
    - rd_kafka_buf_t*
    - size_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1285
    functionName: rd_kafka_buf_update_i64
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_update
    - htobe64
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_update_i64(rd_kafka_buf_t *rkbuf, size_t of,
      int64_t v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_buf.h:1300,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_buf.h:1301,1
    - Dst: RD_KAFKAP_STR_IS_SERIALIZED
      Src: /src/librdkafka/src/rdkafka_buf.h:1303,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1304,1
    - Dst: RD_KAFKAP_STR_SER
      Src: /src/librdkafka/src/rdkafka_buf.h:1305,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_buf.h:1306,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_buf.h:1308,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_buf.h:1309,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1310,1
    - Dst: RD_KAFKAP_STR_IS_NULL
      Src: /src/librdkafka/src/rdkafka_buf.h:1320,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_buf.h:1323,1
    - Dst: rd_kafka_buf_write_uvarint
      Src: /src/librdkafka/src/rdkafka_buf.h:1325,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - rkbuf
    - kstr
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1294
    functionDepth: 8
    functionLinenumber: 1294
    functionLinenumberEnd: 1329
    functionName: rd_kafka_buf_write_kstr
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 19
    functionsReached:
    - RD_KAFKAP_STR_LEN
    - RD_KAFKAP_STR_SER
    - rd_kafka_buf_write
    - rd_kafka_buf_write_i16
    - RD_KAFKAP_STR_SIZE
    - rd_kafka_buf_write_uvarint
    - RD_KAFKAP_STR_IS_NULL
    - RD_KAFKAP_STR_IS_SERIALIZED
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_kstr(rd_kafka_buf_t *rkbuf,\n                                                const
      rd_kafkap_str_t *kstr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_buf.h:1348,1
    - Dst: rd_kafka_buf_write_i16
      Src: /src/librdkafka/src/rdkafka_buf.h:1349,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1351,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_buf.h:1363,1
    - Dst: rd_kafka_buf_write_uvarint
      Src: /src/librdkafka/src/rdkafka_buf.h:1367,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - rkbuf
    - str
    - len
    argTypes:
    - rd_kafka_buf_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1338
    functionDepth: 8
    functionLinenumber: 1338
    functionLinenumberEnd: 1371
    functionName: rd_kafka_buf_write_str
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 50
    functionsReached:
    - strlen
    - rd_kafka_buf_write_i16
    - rd_kafka_buf_write_uvarint
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_str(rd_kafka_buf_t *rkbuf,\n                                               const
      char *str,\n                                               size_t len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_push
      Src: /src/librdkafka/src/rdkafka_buf.h:1380,1
    - Dst: RD_KAFKAP_STR_SER
      Src: /src/librdkafka/src/rdkafka_buf.h:1380,1
    - Dst: RD_KAFKAP_STR_SIZE
      Src: /src/librdkafka/src/rdkafka_buf.h:1381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkbuf
    - kstr
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1378
    functionDepth: 1
    functionLinenumber: 1378
    functionLinenumberEnd: 1382
    functionName: rd_kafka_buf_push_kstr
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_SER
    - rd_kafka_buf_push
    - RD_KAFKAP_STR_SIZE
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_push_kstr(rd_kafka_buf_t *rkbuf,\n                                             const
      rd_kafkap_str_t *kstr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_buf.h:1395,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.h:1396,1
    - Dst: RD_KAFKAP_BYTES_IS_SERIALIZED
      Src: /src/librdkafka/src/rdkafka_buf.h:1398,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1399,1
    - Dst: RD_KAFKAP_BYTES_SER
      Src: /src/librdkafka/src/rdkafka_buf.h:1400,1
    - Dst: RD_KAFKAP_BYTES_SIZE
      Src: /src/librdkafka/src/rdkafka_buf.h:1401,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_buf.h:1403,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.h:1404,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1405,1
    - Dst: rd_kafka_buf_write_uvarint
      Src: /src/librdkafka/src/rdkafka_buf.h:1420,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1422,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - rkbuf
    - kbytes
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafkap_bytes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1389
    functionDepth: 8
    functionLinenumber: 1389
    functionLinenumberEnd: 1426
    functionName: rd_kafka_buf_write_kbytes
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 7
    functionsReached:
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_write
    - RD_KAFKAP_BYTES_IS_SERIALIZED
    - rd_kafka_buf_write_i32
    - RD_KAFKAP_BYTES_SIZE
    - rd_kafka_buf_write_uvarint
    - RD_KAFKAP_BYTES_SER
    - RD_KAFKAP_BYTES_IS_NULL
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_kbytes(rd_kafka_buf_t *rkbuf,\n                          const
      rd_kafkap_bytes_t *kbytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_buf.h:1437,1
    - Dst: rd_kafka_buf_write
      Src: /src/librdkafka/src/rdkafka_buf.h:1439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rkbuf
    - payload
    - size
    argTypes:
    - rd_kafka_buf_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1431
    functionDepth: 8
    functionLinenumber: 1431
    functionLinenumberEnd: 1441
    functionName: rd_kafka_buf_write_bytes
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 4
    functionsReached:
    - rd_kafka_buf_write_i32
    - rd_kafka_buf_write
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_bytes(rd_kafka_buf_t *rkbuf,\n                                                 const
      void *payload,\n                                                 size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_buf.h:1449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkbuf
    - v
    argTypes:
    - rd_kafka_buf_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1447
    functionDepth: 8
    functionLinenumber: 1447
    functionLinenumberEnd: 1450
    functionName: rd_kafka_buf_write_bool
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 8
    functionsReached:
    - rd_kafka_buf_write_i8
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_buf_write_bool(rd_kafka_buf_t *rkbuf,\n                                                rd_bool_t
      v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_buf.h:1475,1
    - Dst: rd_crc32_init
      Src: /src/librdkafka/src/rdkafka_buf.h:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkbuf
    argTypes:
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    functionName: rd_kafka_buf_crc_init
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_kafka_assert
    - rd_crc32_init
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_crc_init(rd_kafka_buf_t *rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_crc32_finalize
      Src: /src/librdkafka/src/rdkafka_buf.h:1486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkbuf
    argTypes:
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1487
    functionName: rd_kafka_buf_crc_finalize
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 1
    functionsReached:
    - rd_crc32_finalize
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_buf_crc_finalize(rd_kafka_buf_t *rkbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rkbuf
    - version
    argTypes:
    - rd_kafka_buf_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1501
    functionName: rd_kafka_buf_version_outdated
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_buf_version_outdated(const rd_kafka_buf_t *rkbuf,
      int version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkbuf
    - ','
    - uuid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1518
    functionName: rd_kafka_buf_read_uuid
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_buf_read_uuid(rkbuf, uuid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_buf.h:1521,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_buf.h:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkbuf
    - uuid
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_Uuid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1519
    functionDepth: 8
    functionLinenumber: 1519
    functionLinenumberEnd: 1523
    functionName: rd_kafka_buf_write_uuid
    functionSourceFile: /src/librdkafka/src/rdkafka_buf.h
    functionUses: 10
    functionsReached:
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_buf_write_uuid(rd_kafka_buf_t *rkbuf,\n                                              rd_kafka_Uuid_t
      *uuid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: XXH_CAT
    functionSourceFile: /src/librdkafka/src/rdxxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_CAT(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: XXH_NAME2
    functionSourceFile: /src/librdkafka/src/rdxxhash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_NAME2(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_plugin.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: rd_kafka_plugin_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_plugin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_plugin_cmp(const void *_a, const void *_b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_plugin.c:75,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_plugin.c:76,1
    - Dst: rd_kafka_dbg0
      Src: /src/librdkafka/src/rdkafka_plugin.c:81,1
    - Dst: rd_dl_open
      Src: /src/librdkafka/src/rdkafka_plugin.c:84,1
    - Dst: rd_kafka_dbg0
      Src: /src/librdkafka/src/rdkafka_plugin.c:85,1
    - Dst: rd_dl_sym
      Src: /src/librdkafka/src/rdkafka_plugin.c:92,1
    - Dst: rd_dl_close
      Src: /src/librdkafka/src/rdkafka_plugin.c:93,1
    - Dst: rd_kafka_dbg0
      Src: /src/librdkafka/src/rdkafka_plugin.c:98,1
    - Dst: conf_init
      Src: /src/librdkafka/src/rdkafka_plugin.c:101,1
    - Dst: rd_dl_close
      Src: /src/librdkafka/src/rdkafka_plugin.c:102,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_plugin.c:106,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_plugin.c:107,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_plugin.c:111,1
    - Dst: rd_kafka_dbg0
      Src: /src/librdkafka/src/rdkafka_plugin.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - conf
    - path
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 116
    functionName: rd_kafka_plugin_new
    functionSourceFile: /src/librdkafka/src/rdkafka_plugin.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_snprintf
    - rd_kafka_dbg0
    - rd_dl_close
    - rd_calloc
    - rd_dl_open
    - rd_dl_sym
    - rd_list_find
    - rd_strdup
    - conf_init
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_plugin_new(rd_kafka_conf_t *conf,\n                                               const
      char *path,\n                                               char *errstr,\n
      \                                              size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dl_close
      Src: /src/librdkafka/src/rdkafka_plugin.c:129,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_plugin.c:130,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_plugin.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rkplug
    argTypes:
    - rd_kafka_plugin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: rd_kafka_plugin_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_plugin.c
    functionUses: 0
    functionsReached:
    - rd_dl_close
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_plugin_destroy(rd_kafka_plugin_t *rkplug)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_plugin.c:150,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_plugin.c:151,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_plugin.c:157,1
    - Dst: rd_kafka_dbg0
      Src: /src/librdkafka/src/rdkafka_plugin.c:159,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_plugin.c:168,1
    - Dst: rd_kafka_plugin_new
      Src: /src/librdkafka/src/rdkafka_plugin.c:175,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_plugin.c:178,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_plugin.c:182,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_plugin.c:182,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_plugin.c:184,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_plugin.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - conf
    - paths
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 144
    functionDepth: 5
    functionLinenumber: 144
    functionLinenumberEnd: 193
    functionName: rd_kafka_plugins_conf_set0
    functionSourceFile: /src/librdkafka/src/rdkafka_plugin.c
    functionUses: 0
    functionsReached:
    - rd_strdupa
    - rd_kafka_dbg0
    - rd_list_destroy
    - rd_snprintf
    - rd_kafka_plugin_new
    - strchr
    - strlen
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_plugins_conf_set0(rd_kafka_conf_t *conf,\n
      \                                                     const char *paths,\n                                                      char
      *errstr,\n                                                      size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_plugin.c:208,1
    - Dst: rd_kafka_plugins_conf_set0
      Src: /src/librdkafka/src/rdkafka_plugin.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - scope
    - pconf
    - name
    - value
    - dstptr
    - set_mode
    - errstr
    - errstr_size
    argTypes:
    - int
    - void*
    - char*
    - char*
    - void*
    - rd_kafka_conf_set_mode_t
    - char*
    - size_t
    assertStmts:
    - condition: (scope == _RK_GLOBAL)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/librdkafka/src/rdkafka_plugin.c
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: rd_kafka_plugins_conf_set
    functionSourceFile: /src/librdkafka/src/rdkafka_plugin.c
    functionUses: 0
    functionsReached:
    - assert
    - rd_kafka_plugins_conf_set0
    linkageType: ''
    returnType: rd_kafka_conf_res_t
    signature: "rd_kafka_conf_res_t rd_kafka_plugins_conf_set(int scope,\n                                              void
      *pconf,\n                                              const char *name,\n                                              const
      char *value,\n                                              void *dstptr,\n
      \                                             rd_kafka_conf_set_mode_t set_mode,\n
      \                                             char *errstr,\n                                              size_t
      errstr_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.c:58,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdstring.c:63,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdstring.c:87,1
    - Dst: _do_write
      Src: /src/librdkafka/src/rdstring.c:93,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdstring.c:103,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdstring.c:105,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdstring.c:109,1
    - Dst: rd_strndupa
      Src: /src/librdkafka/src/rdstring.c:113,1
    - Dst: callback
      Src: /src/librdkafka/src/rdstring.c:116,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdstring.c:118,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdstring.c:121,1
    - Dst: _assure_space
      Src: /src/librdkafka/src/rdstring.c:125,1
    - Dst: callback
      Src: /src/librdkafka/src/rdstring.c:128,1
    - Dst: _remain
      Src: /src/librdkafka/src/rdstring.c:128,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdstring.c:130,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdstring.c:134,1
    - Dst: assert
      Src: /src/librdkafka/src/rdstring.c:138,1
    - Dst: _remain
      Src: /src/librdkafka/src/rdstring.c:138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - errstr
    - errstr_size
    - opaque
    argTypes:
    - char*
    - size_t
    - void*
    assertStmts:
    - condition: (r < (ssize_t)_remain())
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/librdkafka/src/rdstring.c
    constantsTouched: []
    func_position:
      end: 149
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 149
    functionName: rd_string_render
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 2
    functionsReached:
    - rd_free
    - _assure_space
    - rd_snprintf
    - rd_strndupa
    - rd_malloc
    - _do_write
    - strstr
    - strchr
    - _remain
    - callback
    - strlen
    - assert
    linkageType: ''
    returnType: char
    signature: "char *rd_string_render(\n    const char *template,\n    char *errstr,\n
      \   size_t errstr_size,\n    ssize_t (*callback)(const char *key, char *buf,
      size_t size, void *opaque),\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: _remain
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _remain()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - SZ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: _assure_space
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _assure_space(SZ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PTR
    - ','
    - SZ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: _do_write
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _do_write(PTR, SZ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdstring.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strtup
    argTypes:
    - rd_strtup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: rd_strtup_destroy
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 1
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_strtup_destroy(rd_strtup_t *strtup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strtup_destroy
      Src: /src/librdkafka/src/rdstring.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strtup
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: rd_strtup_free
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_strtup_destroy
    linkageType: ''
    returnType: void
    signature: void rd_strtup_free(void *strtup)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.c:170,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.c:175,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdstring.c:178,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdstring.c:180,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdstring.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - name
    - name_len
    - value
    - value_len
    argTypes:
    - char*
    - ssize_t
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 191
    functionName: rd_strtup_new0
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 1
    functionsReached:
    - strlen
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: rd_strtup_t
    signature: "rd_strtup_t *rd_strtup_new0(const char *name,\n                            ssize_t
      name_len,\n                            const char *value,\n                            ssize_t
      value_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strtup_new0
      Src: /src/librdkafka/src/rdstring.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: rd_strtup_new
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 5
    functionsReached:
    - rd_strtup_new0
    linkageType: ''
    returnType: rd_strtup_t
    signature: rd_strtup_t *rd_strtup_new(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strtup_new
      Src: /src/librdkafka/src/rdstring.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_strtup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: rd_strtup_dup
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_strtup_new
    linkageType: ''
    returnType: rd_strtup_t
    signature: rd_strtup_t *rd_strtup_dup(const rd_strtup_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strtup_dup
      Src: /src/librdkafka/src/rdstring.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: rd_strtup_list_copy
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_strtup_dup
    linkageType: ''
    returnType: void
    signature: void *rd_strtup_list_copy(const void *elem, void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdstring.c:238,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdstring.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - dst
    - size
    - desc
    - flags
    argTypes:
    - char*
    - size_t
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 252
    functionName: rd_flags2str
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 3
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_flags2str(char *dst, size_t size, const char **desc, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 275
    functionName: rd_string_hash
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_string_hash(const char *str, ssize_t len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdstring.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: rd_strcmp
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 8
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_strcmp(const char *a, const char *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdstring.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: rd_strcmp2
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_strcmp
    linkageType: ''
    returnType: int
    signature: int rd_strcmp2(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdstring.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: rd_strcmp3
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_strcmp
    linkageType: ''
    returnType: int
    signature: int rd_strcmp3(const void *a, const void *b)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.c:315,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdstring.c:316,1
    - Dst: rd_strcasecmp
      Src: /src/librdkafka/src/rdstring.c:322,1
    - Dst: tolower
      Src: /src/librdkafka/src/rdstring.c:348,1
    - Dst: tolower
      Src: /src/librdkafka/src/rdstring.c:348,1
    - Dst: tolower
      Src: /src/librdkafka/src/rdstring.c:366,1
    - Dst: tolower
      Src: /src/librdkafka/src/rdstring.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - haystack
    - needle
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 373
    functionName: _rd_strcasestr
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - strlen
    - tolower
    - rd_strcasecmp
    linkageType: ''
    returnType: char
    signature: char *_rd_strcasestr(const char *haystack, const char *needle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdstring.c:409,1
    - Dst: _rd_strcasestr
      Src: /src/librdkafka/src/rdstring.c:415,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdstring.c:418,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdstring.c:425,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 426
    functionName: ut_strcasestr
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - RD_UT_PASS
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - _rd_strcasestr
    linkageType: ''
    returnType: int
    signature: int ut_strcasestr(void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdstring.c:474,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdstring.c:486,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdstring.c:494,1
    - Dst: likely
      Src: /src/librdkafka/src/rdstring.c:497,1
    - Dst: isspace
      Src: /src/librdkafka/src/rdstring.c:524,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdstring.c:534,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 554
    functionName: rd_string_split
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 5
    functionsReached:
    - rd_assert
    - isspace
    - rd_malloc
    - likely
    - unlikely
    linkageType: ''
    returnType: char
    signature: "char **rd_string_split(const char *input,\n                       char
      sep,\n                       rd_bool_t skip_empty,\n                       size_t
      *cntp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_BEGIN
      Src: /src/librdkafka/src/rdstring.c:606,1
    - Dst: rd_string_split
      Src: /src/librdkafka/src/rdstring.c:613,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdstring.c:615,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdstring.c:617,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdstring.c:624,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdstring.c:624,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdstring.c:629,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdstring.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 633
    functionName: ut_string_split
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_string_split
    - strcmp
    - RD_UT_BEGIN
    - RD_UT_ASSERT
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int ut_string_split(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_strcasestr
      Src: /src/librdkafka/src/rdstring.c:641,1
    - Dst: ut_string_split
      Src: /src/librdkafka/src/rdstring.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 3
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: unittest_string
    functionSourceFile: /src/librdkafka/src/rdstring.c
    functionUses: 0
    functionsReached:
    - ut_string_split
    - ut_strcasestr
    linkageType: ''
    returnType: int
    signature: int unittest_string(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_metadata.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: rd_kafka_metadata_broker_internal_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_broker_internal_cmp(const void *_a, const void
      *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_metadata.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: rd_kafka_metadata_broker_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_broker_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_metadata.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: rd_kafka_metadata_partition_internal_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_partition_internal_cmp(const void *_a,\n                                                    const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_metadata.c:81,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_metadata.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rkmp
    argTypes:
    - struct rd_kafka_metadata_partition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: rd_kafka_metadata_partition_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_partition_clear(\n    struct rd_kafka_metadata_partition
      *rkmp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:96,1
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_metadata.c:108,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:113,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:115,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:118,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_metadata.c:120,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src/rdkafka_metadata.c:120,1
    - Dst: rd_kafka_local_topics_to_list
      Src: /src/librdkafka/src/rdkafka_metadata.c:123,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:127,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:133,1
    - Dst: rd_kafka_op_set_replyq
      Src: /src/librdkafka/src/rdkafka_metadata.c:134,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_metadata.c:138,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:151,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:152,1
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka_metadata.c:155,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka_metadata.c:155,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_metadata.c:157,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:166,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:176,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - rk
    - all_topics
    - only_rkt
    - metadatap
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    - rd_kafka_topic_t*
    - struct rd_kafka_metadata**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 86
    functionDepth: 10
    functionLinenumber: 86
    functionLinenumberEnd: 183
    functionName: rd_kafka_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 18
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_broker_any_usable
    - rd_kafka_local_topics_to_list
    - rd_timeout_init
    - rd_kafka_op_set_replyq
    - rd_list_destroy
    - rd_kafka_op_new
    - rd_kafka_q_pop
    - rd_kafka_q_destroy_owner
    - rd_list_init
    - rd_kafka_MetadataRequest
    - rd_kafka_topic_name
    - rd_strdup
    - rd_kafka_q_new
    - rd_timeout_remains_us
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_broker_destroy
    - rd_kafka_assert
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata(rd_kafka_t *rk,\n                  int
      all_topics,\n                  rd_kafka_topic_t *only_rkt,\n                  const
      struct rd_kafka_metadata **metadatap,\n                  int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_metadata.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - struct rd_kafka_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: rd_kafka_metadata_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 18
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_destroy(const struct rd_kafka_metadata *metadata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:208,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_metadata.c:209,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:210,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:213,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:217,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:221,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:226,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:228,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:235,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:239,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:246,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:251,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:255,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:266,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:271,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:290,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_metadata.c:298,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:305,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:308,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:309,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_metadata.c:313,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:316,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:317,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:318,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:327,1
    - Dst: rd_tmpabuf_failed
      Src: /src/librdkafka/src/rdkafka_metadata.c:332,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:333,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - src_internal
    - size
    - populate_racks
    argTypes:
    - rd_kafka_metadata_internal_t*
    - size_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 339
    functionName: rd_kafka_metadata_copy_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_new
    - rd_list_add
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - rd_tmpabuf_finalize
    - rd_list_deduplicate
    - bsearch
    - rd_tmpabuf_write
    - rd_tmpabuf_alloc
    - rd_tmpabuf_failed
    - rd_tmpabuf_write_str
    - rd_kafka_assert
    linkageType: ''
    returnType: rd_kafka_metadata_internal_t
    signature: "rd_kafka_metadata_internal_t *rd_kafka_metadata_copy_internal(\n    const
      rd_kafka_metadata_internal_t *src_internal,\n    size_t size,\n    rd_bool_t
      populate_racks)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rack, curr_list, k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_copy_internal
      Src: /src/librdkafka/src/rdkafka_metadata.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_internal
    - size
    argTypes:
    - rd_kafka_metadata_internal_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 6
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: rd_kafka_metadata_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_copy_internal
    linkageType: ''
    returnType: rd_kafka_metadata_internal_t
    signature: "rd_kafka_metadata_internal_t *\nrd_kafka_metadata_copy(const rd_kafka_metadata_internal_t
      *src_internal,\n                       size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_copy_internal
      Src: /src/librdkafka/src/rdkafka_metadata.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src_internal
    - size
    argTypes:
    - rd_kafka_metadata_internal_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 6
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: rd_kafka_metadata_copy_add_racks
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_copy_internal
    linkageType: ''
    returnType: rd_kafka_metadata_internal_t
    signature: "rd_kafka_metadata_internal_t *rd_kafka_metadata_copy_add_racks(\n
      \   const rd_kafka_metadata_internal_t *src_internal,\n    size_t size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:376,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_metadata.c:380,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:387,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_metadata.c:391,1
    - Dst: rd_kafka_topic_metadata_update2
      Src: /src/librdkafka/src/rdkafka_metadata.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rkb
    - mdt
    - mdit
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_metadata_topic_t*
    - rd_kafka_metadata_topic_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 371
    functionDepth: 9
    functionLinenumber: 371
    functionLinenumberEnd: 397
    functionName: rd_kafka_parse_Metadata_update_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_metadata_update2
    - rd_kafka_err2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_parse_Metadata_update_topic(\n    rd_kafka_broker_t
      *rkb,\n    const rd_kafka_metadata_topic_t *mdt,\n    const rd_kafka_metadata_topic_internal_t
      *mdit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_metadata.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: rd_kafka_has_reliable_leader_epochs
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_ApiVersion_at_least
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_has_reliable_leader_epochs(rd_kafka_broker_t *rkb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_metadata.c:426,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_metadata.c:427,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:448,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_metadata.c:453,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:458,1
    - Dst: rd_list_deduplicate
      Src: /src/librdkafka/src/rdkafka_metadata.c:460,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:462,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:464,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - tbuf
    - topic_idx
    - mdi
    argTypes:
    - rd_tmpabuf_t*
    - size_t
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 416
    functionDepth: 5
    functionLinenumber: 416
    functionLinenumberEnd: 471
    functionName: rd_kafka_populate_metadata_topic_racks
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_list_cnt
    - rd_list_destroy
    - rd_list_new
    - rd_list_deduplicate
    - rd_dassert
    - bsearch
    - rd_tmpabuf_alloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_populate_metadata_topic_racks(rd_tmpabuf_t *tbuf,\n
      \                                      size_t topic_idx,\n                                       rd_kafka_metadata_internal_t
      *mdi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 468
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(rack, curr_list, j)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:485,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata.c:486,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:493,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:497,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_metadata.c:498,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata.c:499,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_metadata.c:523,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:527,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata.c:529,1
    - Dst: rd_kafka_broker_decommission
      Src: /src/librdkafka/src/rdkafka_metadata.c:530,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:532,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:534,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:535,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - rk
    - md
    - rkb_current
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 476
    functionDepth: 6
    functionLinenumber: 476
    functionLinenumberEnd: 536
    functionName: rd_kafka_metadata_decommission_unavailable_brokers
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_wrlock
    - rd_list_add
    - rd_kafka_wrunlock
    - rd_list_destroy
    - rd_atomic32_get
    - RD_LIST_FOREACH
    - rd_list_find
    - rd_kafka_broker_decommission
    - rd_list_init
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_decommission_unavailable_brokers(\n    rd_kafka_t
      *rk,\n    rd_kafka_metadata_t *md,\n    rd_kafka_broker_t *rkb_current)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_has_reliable_leader_epochs
      Src: /src/librdkafka/src/rdkafka_metadata.c:561,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_metadata.c:574,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_metadata.c:593,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:598,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_metadata.c:598,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_metadata.c:603,1
    - Dst: rd_list_copy
      Src: /src/librdkafka/src/rdkafka_metadata.c:606,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_metadata.c:608,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata.c:609,1
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:614,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:615,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:616,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:617,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_metadata.c:620,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:622,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:623,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata.c:631,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:632,1
    - Dst: rd_kafka_buf_read_throttle_time
      Src: /src/librdkafka/src/rdkafka_metadata.c:635,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:638,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:641,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:643,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:647,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:649,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:653,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:655,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:660,1
    - Dst: rd_kafka_buf_read_str_tmpabuf
      Src: /src/librdkafka/src/rdkafka_metadata.c:661,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:663,1
    - Dst: rd_kafka_buf_read_str_tmpabuf
      Src: /src/librdkafka/src/rdkafka_metadata.c:667,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_metadata.c:673,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:678,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:681,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_metadata.c:686,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:688,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_metadata.c:690,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_metadata.c:693,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_metadata.c:695,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_metadata.c:697,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:701,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:702,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:706,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:707,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:710,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:712,1
    - Dst: rd_kafka_buf_read_i16a
      Src: /src/librdkafka/src/rdkafka_metadata.c:717,1
    - Dst: rd_kafka_buf_read_str_tmpabuf
      Src: /src/librdkafka/src/rdkafka_metadata.c:718,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_metadata.c:722,1
    - Dst: rd_kafka_buf_read_bool
      Src: /src/librdkafka/src/rdkafka_metadata.c:728,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:732,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:735,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:738,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:744,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:747,1
    - Dst: rd_kafka_buf_read_i16a
      Src: /src/librdkafka/src/rdkafka_metadata.c:755,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:757,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:759,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_metadata.c:765,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:779,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:784,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:790,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:802,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:807,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:813,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_metadata.c:818,1
    - Dst: rd_kafka_buf_read_i32a
      Src: /src/librdkafka/src/rdkafka_metadata.c:830,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:838,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_metadata.c:841,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_metadata.c:845,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_metadata.c:852,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_metadata.c:858,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_metadata.c:865,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_metadata.c:871,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_metadata.c:874,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:877,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_metadata.c:880,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:889,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:897,1
    - Dst: rd_kafka_broker_update
      Src: /src/librdkafka/src/rdkafka_metadata.c:901,1
    - Dst: rd_kafka_metadata_decommission_unavailable_brokers
      Src: /src/librdkafka/src/rdkafka_metadata.c:905,1
    - Dst: rd_kafka_pattern_match
      Src: /src/librdkafka/src/rdkafka_metadata.c:911,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:913,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_metadata.c:922,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_metadata.c:925,1
    - Dst: rd_kafka_populate_metadata_topic_racks
      Src: /src/librdkafka/src/rdkafka_metadata.c:930,1
    - Dst: rd_kafka_parse_Metadata_update_topic
      Src: /src/librdkafka/src/rdkafka_metadata.c:933,1
    - Dst: rd_list_free_cb
      Src: /src/librdkafka/src/rdkafka_metadata.c:937,1
    - Dst: rd_list_remove_cmp
      Src: /src/librdkafka/src/rdkafka_metadata.c:938,1
    - Dst: rd_list_free_cb
      Src: /src/librdkafka/src/rdkafka_metadata.c:942,1
    - Dst: rd_list_remove_cmp
      Src: /src/librdkafka/src/rdkafka_metadata.c:944,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:950,1
    - Dst: rd_kafka_metadata_cache_topic_update
      Src: /src/librdkafka/src/rdkafka_metadata.c:951,1
    - Dst: rd_kafka_has_reliable_leader_epochs
      Src: /src/librdkafka/src/rdkafka_metadata.c:959,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:960,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:966,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:969,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:970,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:971,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:972,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:973,1
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_metadata.c:979,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:986,1
    - Dst: rd_kafka_topic_set_notexists
      Src: /src/librdkafka/src/rdkafka_metadata.c:987,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:989,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_metadata.c:991,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:997,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1000,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1001,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1002,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1003,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1006,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:1007,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1012,1
    - Dst: rd_kafka_topic_find_by_topic_id
      Src: /src/librdkafka/src/rdkafka_metadata.c:1013,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1015,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1022,1
    - Dst: rd_kafka_topic_set_notexists
      Src: /src/librdkafka/src/rdkafka_metadata.c:1023,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1025,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_metadata.c:1027,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1033,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1035,1
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_metadata.c:1038,1
    - Dst: rd_kafkap_str_cmp_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:1040,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1041,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_metadata.c:1044,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_metadata.c:1046,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_metadata.c:1051,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_metadata.c:1052,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_metadata.c:1054,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_metadata.c:1057,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1065,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1074,1
    - Dst: rd_kafka_metadata_cache_purge_hints
      Src: /src/librdkafka/src/rdkafka_metadata.c:1081,1
    - Dst: rd_kafka_metadata_cache_purge_hints_by_id
      Src: /src/librdkafka/src/rdkafka_metadata.c:1083,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata.c:1087,1
    - Dst: rd_kafka_metadata_cache_expiry_start
      Src: /src/librdkafka/src/rdkafka_metadata.c:1088,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1091,1
    - Dst: rd_kafka_brokers_broadcast_state_change
      Src: /src/librdkafka/src/rdkafka_metadata.c:1095,1
    - Dst: rd_kafka_cgrp_same_subscription_version
      Src: /src/librdkafka/src/rdkafka_metadata.c:1108,1
    - Dst: rd_kafka_cgrp_metadata_update_check
      Src: /src/librdkafka/src/rdkafka_metadata.c:1110,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_metadata.c:1115,1
    - Dst: rd_kafka_is_idempotent
      Src: /src/librdkafka/src/rdkafka_metadata.c:1119,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1120,1
    - Dst: rd_kafka_idemp_pid_fsm
      Src: /src/librdkafka/src/rdkafka_metadata.c:1121,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1122,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1127,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1129,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1147,1
    - Dst: rd_kafka_metadata_cache_purge_hints
      Src: /src/librdkafka/src/rdkafka_metadata.c:1148,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1149,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1154,1
    - Dst: rd_kafka_metadata_cache_purge_hints_by_id
      Src: /src/librdkafka/src/rdkafka_metadata.c:1155,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1157,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1161,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1163,1
    - Dst: rd_tmpabuf_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1164,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 275
    argCount: 6
    argNames:
    - rkb
    - request
    - rkbuf
    - mdip
    - request_topics
    - reason
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_metadata_internal_t**
    - rd_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 539
    functionDepth: 10
    functionLinenumber: 539
    functionLinenumberEnd: 1167
    functionName: rd_kafka_parse_Metadata0
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_cgrp_metadata_update_check
    - rd_tmpabuf_destroy
    - rd_kafka_metadata_decommission_unavailable_brokers
    - rd_tmpabuf_new
    - rd_kafka_wrlock
    - rd_kafka_cgrp_same_subscription_version
    - rd_kafka_brokers_broadcast_state_change
    - rd_tmpabuf_add_alloc
    - rd_kafka_buf_skip_tags
    - rd_list_free_cb
    - RD_KAFKAP_STR_DUP
    - rd_kafka_topic_wrunlock
    - rd_interval_reset
    - rd_kafka_topic_destroy0
    - rd_kafka_rdlock
    - rd_kafka_populate_metadata_topic_racks
    - rd_kafka_buf_read_str_tmpabuf
    - rd_kafka_terminating
    - rd_list_destroy
    - rd_kafka_err2str
    - rd_kafka_Uuid_base64str
    - rd_kafka_metadata_cache_propagate_changes
    - rd_tmpabuf_write
    - memcpy
    - rd_tmpabuf_write_str
    - rd_kafka_assert
    - rd_kafka_broker_name
    - rd_kafka_metadata_cache_purge_hints_by_id
    - rd_kafka_is_idempotent
    - RD_KAFKAP_STR_LEN
    - rd_kafka_rdunlock
    - rd_kafka_buf_read_bool
    - rd_kafka_parse_Metadata_update_topic
    - rd_kafka_buf_skip
    - rd_kafka_buf_read_arraycnt
    - qsort
    - rd_list_copy
    - rd_kafka_broker_update
    - rd_kafka_buf_read_i16
    - rd_kafka_pattern_match
    - rd_kafka_topic_find
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_unlock
    - rd_kafka_metadata_cache_topic_update
    - rd_kafka_topic_wrlock
    - rd_kafka_buf_read_i32
    - rd_kafka_metadata_cache_purge_hints
    - rd_kafka_metadata_cache_expiry_start
    - rd_clock
    - rd_kafka_buf_read_uuid
    - rd_kafka_has_reliable_leader_epochs
    - rd_kafka_log
    - rd_free
    - rd_list_cnt
    - rd_kafka_buf_parse_fail
    - rd_list_remove_cmp
    - rd_kafka_wrunlock
    - rd_kafka_topic_set_notexists
    - rd_tmpabuf_finalize
    - thrd_is_current
    - rd_rkb_dbg
    - rd_kafka_topic_find_by_topic_id
    - rd_kafka_idemp_pid_fsm
    - rd_kafka_broker_lock
    - rd_tmpabuf_alloc
    - strlen
    - rd_kafka_buf_read_i32a
    - rd_kafka_buf_read_str
    - rd_kafka_buf_read_throttle_time
    - rd_kafka_buf_read_i16a
    - rd_kafkap_str_cmp_str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_parse_Metadata0(rd_kafka_broker_t *rkb,\n
      \                        rd_kafka_buf_t *request,\n                         rd_kafka_buf_t
      *rkbuf,\n                         rd_kafka_metadata_internal_t **mdip,\n                         rd_list_t
      *request_topics,\n                         const char *reason)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_metadata.c:979,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:986,1
    - Dst: rd_kafka_topic_set_notexists
      Src: /src/librdkafka/src/rdkafka_metadata.c:987,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:989,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_metadata.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 975
    functionDepth: 7
    functionLinenumber: 975
    functionLinenumberEnd: 993
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 50
    functionsReached:
    - rd_kafka_topic_set_notexists
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_find
    - rd_kafka_topic_wrlock
    - rd_kafka_topic_wrunlock
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic, missing_topics, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1012,1
    - Dst: rd_kafka_topic_find_by_topic_id
      Src: /src/librdkafka/src/rdkafka_metadata.c:1013,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1015,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1022,1
    - Dst: rd_kafka_topic_set_notexists
      Src: /src/librdkafka/src/rdkafka_metadata.c:1023,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1025,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_metadata.c:1027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1009
    functionDepth: 7
    functionLinenumber: 1009
    functionLinenumberEnd: 1029
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 50
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_topic_set_notexists
    - rd_kafka_topic_destroy0
    - rd_kafka_topic_find_by_topic_id
    - rd_kafka_topic_wrlock
    - rd_kafka_topic_wrunlock
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic_id, missing_topic_ids, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_parse_Metadata0
      Src: /src/librdkafka/src/rdkafka_metadata.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rkb
    - request
    - rkbuf
    - mdip
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_metadata_internal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1184
    functionDepth: 11
    functionLinenumber: 1184
    functionLinenumberEnd: 1192
    functionName: rd_kafka_parse_Metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 1
    functionsReached:
    - rd_kafka_parse_Metadata0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_parse_Metadata(rd_kafka_broker_t *rkb,\n
      \                       rd_kafka_buf_t *request,\n                        rd_kafka_buf_t
      *rkbuf,\n                        rd_kafka_metadata_internal_t **mdip)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_parse_Metadata0
      Src: /src/librdkafka/src/rdkafka_metadata.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rkb
    - rkbuf
    - request_topics
    - mdip
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_list_t*
    - rd_kafka_metadata_internal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1210
    functionDepth: 11
    functionLinenumber: 1210
    functionLinenumberEnd: 1217
    functionName: rd_kafka_parse_Metadata_admin
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 2
    functionsReached:
    - rd_kafka_parse_Metadata0
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_parse_Metadata_admin(rd_kafka_broker_t
      *rkb,\n                              rd_kafka_buf_t *rkbuf,\n                              rd_list_t
      *request_topics,\n                              rd_kafka_metadata_internal_t
      **mdip)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1245,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1252,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1256,1
    - Dst: rd_kafka_metadata_cache_topics_to_list
      Src: /src/librdkafka/src/rdkafka_metadata.c:1257,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata.c:1258,1
    - Dst: rd_kafka_metadata_cache_topic_get
      Src: /src/librdkafka/src/rdkafka_metadata.c:1261,1
    - Dst: rd_kafka_pattern_match
      Src: /src/librdkafka/src/rdkafka_metadata.c:1268,1
    - Dst: rd_kafka_topic_match
      Src: /src/librdkafka/src/rdkafka_metadata.c:1273,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_metadata.c:1278,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1283,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1289,1
    - Dst: rd_kafka_topic_info_new_with_rack
      Src: /src/librdkafka/src/rdkafka_metadata.c:1289,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1296,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1303,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1308,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - rk
    - tinfos
    - match
    - errored
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1234
    functionDepth: 14
    functionLinenumber: 1234
    functionLinenumberEnd: 1312
    functionName: rd_kafka_metadata_topic_match
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 2
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_topic_match
    - rd_list_add
    - rd_list_destroy
    - rd_kafka_metadata_cache_topic_get
    - rd_kafka_pattern_match
    - RD_LIST_FOREACH
    - rd_kafka_metadata_cache_topics_to_list
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_info_new_with_rack
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_del
    - rd_list_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_metadata_topic_match(rd_kafka_t *rk,\n                              rd_list_t
      *tinfos,\n                              const rd_kafka_topic_partition_list_t
      *match,\n                              rd_kafka_topic_partition_list_t *errored)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1334,1
    - Dst: rd_kafka_pattern_match
      Src: /src/librdkafka/src/rdkafka_metadata.c:1342,1
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata.c:1346,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1351,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1355,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1359,1
    - Dst: rd_kafka_topic_info_new_with_rack
      Src: /src/librdkafka/src/rdkafka_metadata.c:1360,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - rk
    - tinfos
    - match
    - errored
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1326
    functionDepth: 7
    functionLinenumber: 1326
    functionLinenumberEnd: 1371
    functionName: rd_kafka_metadata_topic_filter
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 2
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_metadata_cache_find
    - rd_kafka_rdunlock
    - rd_list_add
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_info_new_with_rack
    - rd_kafka_pattern_match
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_metadata_topic_filter(rd_kafka_t *rk,\n                               rd_list_t
      *tinfos,\n                               const rd_kafka_topic_partition_list_t
      *match,\n                               rd_kafka_topic_partition_list_t *errored)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1379,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1384,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1391,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_metadata.c:1396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - fac
    - md
    argTypes:
    - rd_kafka_t*
    - char*
    - struct rd_kafka_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1399
    functionName: rd_kafka_metadata_log
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_log(rd_kafka_t *rk,\n                           const
      char *fac,\n                           const struct rd_kafka_metadata *md)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1433,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1437,1
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_metadata.c:1440,1
    - Dst: rd_kafka_metadata_cache_hint
      Src: /src/librdkafka/src/rdkafka_metadata.c:1445,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1448,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1449,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1452,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1459,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1459,1
    - Dst: rd_kafka_metadata_cache_hint
      Src: /src/librdkafka/src/rdkafka_metadata.c:1466,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1468,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1470,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1472,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1476,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1477,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1479,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1484,1
    - Dst: rd_list_copy_to
      Src: /src/librdkafka/src/rdkafka_metadata.c:1485,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1488,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1490,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1490,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_metadata.c:1492,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1496,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 8
    argNames:
    - rk
    - rkb
    - topics
    - force
    - allow_auto_create
    - cgrp_update
    - cgrp_subscription_version
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    - int32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1420
    functionDepth: 10
    functionLinenumber: 1420
    functionLinenumberEnd: 1502
    functionName: rd_kafka_metadata_refresh_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 2
    functionsReached:
    - rd_kafka_metadata_cache_hint
    - rd_assert
    - rd_kafka_wrlock
    - rd_list_cnt
    - rd_kafka_wrunlock
    - rd_list_destroy
    - rd_kafka_broker_destroy
    - rd_kafka_MetadataRequest
    - rd_kafka_broker_any_usable
    - rd_list_init
    - rd_list_copy_to
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_refresh_topics(rd_kafka_t *rk,\n
      \                                rd_kafka_broker_t *rkb,\n                                 const
      rd_list_t *topics,\n                                 rd_bool_t force,\n                                 rd_bool_t
      allow_auto_create,\n                                 rd_bool_t cgrp_update,\n
      \                                int32_t cgrp_subscription_version,\n                                 const
      char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1530,1
    - Dst: rd_kafka_local_topics_to_list
      Src: /src/librdkafka/src/rdkafka_metadata.c:1531,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1536,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1538,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_metadata.c:1541,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - rk
    - rkb
    - force
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_bool_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1517
    functionDepth: 11
    functionLinenumber: 1517
    functionLinenumberEnd: 1548
    functionName: rd_kafka_metadata_refresh_known_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 4
    functionsReached:
    - rd_list_cnt
    - rd_list_destroy
    - rd_kafka_local_topics_to_list
    - rd_kafka_metadata_refresh_topics
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_refresh_known_topics(rd_kafka_t
      *rk,\n                                       rd_kafka_broker_t *rkb,\n                                       rd_bool_t
      force,\n                                       const char *reason)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1576,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1581,1
    - Dst: rd_kafka_metadata_refresh_all
      Src: /src/librdkafka/src/rdkafka_metadata.c:1588,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1591,1
    - Dst: rd_kafka_local_topics_to_list
      Src: /src/librdkafka/src/rdkafka_metadata.c:1595,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1596,1
    - Dst: rd_kafka_topic_partition_list_get_topic_names
      Src: /src/librdkafka/src/rdkafka_metadata.c:1601,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1605,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_metadata.c:1608,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_metadata.c:1611,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - rk
    - rkb
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1564
    functionDepth: 11
    functionLinenumber: 1564
    functionLinenumberEnd: 1616
    functionName: rd_kafka_metadata_refresh_consumer_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_list_cnt
    - rd_list_destroy
    - rd_kafka_metadata_refresh_topics
    - rd_list_init
    - rd_atomic32_get
    - rd_kafka_local_topics_to_list
    - rd_kafka_metadata_refresh_all
    - rd_kafka_topic_partition_list_get_topic_names
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_refresh_consumer_topics(rd_kafka_t
      *rk,\n                                          rd_kafka_broker_t *rkb,\n                                          const
      char *reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_request
      Src: /src/librdkafka/src/rdkafka_metadata.c:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - rkb
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1641
    functionName: rd_kafka_metadata_refresh_brokers
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 4
    functionsReached:
    - rd_kafka_metadata_request
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_refresh_brokers(rd_kafka_t *rk,\n
      \                                                     rd_kafka_broker_t *rkb,\n
      \                                                     const char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1660,1
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_metadata.c:1665,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1671,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_metadata.c:1672,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1676,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - rk
    - rkb
    - reason
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1653
    functionDepth: 10
    functionLinenumber: 1653
    functionLinenumberEnd: 1682
    functionName: rd_kafka_metadata_refresh_all
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 1
    functionsReached:
    - rd_assert
    - rd_kafka_MetadataRequest
    - rd_list_destroy
    - rd_kafka_broker_destroy
    - rd_kafka_broker_any_usable
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_refresh_all(rd_kafka_t *rk,\n
      \                                                 rd_kafka_broker_t *rkb,\n
      \                                                 const char *reason)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_any_usable
      Src: /src/librdkafka/src/rdkafka_metadata.c:1707,1
    - Dst: rd_kafka_MetadataRequest
      Src: /src/librdkafka/src/rdkafka_metadata.c:1713,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - rk
    - rkb
    - topics
    - allow_auto_create_topics
    - cgrp_update
    - cgrp_subscription_version
    - reason
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_list_t*
    - rd_bool_t
    - rd_bool_t
    - int32_t
    - char*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1695
    functionDepth: 10
    functionLinenumber: 1695
    functionLinenumberEnd: 1721
    functionName: rd_kafka_metadata_request
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 2
    functionsReached:
    - rd_kafka_broker_any_usable
    - rd_kafka_broker_destroy
    - rd_kafka_MetadataRequest
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_metadata_request(rd_kafka_t *rk,\n                          rd_kafka_broker_t
      *rkb,\n                          const rd_list_t *topics,\n                          rd_bool_t
      allow_auto_create_topics,\n                          rd_bool_t cgrp_update,\n
      \                         int32_t cgrp_subscription_version,\n                          const
      char *reason,\n                          rd_kafka_op_t *rko)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1738,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata.c:1739,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata.c:1741,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1743,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1747,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1758,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1761,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata.c:1765,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_metadata.c:1765,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1767,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1770,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata.c:1772,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_metadata.c:1774,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_metadata.c:1776,1
    - Dst: rd_kafka_timer_exp_backoff
      Src: /src/librdkafka/src/rdkafka_metadata.c:1783,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:1789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1731
    functionDepth: 11
    functionLinenumber: 1731
    functionLinenumberEnd: 1790
    functionName: rd_kafka_metadata_leader_query_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_lock
    - rd_kafka_wrlock
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_wrunlock
    - rd_kafka_topic_rdunlock
    - rd_list_destroy
    - rd_kafka_metadata_refresh_topics
    - rd_kafka_timer_exp_backoff
    - rd_kafka_timer_stop
    - rd_list_init
    - rd_strdup
    - rd_kafka_toppar_unlock
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_leader_query_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                 void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_next
      Src: /src/librdkafka/src/rdkafka_metadata.c:1810,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1815,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_metadata.c:1817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - force
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1806
    functionDepth: 2
    functionLinenumber: 1806
    functionLinenumberEnd: 1822
    functionName: rd_kafka_metadata_fast_leader_query
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_timer_next
    - rd_kafka_timer_start
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_fast_leader_query(rd_kafka_t *rk, rd_bool_t
      force)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1855,1
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_metadata.c:1859,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1861,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1862,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1863,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1868,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata.c:1868,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1869,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1872,1
    - Dst: rd_tmpabuf_add_alloc_times
      Src: /src/librdkafka/src/rdkafka_metadata.c:1876,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_metadata.c:1881,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1883,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_metadata.c:1884,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1889,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1891,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1895,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata.c:1901,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1905,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1908,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_metadata.c:1914,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_metadata.c:1916,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata.c:1930,1
    - Dst: rd_tmpabuf_failed
      Src: /src/librdkafka/src/rdkafka_metadata.c:1947,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_metadata.c:1948,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 4
    argNames:
    - topics
    - topic_cnt
    - replication_factor
    - num_brokers
    argTypes:
    - rd_kafka_metadata_topic_t*
    - size_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1843
    functionDepth: 2
    functionLinenumber: 1843
    functionLinenumberEnd: 1953
    functionName: rd_kafka_metadata_new_topic_mock
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_tmpabuf_new
    - rd_tmpabuf_add_alloc
    - rd_tmpabuf_finalize
    - memset
    - rd_tmpabuf_alloc
    - rd_tmpabuf_add_alloc_times
    - strlen
    - rd_tmpabuf_write_str
    - rd_tmpabuf_failed
    linkageType: ''
    returnType: rd_kafka_metadata_t
    signature: "rd_kafka_metadata_t *\nrd_kafka_metadata_new_topic_mock(const rd_kafka_metadata_topic_t
      *topics,\n                                 size_t topic_cnt,\n                                 int
      replication_factor,\n                                 int num_brokers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_metadata.c:1964,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1966,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_metadata.c:1967,1
    - Dst: rd_kafka_metadata_new_topic_mock
      Src: /src/librdkafka/src/rdkafka_metadata.c:1970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - topic_cnt
    - replication_factor
    - num_brokers
    - args
    argTypes:
    - size_t
    - int
    - int
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1956
    functionDepth: 3
    functionLinenumber: 1956
    functionLinenumberEnd: 1972
    functionName: rd_kafka_metadata_new_topic_mockv_internal
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_new_topic_mock
    - rd_alloca
    - va_arg
    linkageType: ''
    returnType: rd_kafka_metadata_t
    signature: "rd_kafka_metadata_t *\nrd_kafka_metadata_new_topic_mockv_internal(size_t
      topic_cnt,\n                                           int replication_factor,\n
      \                                          int num_brokers,\n                                           va_list
      args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_metadata.c:1989,1
    - Dst: rd_kafka_metadata_new_topic_mockv_internal
      Src: /src/librdkafka/src/rdkafka_metadata.c:1991,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_metadata.c:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - topic_cnt
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1985
    functionDepth: 4
    functionLinenumber: 1985
    functionLinenumberEnd: 1995
    functionName: rd_kafka_metadata_new_topic_mockv
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_metadata_new_topic_mockv_internal
    linkageType: ''
    returnType: rd_kafka_metadata_t
    signature: rd_kafka_metadata_t *rd_kafka_metadata_new_topic_mockv(size_t topic_cnt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_metadata.c:2018,1
    - Dst: rd_kafka_metadata_new_topic_mockv_internal
      Src: /src/librdkafka/src/rdkafka_metadata.c:2019,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_metadata.c:2021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - replication_factor
    - num_brokers
    - topic_cnt
    argTypes:
    - int
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2010
    functionDepth: 4
    functionLinenumber: 2010
    functionLinenumberEnd: 2024
    functionName: rd_kafka_metadata_new_topic_with_partition_replicas_mockv
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 0
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_metadata_new_topic_mockv_internal
    linkageType: ''
    returnType: rd_kafka_metadata_t
    signature: "rd_kafka_metadata_t *rd_kafka_metadata_new_topic_with_partition_replicas_mockv(\n
      \   int replication_factor,\n    int num_brokers,\n    size_t topic_cnt,\n    ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_metadata.c:2049,1
    - Dst: rd_kafka_metadata_new_topic_mock
      Src: /src/librdkafka/src/rdkafka_metadata.c:2055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - replication_factor
    - num_brokers
    - topic_names
    - partition_cnts
    - topic_cnt
    argTypes:
    - int
    - int
    - char*[]
    - int*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 2040
    functionDepth: 3
    functionLinenumber: 2040
    functionLinenumberEnd: 2057
    functionName: rd_kafka_metadata_new_topic_with_partition_replicas_mock
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 1
    functionsReached:
    - rd_kafka_metadata_new_topic_mock
    - rd_alloca
    linkageType: ''
    returnType: rd_kafka_metadata_t
    signature: "rd_kafka_metadata_t *\nrd_kafka_metadata_new_topic_with_partition_replicas_mock(int
      replication_factor,\n                                                         int
      num_brokers,\n                                                         char
      *topic_names[],\n                                                         int
      *partition_cnts,\n                                                         size_t
      topic_cnt)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_update
      Src: /src/librdkafka/src/rdkafka_metadata.c:2079,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata.c:2086,1
    - Dst: rd_kafka_metadata_cache_find_by_id
      Src: /src/librdkafka/src/rdkafka_metadata.c:2091,1
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata.c:2095,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_metadata.c:2102,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:2105,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_metadata.c:2107,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_metadata.c:2126,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:2131,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_metadata.c:2137,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_metadata.c:2139,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:2144,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:2156,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:2157,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:2163,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:2172,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata.c:2177,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_metadata.c:2178,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:2180,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_metadata.c:2185,1
    - Dst: rd_kafka_topic_metadata_update2
      Src: /src/librdkafka/src/rdkafka_metadata.c:2191,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:2198,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata.c:2203,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata.c:2205,1
    - Dst: rd_kafka_metadata_cache_expiry_start
      Src: /src/librdkafka/src/rdkafka_metadata.c:2206,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - rk
    - mdi
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2070
    functionDepth: 9
    functionLinenumber: 2070
    functionLinenumberEnd: 2209
    functionName: rd_kafka_metadata_update_op
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata.c
    functionUses: 1
    functionsReached:
    - rd_kafka_log
    - RD_KAFKA_UUID_IS_ZERO
    - rd_kafka_metadata_cache_find
    - rd_kafka_wrlock
    - rd_kafka_broker_destroy
    - rd_kafka_wrunlock
    - rd_kafka_broker_update
    - rd_kafka_Uuid_base64str
    - rd_kafka_dbg
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_topic_metadata_update2
    - rd_kafka_metadata_cache_expiry_start
    - rd_kafka_metadata_cache_find_by_id
    - rd_kafka_broker_find_by_nodeid
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: rd_kafka_op_res_t rd_kafka_metadata_update_op(rd_kafka_t *rk, rd_kafka_metadata_internal_t
      *mdi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: rd_kafka_event_type
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_event_type_t
    signature: rd_kafka_event_type_t rd_kafka_event_type(const rd_kafka_event_t *rkev)
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 67
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 105
    functionName: rd_kafka_event_name
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_event_name(const rd_kafka_event_t *rkev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:110,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_event.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: rd_kafka_event_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 66
    functionsReached:
    - rd_kafka_op_destroy
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_event_destroy(rd_kafka_event_t *rkev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_get
      Src: /src/librdkafka/src/rdkafka_event.c:138,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:139,1
    - Dst: rd_kafka_fetch_op_app_prepare
      Src: /src/librdkafka/src/rdkafka_event.c:143,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:152,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_event.c:152,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_event.c:155,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_event.c:158,1
    - Dst: rd_kafka_message_get_from_rkm
      Src: /src/librdkafka/src/rdkafka_event.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 161
    functionName: rd_kafka_event_message_next
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached:
    - rd_kafka_message_get_from_rkm
    - TAILQ_FIRST
    - rd_kafka_fetch_op_app_prepare
    - rd_kafka_msgq_deq
    - rd_kafka_msgq_enq
    - unlikely
    - rd_kafka_message_get
    linkageType: ''
    returnType: rd_kafka_message_t
    signature: rd_kafka_message_t *rd_kafka_event_message_next(rd_kafka_event_t *rkev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_event_message_next
      Src: /src/librdkafka/src/rdkafka_event.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - rkev
    - rkmessages
    - size
    argTypes:
    - rd_kafka_event_t*
    - rd_kafka_message_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: rd_kafka_event_message_array
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_message_next
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_event_message_array(rd_kafka_event_t *rkev,\n                                    const
      rd_kafka_message_t **rkmessages,\n                                    size_t
      size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: rd_kafka_event_message_count
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rd_kafka_event_message_count(rd_kafka_event_t *rkev)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: rd_kafka_event_config_string
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_event_config_string(rd_kafka_event_t *rkev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: rd_kafka_event_error
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_event_error(rd_kafka_event_t *rkev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_event.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: rd_kafka_event_error_string
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 46
    functionsReached:
    - rd_kafka_err2str
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_event_error_string(rd_kafka_event_t *rkev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: rd_kafka_event_error_is_fatal
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_event_error_is_fatal(rd_kafka_event_t *rkev)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: rd_kafka_event_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_event_opaque(rd_kafka_event_t *rkev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:243,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_event.c:246,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_event.c:248,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_event.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - rkev
    - fac
    - str
    - level
    argTypes:
    - rd_kafka_event_t*
    - char**
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 254
    functionName: rd_kafka_event_log
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached:
    - likely
    - unlikely
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_event_log(rd_kafka_event_t *rkev,\n                       const
      char **fac,\n                       const char **str,\n                       int
      *level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:264,1
    - Dst: rd_flags2str
      Src: /src/librdkafka/src/rdkafka_event.c:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rkev
    - dst
    - dstsize
    argTypes:
    - rd_kafka_event_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: rd_kafka_event_debug_contexts
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached:
    - unlikely
    - rd_flags2str
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_event_debug_contexts(rd_kafka_event_t *rkev,\n                                  char
      *dst,\n                                  size_t dstsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: rd_kafka_event_stats
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_event_stats(rd_kafka_event_t *rkev)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: rd_kafka_event_topic_partition_list
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t *

      rd_kafka_event_topic_partition_list(rd_kafka_event_t *rkev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_event.c:291,1
    - Dst: rd_kafka_topic_partition_new_from_rktp
      Src: /src/librdkafka/src/rdkafka_event.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: rd_kafka_event_topic_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_new_from_rktp
    - unlikely
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: 'rd_kafka_topic_partition_t *

      rd_kafka_event_topic_partition(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: rd_kafka_event_CreateTopics_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_CreateTopics_result_t
    signature: 'rd_kafka_CreateTopics_result_t *

      rd_kafka_event_CreateTopics_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: rd_kafka_event_DeleteTopics_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DeleteTopics_result_t
    signature: 'rd_kafka_DeleteTopics_result_t *

      rd_kafka_event_DeleteTopics_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: rd_kafka_event_CreatePartitions_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_CreatePartitions_result_t
    signature: 'rd_kafka_CreatePartitions_result_t *

      rd_kafka_event_CreatePartitions_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: rd_kafka_event_AlterConfigs_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AlterConfigs_result_t
    signature: 'rd_kafka_AlterConfigs_result_t *

      rd_kafka_event_AlterConfigs_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: rd_kafka_event_IncrementalAlterConfigs_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_IncrementalAlterConfigs_result_t
    signature: 'rd_kafka_IncrementalAlterConfigs_result_t *

      rd_kafka_event_IncrementalAlterConfigs_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: rd_kafka_event_DescribeConfigs_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeConfigs_result_t
    signature: 'rd_kafka_DescribeConfigs_result_t *

      rd_kafka_event_DescribeConfigs_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: rd_kafka_event_DeleteRecords_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DeleteRecords_result_t
    signature: 'rd_kafka_DeleteRecords_result_t *

      rd_kafka_event_DeleteRecords_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: rd_kafka_event_ListConsumerGroups_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroups_result_t
    signature: 'rd_kafka_ListConsumerGroups_result_t *

      rd_kafka_event_ListConsumerGroups_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 389
    functionName: rd_kafka_event_DescribeConsumerGroups_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeConsumerGroups_result_t
    signature: 'rd_kafka_DescribeConsumerGroups_result_t *

      rd_kafka_event_DescribeConsumerGroups_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: rd_kafka_event_DescribeTopics_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeTopics_result_t
    signature: 'rd_kafka_DescribeTopics_result_t *

      rd_kafka_event_DescribeTopics_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: rd_kafka_event_DescribeCluster_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeCluster_result_t
    signature: 'rd_kafka_DescribeCluster_result_t *

      rd_kafka_event_DescribeCluster_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: rd_kafka_event_DeleteGroups_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DeleteGroups_result_t
    signature: 'rd_kafka_DeleteGroups_result_t *

      rd_kafka_event_DeleteGroups_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: rd_kafka_event_DeleteConsumerGroupOffsets_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DeleteConsumerGroupOffsets_result_t
    signature: 'rd_kafka_DeleteConsumerGroupOffsets_result_t *

      rd_kafka_event_DeleteConsumerGroupOffsets_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: rd_kafka_event_CreateAcls_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_CreateAcls_result_t
    signature: 'rd_kafka_CreateAcls_result_t *

      rd_kafka_event_CreateAcls_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: rd_kafka_event_DescribeAcls_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeAcls_result_t
    signature: 'rd_kafka_DescribeAcls_result_t *

      rd_kafka_event_DescribeAcls_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: rd_kafka_event_DeleteAcls_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DeleteAcls_result_t
    signature: 'rd_kafka_DeleteAcls_result_t *

      rd_kafka_event_DeleteAcls_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: rd_kafka_event_AlterConsumerGroupOffsets_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AlterConsumerGroupOffsets_result_t
    signature: 'rd_kafka_AlterConsumerGroupOffsets_result_t *

      rd_kafka_event_AlterConsumerGroupOffsets_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: rd_kafka_event_DescribeUserScramCredentials_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_DescribeUserScramCredentials_result_t
    signature: 'rd_kafka_DescribeUserScramCredentials_result_t *

      rd_kafka_event_DescribeUserScramCredentials_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: rd_kafka_event_AlterUserScramCredentials_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_AlterUserScramCredentials_result_t
    signature: 'rd_kafka_AlterUserScramCredentials_result_t *

      rd_kafka_event_AlterUserScramCredentials_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 485
    functionName: rd_kafka_event_ListOffsets_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ListOffsets_result_t
    signature: 'rd_kafka_ListOffsets_result_t *

      rd_kafka_event_ListOffsets_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 494
    functionName: rd_kafka_event_ListConsumerGroupOffsets_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ListConsumerGroupOffsets_result_t
    signature: 'rd_kafka_ListConsumerGroupOffsets_result_t *

      rd_kafka_event_ListConsumerGroupOffsets_result(rd_kafka_event_t *rkev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rkev
    argTypes:
    - rd_kafka_event_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: rd_kafka_event_ElectLeaders_result
    functionSourceFile: /src/librdkafka/src/rdkafka_event.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_ElectLeaders_result_t
    signature: 'rd_kafka_ElectLeaders_result_t *

      rd_kafka_event_ElectLeaders_result(rd_kafka_event_t *rkev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: rd_kafka_broker_keep
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_keep(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUNC
    - ','
    - LINE
    - ','
    - RKB
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: rd_kafka_broker_keep_fl
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_keep_fl(FUNC, LINE, RKB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: rd_kafka_broker_lock
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_lock(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: rd_kafka_broker_unlock
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_unlock(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.h:408,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.h:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 412
    functionName: rd_kafka_broker_get_state
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_get_state(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: rd_kafka_broker_state_is_up
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_state_is_up(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: rd_kafka_broker_state_is_down
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_state_is_down(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 434
    functionName: rd_kafka_broker_is_any_err_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_is_any_err_destroy(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: rd_kafka_broker_or_instance_terminating
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_or_instance_terminating(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_get_state
      Src: /src/librdkafka/src/rdkafka_broker.h:447,1
    - Dst: rd_kafka_broker_state_is_up
      Src: /src/librdkafka/src/rdkafka_broker.h:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 449
    functionName: rd_kafka_broker_is_up
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_state_is_up
    - rd_kafka_broker_get_state
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_broker_is_up(rd_kafka_broker_t *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_broker.h:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 458
    functionName: rd_kafka_broker_termination_in_progress
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 2
    functionsReached:
    - rd_atomic32_get
    linkageType: ''
    returnType: RD_UNUSED
    signature: RD_UNUSED rd_kafka_broker_termination_in_progress(rd_kafka_broker_t
      *rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_broker.h:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: rd_kafka_broker_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 1
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_broker_cmp(const void *_a,\n                                                   const
      void *_b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_broker.h:475,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_broker.h:479,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_broker.h:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rkb
    - features
    argTypes:
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 486
    functionName: rd_kafka_broker_supports
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - thrd_is_current
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_kafka_broker_supports(rd_kafka_broker_t *rkb,\n                                              int
      features)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - nodeid
    - ','
    - state
    - ','
    - do_connect
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 519
    functionName: rd_kafka_broker_find_by_nodeid0
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_find_by_nodeid0(rk, nodeid, state, do_connect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rk
    - ','
    - nodeid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: rd_kafka_broker_find_by_nodeid
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_find_by_nodeid(rk, nodeid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - opaque
    argTypes:
    - rd_kafka_broker_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 529
    functionName: rd_kafka_broker_filter_non_idempotent
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_broker_filter_non_idempotent(rd_kafka_broker_t *rkb,
      void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 587
    functionName: rd_kafka_broker_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_destroy(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rkb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: RD_KAFKA_BROKER_IS_LOGICAL
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_BROKER_IS_LOGICAL(rkb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rk
    - ','
    - state
    - ','
    - filter
    - ','
    - opaque
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: rd_kafka_broker_random
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_random(rk, state, filter, opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - filter
    - ','
    - opaque
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 688
    functionName: rd_kafka_broker_random_up
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_broker_random_up(rk, filter, opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CIRCLEQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_broker.h:697,1
    - Dst: CIRCLEQ_ENDC
      Src: /src/librdkafka/src/rdkafka_broker.h:698,1
    - Dst: CIRCLEQ_FIRST
      Src: /src/librdkafka/src/rdkafka_broker.h:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - rkb
    - sugg_next
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 705
    functionName: rd_kafka_broker_active_toppar_next
    functionSourceFile: /src/librdkafka/src/rdkafka_broker.h
    functionUses: 3
    functionsReached:
    - CIRCLEQ_FIRST
    - CIRCLEQ_EMPTY
    - CIRCLEQ_ENDC
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_broker_active_toppar_next(rd_kafka_broker_t *rkb,\n
      \                                  rd_kafka_toppar_t *sugg_next)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ran
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: RD_AVL_NODE_HEIGHT
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_NODE_HEIGHT(ran)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ran
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: RD_AVL_NODE_DELTA
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_NODE_DELTA(ran)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_balance_node
      Src: /src/librdkafka/src/rdavl.c:57,1
    - Dst: rd_avl_balance_node
      Src: /src/librdkafka/src/rdavl.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ran
    - dir
    argTypes:
    - rd_avl_node_t*
    - rd_avl_dir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: rd_avl_rotate
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached:
    - rd_avl_balance_node
    linkageType: ''
    returnType: rd_avl_node_t
    signature: rd_avl_node_t *rd_avl_rotate(rd_avl_node_t *ran, rd_avl_dir_t dir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD_AVL_NODE_DELTA
      Src: /src/librdkafka/src/rdavl.c:63,1
    - Dst: RD_AVL_NODE_DELTA
      Src: /src/librdkafka/src/rdavl.c:67,1
    - Dst: rd_avl_rotate
      Src: /src/librdkafka/src/rdavl.c:68,1
    - Dst: rd_avl_rotate
      Src: /src/librdkafka/src/rdavl.c:70,1
    - Dst: RD_AVL_NODE_DELTA
      Src: /src/librdkafka/src/rdavl.c:73,1
    - Dst: rd_avl_rotate
      Src: /src/librdkafka/src/rdavl.c:75,1
    - Dst: rd_avl_rotate
      Src: /src/librdkafka/src/rdavl.c:77,1
    - Dst: RD_AVL_NODE_HEIGHT
      Src: /src/librdkafka/src/rdavl.c:82,1
    - Dst: RD_AVL_NODE_HEIGHT
      Src: /src/librdkafka/src/rdavl.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ran
    argTypes:
    - rd_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: rd_avl_balance_node
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 1
    functionsReached:
    - RD_AVL_NODE_DELTA
    - rd_avl_rotate
    - RD_AVL_NODE_HEIGHT
    linkageType: ''
    returnType: rd_avl_node_t
    signature: rd_avl_node_t *rd_avl_balance_node(rd_avl_node_t *ran)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_t*::ravl_cmp
      Src: /src/librdkafka/src/rdavl.c:104,1
    - Dst: rd_avl_insert_node
      Src: /src/librdkafka/src/rdavl.c:119,1
    - Dst: rd_avl_balance_node
      Src: /src/librdkafka/src/rdavl.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ravl
    - parent
    - ran
    - existing
    argTypes:
    - rd_avl_t*
    - rd_avl_node_t*
    - rd_avl_node_t*
    - rd_avl_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: rd_avl_insert_node
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 1
    functionsReached:
    - rd_avl_insert_node
    - rd_avl_balance_node
    - rd_avl_t*::ravl_cmp
    linkageType: ''
    returnType: rd_avl_node_t
    signature: "rd_avl_node_t *rd_avl_insert_node(rd_avl_t *ravl,\n                                  rd_avl_node_t
      *parent,\n                                  rd_avl_node_t *ran,\n                                  rd_avl_node_t
      **existing)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_move
      Src: /src/librdkafka/src/rdavl.c:130,1
    - Dst: rd_avl_balance_node
      Src: /src/librdkafka/src/rdavl.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - dir
    argTypes:
    - rd_avl_node_t*
    - rd_avl_node_t*
    - rd_avl_dir_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: rd_avl_move
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 1
    functionsReached:
    - rd_avl_balance_node
    - rd_avl_move
    linkageType: ''
    returnType: rd_avl_node_t
    signature: 'rd_avl_node_t *

      rd_avl_move(rd_avl_node_t *dst, rd_avl_node_t *src, rd_avl_dir_t dir)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_move
      Src: /src/librdkafka/src/rdavl.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ran
    argTypes:
    - rd_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 4
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: rd_avl_remove_node0
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached:
    - rd_avl_move
    linkageType: ''
    returnType: rd_avl_node_t
    signature: rd_avl_node_t *rd_avl_remove_node0(rd_avl_node_t *ran)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_t*::ravl_cmp
      Src: /src/librdkafka/src/rdavl.c:155,1
    - Dst: rd_avl_remove_node0
      Src: /src/librdkafka/src/rdavl.c:156,1
    - Dst: rd_avl_remove_elm0
      Src: /src/librdkafka/src/rdavl.c:162,1
    - Dst: rd_avl_balance_node
      Src: /src/librdkafka/src/rdavl.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ravl
    - parent
    - elm
    argTypes:
    - rd_avl_t*
    - rd_avl_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: rd_avl_remove_elm0
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 1
    functionsReached:
    - rd_avl_remove_node0
    - rd_avl_t*::ravl_cmp
    - rd_avl_remove_elm0
    - rd_avl_balance_node
    linkageType: ''
    returnType: rd_avl_node_t
    signature: 'rd_avl_node_t *

      rd_avl_remove_elm0(rd_avl_t *ravl, rd_avl_node_t *parent, const void *elm)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_t*::ravl_cmp
      Src: /src/librdkafka/src/rdavl.c:176,1
    - Dst: rd_avl_find_node
      Src: /src/librdkafka/src/rdavl.c:179,1
    - Dst: rd_avl_find_node
      Src: /src/librdkafka/src/rdavl.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ravl
    - begin
    - elm
    argTypes:
    - rd_avl_t*
    - rd_avl_node_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: rd_avl_find_node
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 1
    functionsReached:
    - rd_avl_find_node
    - rd_avl_t*::ravl_cmp
    linkageType: ''
    returnType: rd_avl_node_t
    signature: "rd_avl_node_t *rd_avl_find_node(const rd_avl_t *ravl,\n                                const
      rd_avl_node_t *begin,\n                                const void *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_destroy
      Src: /src/librdkafka/src/rdavl.c:188,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdavl.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ravl
    argTypes:
    - rd_avl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: rd_avl_destroy
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rwlock_destroy
    linkageType: ''
    returnType: void
    signature: void rd_avl_destroy(rd_avl_t *ravl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdavl.c:197,1
    - Dst: memset
      Src: /src/librdkafka/src/rdavl.c:200,1
    - Dst: rwlock_init
      Src: /src/librdkafka/src/rdavl.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ravl
    - cmp
    - flags
    argTypes:
    - rd_avl_t*
    - rd_avl_cmp_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 210
    functionName: rd_avl_init
    functionSourceFile: /src/librdkafka/src/rdavl.c
    functionUses: 0
    functionsReached:
    - memset
    - rwlock_init
    - rd_calloc
    linkageType: ''
    returnType: rd_avl_t
    signature: rd_avl_t *rd_avl_init(rd_avl_t *ravl, rd_avl_cmp_t cmp, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rko
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: RD_KAFKA_OP_TYPE_ASSERT
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_KAFKA_OP_TYPE_ASSERT(rko, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: _STRINGIFYX
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STRINGIFYX(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: _STRINGIFY
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _STRINGIFY(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 742
    functionName: rd_kafka_op_new
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_new(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: rd_kafka_op_new
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_new(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rko
    - ','
    - prio
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: rd_kafka_op_set_prio
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_set_prio(rko, prio)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rk
    - ','
    - err
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 763
    functionName: rd_kafka_op_err
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_err(rk, err, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rko
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 830
    functionName: rd_kafka_op_is_ctrl_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_is_ctrl_msg(rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - RKO
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 840
    functionName: rd_kafka_op_replyq_is_valid
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_op_replyq_is_valid(RKO)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 854
    functionName: 'rd_kafka_op_t *

      rd_kafka_message2rko(rd_kafka_message_t *rkmessage)'
    functionSourceFile: /src/librdkafka/src/rdkafka_op.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED rd_kafka_op_t *

      rd_kafka_message2rko(rd_kafka_message_t *rkmessage)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: TIMEVAL_TO_TIMESPEC
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMEVAL_TO_TIMESPEC(tv, ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tv
    - ','
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: TIMESPEC_TO_TIMEVAL
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESPEC_TO_TIMEVAL(tv, ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: TIMESPEC_TO_TS
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESPEC_TO_TS(ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ts
    - ','
    - tsx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: TS_TO_TIMESPEC
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TS_TO_TIMESPEC(ts, tsx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: TIMESPEC_CLEAR
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIMESPEC_CLEAR(ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - IFREQ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: rd_QueryPerformanceFrequency
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_QueryPerformanceFrequency(IFREQ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: rd_QueryPerformanceCounter
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_QueryPerformanceCounter(PC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - IFREQ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: rd_QueryPerformanceFrequency
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_QueryPerformanceFrequency(IFREQ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - PC
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: rd_QueryPerformanceCounter
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_QueryPerformanceCounter(PC)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/src/rdtime.h:90,1
    - Dst: rd_QueryPerformanceFrequency
      Src: /src/librdkafka/src/rdtime.h:97,1
    - Dst: rd_QueryPerformanceCounter
      Src: /src/librdkafka/src/rdtime.h:102,1
    - Dst: clock_gettime
      Src: /src/librdkafka/src/rdtime.h:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: rd_clock
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 97
    functionsReached:
    - rd_QueryPerformanceCounter
    - rd_QueryPerformanceFrequency
    - gettimeofday
    - clock_gettime
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_clock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_gettimeofday
      Src: /src/librdkafka/src/rdtime.h:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: rd_uclock
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 10
    functionsReached:
    - rd_gettimeofday
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_uclock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctime_r
      Src: /src/librdkafka/src/rdtime.h:133,1
    - Dst: ctime_s
      Src: /src/librdkafka/src/rdtime.h:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: rd_ctime
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached:
    - ctime_r
    - ctime_s
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_ctime(const time_t *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: rd_timeout_us
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_us(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_us
    argTypes:
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: rd_timeout_ms
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_ms(rd_ts_t timeout_us)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - now
    - timeout_ms
    argTypes:
    - rd_ts_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: rd_timeout_init0
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_init0(rd_ts_t now, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - now
    - timeout_us
    argTypes:
    - rd_ts_t
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: rd_timeout_init_us0
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_init_us0(rd_ts_t now, rd_ts_t timeout_us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init0
      Src: /src/librdkafka/src/rdtime.h:215,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdtime.h:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: rd_timeout_init
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 19
    functionsReached:
    - rd_clock
    - rd_timeout_init0
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_init(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init_us0
      Src: /src/librdkafka/src/rdtime.h:229,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdtime.h:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_us
    argTypes:
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: rd_timeout_init_us
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached:
    - rd_timeout_init_us0
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_init_us(rd_ts_t timeout_us)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/src/rdtime.h:238,1
    - Dst: TIMEVAL_TO_TIMESPEC
      Src: /src/librdkafka/src/rdtime.h:239,1
    - Dst: timespec_get
      Src: /src/librdkafka/src/rdtime.h:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tspec
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: rd_timespec_get
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached:
    - TIMEVAL_TO_TIMESPEC
    - gettimeofday
    - timespec_get
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timespec_get(struct timespec *tspec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_timespec_get
      Src: /src/librdkafka/src/rdtime.h:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - tspec
    - timeout_us
    argTypes:
    - struct timespec*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: rd_timeout_init_timespec_us
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached:
    - rd_timespec_get
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_timeout_init_timespec_us(struct timespec *tspec,\n                                                  rd_ts_t
      timeout_us)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_timespec_get
      Src: /src/librdkafka/src/rdtime.h:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - tspec
    - timeout_ms
    argTypes:
    - struct timespec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: rd_timeout_init_timespec
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 0
    functionsReached:
    - rd_timespec_get
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_timeout_init_timespec(struct timespec *tspec,\n                                               int
      timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdtime.h:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - abs_timeout
    argTypes:
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: rd_timeout_remains_us
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 6
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_remains_us(rd_ts_t abs_timeout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_ms
      Src: /src/librdkafka/src/rdtime.h:323,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdtime.h:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - abs_timeout
    argTypes:
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: rd_timeout_remains
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 20
    functionsReached:
    - rd_timeout_remains_us
    - rd_timeout_ms
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_remains(rd_ts_t abs_timeout)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - remains_ms
    - limit_ms
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: rd_timeout_remains_limit0
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_remains_limit0(int remains_ms, int limit_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_remains_limit0
      Src: /src/librdkafka/src/rdtime.h:344,1
    - Dst: rd_timeout_remains
      Src: /src/librdkafka/src/rdtime.h:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - abs_timeout
    - limit_ms
    argTypes:
    - rd_ts_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 4
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: rd_timeout_remains_limit
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 1
    functionsReached:
    - rd_timeout_remains
    - rd_timeout_remains_limit0
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_timeout_remains_limit(rd_ts_t abs_timeout,\n                                              int
      limit_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: rd_timeout_expired
    functionSourceFile: /src/librdkafka/src/rdtime.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_timeout_expired(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigprocmask
      Src: /src/librdkafka/src/rdsignal.h:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: rd_intr_block
    functionSourceFile: /src/librdkafka/src/rdsignal.h
    functionUses: 0
    functionsReached:
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void rd_intr_block(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/src/rdsignal.h:50,1
    - Dst: sigprocmask
      Src: /src/librdkafka/src/rdsignal.h:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (rd_intr_blocked > 0)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/librdkafka/src/rdsignal.h
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: rd_intr_unblock
    functionSourceFile: /src/librdkafka/src/rdsignal.h
    functionUses: 0
    functionsReached:
    - assert
    - sigprocmask
    linkageType: ''
    returnType: void
    signature: void rd_intr_unblock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ravl
    - ','
    - elm
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: RD_AVL_INSERT
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_INSERT(ravl, elm, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ravl
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: RD_AVL_REMOVE_ELM
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_REMOVE_ELM(ravl, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ravl
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: RD_AVL_FIND
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_FIND(ravl, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ravl
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: RD_AVL_FIND_NL
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_FIND_NL(ravl, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ravl
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: RD_AVL_FIND_NODE_NL
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_FIND_NODE_NL(ravl, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ran
    - ','
    - elm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: RD_AVL_ELM_SET_NL
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_ELM_SET_NL(ran, elm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ran
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: RD_AVL_ELM_GET_NL
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_AVL_ELM_GET_NL(ran)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_rdlock
      Src: /src/librdkafka/src/rdavl.h:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ravl
    argTypes:
    - rd_avl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: rd_avl_rdlock
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rwlock_rdlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_avl_rdlock(rd_avl_t *ravl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_wrlock
      Src: /src/librdkafka/src/rdavl.h:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ravl
    argTypes:
    - rd_avl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: rd_avl_wrlock
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rwlock_wrlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_avl_wrlock(rd_avl_t *ravl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_rdunlock
      Src: /src/librdkafka/src/rdavl.h:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ravl
    argTypes:
    - rd_avl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: rd_avl_rdunlock
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rwlock_rdunlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_avl_rdunlock(rd_avl_t *ravl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rwlock_wrunlock
      Src: /src/librdkafka/src/rdavl.h:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ravl
    argTypes:
    - rd_avl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: rd_avl_wrunlock
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rwlock_wrunlock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_avl_wrunlock(rd_avl_t *ravl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdavl.h:206,1
    - Dst: rd_avl_wrlock
      Src: /src/librdkafka/src/rdavl.h:209,1
    - Dst: rd_avl_insert_node
      Src: /src/librdkafka/src/rdavl.h:211,1
    - Dst: rd_avl_wrunlock
      Src: /src/librdkafka/src/rdavl.h:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ravl
    - elm
    - ran
    argTypes:
    - rd_avl_t*
    - void*
    - rd_avl_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: rd_avl_insert
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rd_avl_insert_node
    - memset
    - rd_avl_wrlock
    - rd_avl_wrunlock
    linkageType: ''
    returnType: RD_UNUSED
    signature: 'RD_UNUSED *

      rd_avl_insert(rd_avl_t *ravl, void *elm, rd_avl_node_t *ran)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_wrlock
      Src: /src/librdkafka/src/rdavl.h:222,1
    - Dst: rd_avl_remove_elm0
      Src: /src/librdkafka/src/rdavl.h:223,1
    - Dst: rd_avl_wrunlock
      Src: /src/librdkafka/src/rdavl.h:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ravl
    - elm
    argTypes:
    - rd_avl_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: rd_avl_remove_elm
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rd_avl_remove_elm0
    - rd_avl_wrlock
    - rd_avl_wrunlock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_avl_remove_elm(rd_avl_t *ravl,\n                                                  const
      void *elm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_rdlock
      Src: /src/librdkafka/src/rdavl.h:239,1
    - Dst: rd_avl_find_node
      Src: /src/librdkafka/src/rdavl.h:241,1
    - Dst: rd_avl_rdunlock
      Src: /src/librdkafka/src/rdavl.h:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ravl
    - elm
    - dolock
    argTypes:
    - rd_avl_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: rd_avl_find
    functionSourceFile: /src/librdkafka/src/rdavl.h
    functionUses: 0
    functionsReached:
    - rd_avl_rdunlock
    - rd_avl_find_node
    - rd_avl_rdlock
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_avl_find(rd_avl_t *ravl, const void *elm, int dolock)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:49,1
    - Dst: rd_kafka_sasl_auth_done
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - rktrans
    - buf
    - size
    - errstr
    - errstr_size
    argTypes:
    - struct rd_kafka_transport_s*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: rd_kafka_sasl_plain_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_plain.c
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_auth_done
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_plain_recv(struct rd_kafka_transport_s *rktrans,\n
      \                                   const void *buf,\n                                    size_t
      size,\n                                    char *errstr,\n                                    size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:79,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:82,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:85,1
    - Dst: rd_alloca
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:88,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:94,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:99,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:101,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:103,1
    - Dst: rd_kafka_sasl_send
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - rktrans
    - hostname
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 113
    functionName: rd_kafka_sasl_plain_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_plain.c
    functionUses: 0
    functionsReached:
    - mtx_lock
    - rd_alloca
    - rd_kafka_sasl_send
    - rd_rkb_dbg
    - strlen
    - memcpy
    - mtx_unlock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_plain_client_new(rd_kafka_transport_t *rktrans,\n
      \                                  const char *hostname,\n                                   char
      *errstr,\n                                   size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:124,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:126,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl_plain.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 135
    functionName: rd_kafka_sasl_plain_conf_validate
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl_plain.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_snprintf
    - mtx_lock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_plain_conf_validate(rd_kafka_t *rk,\n                                             char
      *errstr,\n                                             size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/librdkafka/src/rdcrc32.h:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: rd_crc32_init
    functionSourceFile: /src/librdkafka/src/rdcrc32.h
    functionUses: 3
    functionsReached:
    - crc32
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_crc32_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdcrc32.h:127,1
    - Dst: crc32
      Src: /src/librdkafka/src/rdcrc32.h:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - crc
    - data
    - data_len
    argTypes:
    - rd_crc32_t
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: rd_crc32_update
    functionSourceFile: /src/librdkafka/src/rdcrc32.h
    functionUses: 4
    functionsReached:
    - crc32
    - rd_assert
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_crc32_update(rd_crc32_t crc,\n                                                      const
      unsigned char *data,\n                                                      size_t
      data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - crc
    argTypes:
    - rd_crc32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: rd_crc32_finalize
    functionSourceFile: /src/librdkafka/src/rdcrc32.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_crc32_finalize(rd_crc32_t crc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_crc32_finalize
      Src: /src/librdkafka/src/rdcrc32.h:162,1
    - Dst: rd_crc32_update
      Src: /src/librdkafka/src/rdcrc32.h:162,1
    - Dst: rd_crc32_init
      Src: /src/librdkafka/src/rdcrc32.h:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - data
    - data_len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: rd_crc32
    functionSourceFile: /src/librdkafka/src/rdcrc32.h
    functionUses: 2
    functionsReached:
    - rd_crc32_init
    - rd_crc32_finalize
    - rd_crc32_update
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_crc32(const char *data, size_t data_len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.h:135,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.h:137,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbuf.h:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: rd_buf_write_pos
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 11
    functionsReached:
    - rd_assert
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_buf_write_pos(const rd_buf_t *rbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: rd_buf_write_remains
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_buf_write_remains(const rd_buf_t *rbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - seg
    - p
    argTypes:
    - rd_segment_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: rd_segment_write_remains
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 4
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_segment_write_remains(const rd_segment_t *seg, void **p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdbuf.h:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: rd_buf_last
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 0
    functionsReached:
    - TAILQ_LAST
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_buf_last(const rd_buf_t *rbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rbuf
    argTypes:
    - rd_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: rd_buf_len
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_buf_len(const rd_buf_t *rbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slice
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: rd_slice_remains
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_slice_remains(slice)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - slice
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: rd_slice_size
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_slice_size(slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - slice
    argTypes:
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: rd_slice_pos
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_slice_pos(const rd_slice_t *slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.h:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - slice
    argTypes:
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: rd_slice_abs_offset
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 3
    functionsReached:
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_slice_abs_offset(const rd_slice_t *slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdbuf.h:288,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdbuf.h:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - slice
    argTypes:
    - rd_slice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: rd_slice_offset
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 7
    functionsReached:
    - rd_slice_size
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_slice_offset(const rd_slice_t *slice)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_read_uvarint
      Src: /src/librdkafka/src/rdbuf.h:328,1
    - Dst: likely
      Src: /src/librdkafka/src/rdbuf.h:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - slice
    - nump
    argTypes:
    - rd_slice_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: rd_slice_read_varint
    functionSourceFile: /src/librdkafka/src/rdbuf.h
    functionUses: 0
    functionsReached:
    - likely
    - rd_slice_read_uvarint
    linkageType: ''
    returnType: RD_UNUSED
    signature: "RD_UNUSED rd_slice_read_varint(rd_slice_t *slice,\n                                                       int64_t
      *nump)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_AVL_REMOVE_ELM
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:84,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:85,1
    - Dst: RD_AVL_REMOVE_ELM
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:87,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:91,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:92,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkmce
    - unlink_avl
    argTypes:
    - rd_kafka_t*
    - struct rd_kafka_metadata_cache_entry*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: rd_kafka_metadata_cache_delete
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_UUID_IS_ZERO
    - rd_free
    - TAILQ_REMOVE
    - RD_AVL_REMOVE_ELM
    - rd_kafka_assert
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_metadata_cache_delete(rd_kafka_t *rk,\n                               struct
      rd_kafka_metadata_cache_entry *rkmce,\n                               int unlink_avl)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:106,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - topic
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: rd_kafka_metadata_cache_delete_by_name
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 4
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_kafka_metadata_cache_delete
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_cache_delete_by_name(rd_kafka_t *rk, const char
      *topic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find_by_id
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:121,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - topic_id
    argTypes:
    - rd_kafka_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 125
    functionName: rd_kafka_metadata_cache_delete_by_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_find_by_id
    - rd_kafka_metadata_cache_delete
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_delete_by_topic_id(rd_kafka_t *rk,\n                                               const
      rd_kafka_Uuid_t topic_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:138,1
    - Dst: rd_kafka_metadata_cache_evict
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:139,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: rd_kafka_metadata_cache_evict_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_evict
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_cache_evict_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                                void *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:154,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:157,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:159,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:164,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:169,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:172,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: rd_kafka_metadata_cache_evict
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - TAILQ_FIRST
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_metadata_cache_delete
    - rd_kafka_timer_stop
    - rd_kafka_timer_start
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_cache_evict(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:198,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:200,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: rd_kafka_metadata_cache_purge_all_hints
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_delete
    - TAILQ_FOREACH_SAFE
    - RD_KAFKA_METADATA_CACHE_VALID
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_cache_purge_all_hints(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_AVL_FIND
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:221,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - topic
    - valid
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: rd_kafka_metadata_cache_find
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 4
    functionsReached:
    - RD_AVL_FIND
    - RD_KAFKA_METADATA_CACHE_VALID
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: 'struct rd_kafka_metadata_cache_entry *

      rd_kafka_metadata_cache_find(rd_kafka_t *rk, const char *topic, int valid)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_AVL_FIND
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:240,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - topic_id
    - valid
    argTypes:
    - rd_kafka_t*
    - rd_kafka_Uuid_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: rd_kafka_metadata_cache_find_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 3
    functionsReached:
    - RD_AVL_FIND
    - RD_KAFKA_METADATA_CACHE_VALID
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: "struct rd_kafka_metadata_cache_entry *\nrd_kafka_metadata_cache_find_by_id(rd_kafka_t
      *rk,\n                                   const rd_kafka_Uuid_t topic_id,\n                                   int
      valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: rd_kafka_metadata_partition_id_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_partition_id_cmp(const void *_a, const void *_b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:279,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:281,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:282,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:282,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:283,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:285,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:291,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:297,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:298,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:304,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:306,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:313,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:316,1
    - Dst: rd_tmpabuf_write
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:322,1
    - Dst: qsort
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:328,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:347,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:350,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - mtopic
    - metadata_internal_topic
    - include_racks
    argTypes:
    - rd_kafka_metadata_topic_t*
    - rd_kafka_metadata_topic_internal_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 364
    functionName: rd_kafka_metadata_cache_entry_new
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_new
    - rd_tmpabuf_add_alloc
    - qsort
    - rd_tmpabuf_finalize
    - rd_tmpabuf_write
    - rd_tmpabuf_alloc
    - strlen
    - rd_tmpabuf_write_str
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: "struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_entry_new(\n
      \   const rd_kafka_metadata_topic_t *mtopic,\n    const rd_kafka_metadata_topic_internal_t
      *metadata_internal_topic,\n    rd_bool_t include_racks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:377,1
    - Dst: RD_AVL_INSERT
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:384,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:388,1
    - Dst: RD_AVL_INSERT
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:391,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:395,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:397,1
    - Dst: RD_AVL_REMOVE_ELM
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:401,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:405,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - rk
    - rkmce
    - now
    - ts_expires
    argTypes:
    - rd_kafka_t*
    - struct rd_kafka_metadata_cache_entry*
    - rd_ts_t
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 415
    functionName: rd_kafka_metadata_cache_insert
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_UUID_IS_ZERO
    - rd_dassert
    - rd_kafka_metadata_cache_delete
    - TAILQ_INSERT_TAIL
    - RD_AVL_REMOVE_ELM
    - RD_AVL_INSERT
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: "struct rd_kafka_metadata_cache_entry *\nrd_kafka_metadata_cache_insert(rd_kafka_t
      *rk,\n                               struct rd_kafka_metadata_cache_entry *rkmce,\n
      \                              rd_ts_t now,\n                               rd_ts_t
      ts_expires)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_entry_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:433,1
    - Dst: rd_kafka_metadata_cache_insert
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rk
    - mtopic
    - metadata_internal_topic
    - now
    - ts_expires
    - include_racks
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_topic_t*
    - rd_kafka_metadata_topic_internal_t*
    - rd_ts_t
    - rd_ts_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 3
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: rd_kafka_metadata_cache_insert_new
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_insert
    - rd_kafka_metadata_cache_entry_new
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: "struct rd_kafka_metadata_cache_entry *rd_kafka_metadata_cache_insert_new(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_metadata_topic_t *mtopic,\n    const
      rd_kafka_metadata_topic_internal_t *metadata_internal_topic,\n    rd_ts_t now,\n
      \   rd_ts_t ts_expires,\n    rd_bool_t include_racks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:446,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:448,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:449,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:451,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:455,1
    - Dst: rd_list_clear
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - purge_observers
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: rd_kafka_metadata_cache_purge
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - TAILQ_EMPTY
    - rd_list_clear
    - TAILQ_FIRST
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_metadata_cache_delete
    - rd_kafka_timer_stop
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_purge(rd_kafka_t *rk, rd_bool_t purge_observers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:471,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:472,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: rd_kafka_metadata_cache_expiry_start
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 2
    functionsReached:
    - rd_clock
    - rd_kafka_timer_start
    - TAILQ_FIRST
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_expiry_start(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - current_partition
    - ','
    - new_partition
    - ','
    - current_partition_cnt
    - ','
    - new_partition_cnt
    - ','
    - partition
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: rd_kafka_metadata_cache_topic_update_replace_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "rd_kafka_metadata_cache_topic_update_replace_partition(                \\\n
      \   current_partition, new_partition, current_partition_cnt,                   \\\n
      \   new_partition_cnt, partition)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:506,1
    - Dst: rd_kafka_metadata_cache_entry_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:509,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:515,1
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:517,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:518,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:519,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:519,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:520,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:521,1
    - Dst: rd_kafka_metadata_cache_topic_update_replace_partition
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:527,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:538,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:541,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:542,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:546,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:548,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:555,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:559,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:563,1
    - Dst: rd_kafka_metadata_cache_topic_update_replace_partition
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:570,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:593,1
    - Dst: rd_tmpabuf_write_str
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 6
    argNames:
    - rk
    - rkmce_current
    - mdt
    - mdti
    - include_racks
    - has_reliable_epochs
    argTypes:
    - rd_kafka_t*
    - struct rd_kafka_metadata_cache_entry*
    - rd_kafka_metadata_topic_t*
    - rd_kafka_metadata_topic_internal_t*
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 612
    functionName: rd_kafka_metadata_cache_topic_update_merge_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_tmpabuf_new
    - rd_kafka_metadata_cache_entry_new
    - RD_MAX
    - rd_tmpabuf_add_alloc
    - rd_tmpabuf_finalize
    - rd_kafka_metadata_cache_topic_update_replace_partition
    - rd_tmpabuf_alloc
    - strlen
    - rd_tmpabuf_write_str
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: struct rd_kafka_metadata_cache_entry
    signature: "struct rd_kafka_metadata_cache_entry *\nrd_kafka_metadata_cache_topic_update_merge_partitions(\n
      \   rd_kafka_t *rk,\n    struct rd_kafka_metadata_cache_entry *rkmce_current,\n
      \   const rd_kafka_metadata_topic_t *mdt,\n    const rd_kafka_metadata_topic_internal_t
      *mdti,\n    rd_bool_t include_racks,\n    rd_bool_t has_reliable_epochs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:651,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:655,1
    - Dst: RD_MIN
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:665,1
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:670,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:674,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:675,1
    - Dst: rd_kafka_metadata_cache_topic_update_merge_partitions
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:689,1
    - Dst: rd_kafka_metadata_cache_insert
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:693,1
    - Dst: rd_kafka_metadata_cache_delete_by_topic_id
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:703,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - rk
    - mdt
    - mdti
    - propagate
    - include_racks
    - has_reliable_leader_epochs
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_topic_t*
    - rd_kafka_metadata_topic_internal_t*
    - rd_bool_t
    - rd_bool_t
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 644
    functionDepth: 4
    functionLinenumber: 644
    functionLinenumberEnd: 711
    functionName: rd_kafka_metadata_cache_topic_update
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 2
    functionsReached:
    - rd_kafka_metadata_cache_find
    - RD_KAFKA_UUID_IS_ZERO
    - RD_MIN
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_metadata_cache_delete_by_topic_id
    - rd_clock
    - likely
    - rd_kafka_metadata_cache_insert
    - rd_kafka_metadata_cache_topic_update_merge_partitions
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_topic_update(\n    rd_kafka_t *rk,\n    const
      rd_kafka_metadata_topic_t *mdt,\n    const rd_kafka_metadata_topic_internal_t
      *mdti,\n    rd_bool_t propagate,\n    rd_bool_t include_racks,\n    rd_bool_t
      has_reliable_leader_epochs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:732,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:733,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:736,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:741,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:743,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - topics
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 746
    functionName: rd_kafka_metadata_cache_purge_hints
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_list_cnt
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_metadata_cache_delete
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_cache_purge_hints(rd_kafka_t *rk,\n                                         const
      rd_list_t *topics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:732,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:733,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 738
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 51
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_kafka_metadata_cache_delete
    - RD_KAFKA_METADATA_CACHE_VALID
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic, topics, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find_by_id
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:765,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:767,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:770,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:775,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:777,1
    - Dst: rd_kafka_metadata_cache_propagate_changes
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - rk
    - topic_ids
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 756
    functionDepth: 2
    functionLinenumber: 756
    functionLinenumberEnd: 780
    functionName: rd_kafka_metadata_cache_purge_hints_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_list_cnt
    - rd_kafka_metadata_cache_propagate_changes
    - rd_kafka_metadata_cache_delete
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_kafka_metadata_cache_find_by_id
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_cache_purge_hints_by_id(rd_kafka_t *rk,\n                                               const
      rd_list_t *topic_ids)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find_by_id
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:765,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:767,1
    - Dst: rd_kafka_metadata_cache_delete
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 772
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 51
    functionsReached:
    - rd_kafka_metadata_cache_find_by_id
    - rd_kafka_metadata_cache_delete
    - RD_KAFKA_METADATA_CACHE_VALID
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic_id, topic_ids, i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:808,1
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:821,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:822,1
    - Dst: rd_kafka_metadata_cache_insert_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:830,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:836,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:836,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:840,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - rk
    - topics
    - dst
    - err
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - rd_list_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 803
    functionDepth: 4
    functionLinenumber: 803
    functionLinenumberEnd: 845
    functionName: rd_kafka_metadata_cache_hint
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 2
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_metadata_cache_insert_new
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_strdup
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_hint(rd_kafka_t *rk,\n                                 const
      rd_list_t *topics,\n                                 rd_list_t *dst,\n                                 rd_kafka_resp_err_t
      err)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:821,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:822,1
    - Dst: rd_kafka_metadata_cache_insert_new
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:830,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:836,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 837
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 51
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_list_add
    - rd_kafka_metadata_cache_insert_new
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic, topics, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:861,1
    - Dst: rd_kafka_topic_partition_list_get_topic_names
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:862,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:864,1
    - Dst: rd_kafka_metadata_cache_hint
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:865,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:867,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rktparlist
    - dst
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 871
    functionName: rd_kafka_metadata_cache_hint_rktparlist
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_kafka_metadata_cache_hint
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_list_destroy
    - rd_list_init
    - rd_kafka_topic_partition_list_get_topic_names
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_hint_rktparlist(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    rd_list_t *dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: rd_kafka_metadata_cache_entry_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_cache_entry_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 890
    functionName: rd_kafka_metadata_cache_entry_by_id_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_entry_by_id_cmp(const void *_a,\n                                                   const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_avl_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:899,1
    - Dst: rd_avl_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:901,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:903,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:904,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:905,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:906,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 909
    functionName: rd_kafka_metadata_cache_init
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_avl_init
    - cnd_init
    - mtx_init
    - TAILQ_INIT
    - rd_list_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_init(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:917,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:918,1
    - Dst: rd_kafka_metadata_cache_purge
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:920,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:921,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:922,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:923,1
    - Dst: rd_avl_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:924,1
    - Dst: rd_avl_destroy
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 916
    functionDepth: 4
    functionLinenumber: 916
    functionLinenumberEnd: 926
    functionName: rd_kafka_metadata_cache_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_list_destroy
    - cnd_destroy
    - mtx_destroy
    - rd_kafka_metadata_cache_purge
    - rd_kafka_timer_stop
    - rd_avl_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_destroy(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:938,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rk
    - eonce
    argTypes:
    - rd_kafka_t*
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 940
    functionName: rd_kafka_metadata_cache_wait_state_change_async
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_kafka_enq_once_add_source
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_metadata_cache_wait_state_change_async(\n    rd_kafka_t
      *rk,\n    rd_kafka_enq_once_t *eonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:953,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:955,1
    - Dst: cnd_timedwait_ms
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:956,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:958,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:961,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 966
    functionName: rd_kafka_metadata_cache_wait_change
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - mtx_lock
    - cnd_timedwait_ms
    - mtx_unlock
    - rd_clock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_metadata_cache_wait_change(rd_kafka_t *rk, int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 973
    functionDepth: 11
    functionLinenumber: 973
    functionLinenumberEnd: 980
    functionName: rd_kafka_metadata_cache_propagate_changes_trigger_eonce
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_propagate_changes_trigger_eonce(void *elem,\n
      \                                                       void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:991,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:992,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:993,1
    - Dst: rd_list_apply
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 990
    functionDepth: 2
    functionLinenumber: 990
    functionLinenumberEnd: 999
    functionName: rd_kafka_metadata_cache_propagate_changes
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 7
    functionsReached:
    - cnd_broadcast
    - mtx_unlock
    - rd_list_apply
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_propagate_changes(rd_kafka_t *rk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - rk
    - topic
    - mdtip
    - valid
    argTypes:
    - rd_kafka_t*
    - char*
    - rd_kafka_metadata_topic_internal_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1024
    functionName: rd_kafka_metadata_cache_topic_get
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 2
    functionsReached:
    - rd_kafka_metadata_cache_find
    linkageType: ''
    returnType: rd_kafka_metadata_topic_t
    signature: "rd_kafka_metadata_topic_t *rd_kafka_metadata_cache_topic_get(\n    rd_kafka_t
      *rk,\n    const char *topic,\n    const rd_kafka_metadata_topic_internal_t **mdtip,\n
      \   int valid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_topic_get
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1063,1
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - rk
    - mtopicp
    - mpartp
    - mdpip
    - topic
    - partition
    - valid
    argTypes:
    - rd_kafka_t*
    - rd_kafka_metadata_topic_t**
    - rd_kafka_metadata_partition_t**
    - rd_kafka_metadata_partition_internal_t**
    - char*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1084
    functionName: rd_kafka_metadata_cache_topic_partition_get
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_cache_topic_get
    - bsearch
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_topic_partition_get(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_metadata_topic_t **mtopicp,\n    const rd_kafka_metadata_partition_t
      **mpartp,\n    const rd_kafka_metadata_partition_internal_t **mdpip,\n    const
      char *topic,\n    int32_t partition,\n    int valid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1107,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - rk
    - topics
    - metadata_agep
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1120
    functionName: rd_kafka_metadata_cache_topics_count_exists
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_clock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_topics_count_exists(rd_kafka_t *rk,\n
      \                                               const rd_list_t *topics,\n                                                int
      *metadata_agep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_cache_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1107,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1103
    functionDepth: 2
    functionLinenumber: 1103
    functionLinenumberEnd: 1115
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 51
    functionsReached:
    - rd_kafka_metadata_cache_find
    - rd_clock
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(topic, topics, i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1138,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1140,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1142,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1145,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1149,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1149,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - topics
    - exclude_valid
    argTypes:
    - rd_kafka_t*
    - rd_list_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1134
    functionDepth: 3
    functionLinenumber: 1134
    functionLinenumberEnd: 1153
    functionName: rd_kafka_metadata_cache_topics_to_list
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 2
    functionsReached:
    - rd_list_add
    - rd_list_cnt
    - rd_list_find
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_strdup
    - TAILQ_FOREACH
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_metadata_cache_topics_to_list(rd_kafka_t *rk,\n                                           rd_list_t
      *topics,\n                                           rd_bool_t exclude_valid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1164,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1166,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1167,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1168,1
    - Dst: RD_KAFKA_METADATA_CACHE_VALID
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1175,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_metadata_cache.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - rk
    argTypes:
    - FILE*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1161
    functionDepth: 2
    functionLinenumber: 1161
    functionLinenumberEnd: 1181
    functionName: rd_kafka_metadata_cache_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_metadata_cache.c
    functionUses: 1
    functionsReached:
    - fprintf
    - rd_kafka_err2str
    - RD_KAFKA_METADATA_CACHE_VALID
    - rd_clock
    - TAILQ_FOREACH
    linkageType: ''
    returnType: void
    signature: void rd_kafka_metadata_cache_dump(FILE *fp, rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rkgm
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: verifyAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verifyAssignment(rkgm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rkgms
    - ','
    - member_cnt
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: verifyMultipleAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verifyMultipleAssignment(rkgms, member_cnt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - metadata
    - ','
    - rkgms
    - ','
    - member_cnt
    - ','
    - expectedNumMismatch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: verifyNumPartitionsWithRackMismatch
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "verifyNumPartitionsWithRackMismatch(metadata, rkgms, member_cnt,       \\\n
      \                                           expectedNumMismatch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - members
    - ','
    - member_cnt
    - ','
    - metadata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: verifyValidityAndBalance
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: verifyValidityAndBalance(members, member_cnt, metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - members
    - ','
    - member_cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 332
    functionName: isFullyBalanced
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isFullyBalanced(members, member_cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - member_ptr
    - ','
    - member_id
    - ','
    - rack
    - ','
    - parametrization
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: ut_initMemberConditionalRack
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ut_initMemberConditionalRack(member_ptr, member_id, rack,              \\\n
      \                                    parametrization, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - metadataPtr
    - ','
    - replication_factor
    - ','
    - num_broker_racks
    - ','
    - all_racks
    - ','
    - all_racks_cnt
    - ','
    - parametrization
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 372
    functionName: ut_initMetadataConditionalRack
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ut_initMetadataConditionalRack(metadataPtr, replication_factor,                \\\n
      \                                      num_broker_racks, all_racks,                    \\\n
      \                                      all_racks_cnt, parametrization, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - metadataPtr
    - ','
    - replication_factor
    - ','
    - num_broker_racks
    - ','
    - all_racks
    - ','
    - all_racks_cnt
    - ','
    - parametrization
    - ','
    - topics
    - ','
    - topic_cnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 400
    functionName: ut_initMetadataConditionalRack0
    functionSourceFile: /src/librdkafka/src/rdkafka_assignor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ut_initMetadataConditionalRack0(                                       \\\n
      \   metadataPtr, replication_factor, num_broker_racks, all_racks,              \\\n
      \   all_racks_cnt, parametrization, topics, topic_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: CJSON_PUBLIC
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CJSON_PUBLIC(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: cJSON_SetIntValue
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_SetIntValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - object
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: cJSON_SetNumberValue
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_SetNumberValue(object, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - element
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: cJSON_ArrayForEach
    functionSourceFile: /src/librdkafka/src/cJSON.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cJSON_ArrayForEach(element, array)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: rd_fnv1a
    functionSourceFile: /src/librdkafka/src/rdfnv1a.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t rd_fnv1a(const void *key, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdfnv1a.c:104,1
    - Dst: rd_fnv1a
      Src: /src/librdkafka/src/rdfnv1a.c:105,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdfnv1a.c:106,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdfnv1a.c:107,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdfnv1a.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 113
    functionName: unittest_fnv1a
    functionSourceFile: /src/librdkafka/src/rdfnv1a.c
    functionUses: 0
    functionsReached:
    - rd_fnv1a
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - strlen
    linkageType: ''
    returnType: int
    signature: int unittest_fnv1a(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/src/rdxxhash.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: XXH_malloc
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: void * XXH_malloc(size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/src/rdxxhash.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 109
    functionName: XXH_free
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void XXH_free  (void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 112
    functionName: XXH_memcpy
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * XXH_memcpy(void* dest, const void* src, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 160
    functionName: XXH_read32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 XXH_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: XXH_read32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 XXH_read32(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: XXH_read32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: U32
    signature: U32 XXH_read32(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: XXH_rotl32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: XXH_rotl64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl64(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: XXH_rotl32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl32(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: XXH_rotl64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_rotl64(x,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: XXH_swap32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 XXH_swap32 (U32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: XXH_isLittleEndian
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int XXH_isLittleEndian(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read32
      Src: /src/librdkafka/src/rdxxhash.c:237,1
    - Dst: XXH_swap32
      Src: /src/librdkafka/src/rdxxhash.c:237,1
    - Dst: XXH_read32
      Src: /src/librdkafka/src/rdxxhash.c:237,1
    - Dst: XXH_swap32
      Src: /src/librdkafka/src/rdxxhash.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - endian
    - align
    argTypes:
    - void*
    - XXH_endianess
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: XXH_readLE32_align
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH_readLE32_align(const void* ptr, XXH_endianess endian,
      XXH_alignment align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE32_align
      Src: /src/librdkafka/src/rdxxhash.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - endian
    argTypes:
    - void*
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: XXH_readLE32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readLE32_align
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH_readLE32(const void* ptr, XXH_endianess endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap32
      Src: /src/librdkafka/src/rdxxhash.c:249,1
    - Dst: XXH_read32
      Src: /src/librdkafka/src/rdxxhash.c:249,1
    - Dst: XXH_read32
      Src: /src/librdkafka/src/rdxxhash.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 250
    functionName: XXH_readBE32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_swap32
    - XXH_read32
    linkageType: ''
    returnType: U32
    signature: U32 XXH_readBE32(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: XXH_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_STATIC_ASSERT(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 257
    functionName: XXH_versionNumber
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_PUBLIC_API unsigned XXH_versionNumber (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - seed
    - input
    argTypes:
    - U32
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: XXH32_round
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_rotl32
    linkageType: ''
    returnType: U32
    signature: U32 XXH32_round(U32 seed, U32 input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h32
    argTypes:
    - U32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: XXH32_avalanche
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U32
    signature: U32 XXH32_avalanche(U32 h32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: XXH_get32bits
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_get32bits(p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:313,1
    - Dst: XXH32_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:321,1
    - Dst: XXH32_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:330,1
    - Dst: XXH32_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:344,1
    - Dst: assert
      Src: /src/librdkafka/src/rdxxhash.c:346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 43
    argCount: 5
    argNames:
    - h32
    - ptr
    - len
    - endian
    - align
    argTypes:
    - U32
    - void*
    - size_t
    - XXH_endianess
    - XXH_alignment
    assertStmts:
    - condition: (0)
      pos:
        line_end: 345
        line_start: 345
        source_file: /src/librdkafka/src/rdxxhash.c
    constantsTouched: []
    func_position:
      end: 348
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 348
    functionName: XXH32_finalize
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - assert
    - XXH32_avalanche
    linkageType: ''
    returnType: U32
    signature: "U32 XXH32_finalize(U32 h32, const void* ptr, size_t len,\n                XXH_endianess
      endian, XXH_alignment align)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:374,1
    - Dst: XXH_get32bits
      Src: /src/librdkafka/src/rdxxhash.c:374,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:375,1
    - Dst: XXH_get32bits
      Src: /src/librdkafka/src/rdxxhash.c:375,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:376,1
    - Dst: XXH_get32bits
      Src: /src/librdkafka/src/rdxxhash.c:376,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:377,1
    - Dst: XXH_get32bits
      Src: /src/librdkafka/src/rdxxhash.c:377,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:380,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:380,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:381,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:381,1
    - Dst: XXH32_finalize
      Src: /src/librdkafka/src/rdxxhash.c:388,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - input
    - len
    - seed
    - endian
    - align
    argTypes:
    - void*
    - size_t
    - U32
    - XXH_endianess
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 351
    functionDepth: 2
    functionLinenumber: 351
    functionLinenumberEnd: 389
    functionName: XXH32_endian_align
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_get32bits
    - XXH32_finalize
    - XXH_rotl32
    - XXH32_round
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE XXH32_endian_align(const void* input, size_t len, U32
      seed,\n                    XXH_endianess endian, XXH_alignment align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_reset
      Src: /src/librdkafka/src/rdxxhash.c:397,1
    - Dst: XXH32_update
      Src: /src/librdkafka/src/rdxxhash.c:398,1
    - Dst: XXH32_digest
      Src: /src/librdkafka/src/rdxxhash.c:399,1
    - Dst: XXH32_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:406,1
    - Dst: XXH32_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:408,1
    - Dst: XXH32_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:412,1
    - Dst: XXH32_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 416
    functionName: XXH32
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 5
    functionsReached:
    - XXH32_update
    - XXH32_reset
    - XXH32_endian_align
    - XXH32_digest
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_PUBLIC_API unsigned XXH32 (const void* input, size_t len, unsigned
      int seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/librdkafka/src/rdxxhash.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: XXH32_state_t* XXH32_createState(void)
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_state_t* XXH32_createState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/librdkafka/src/rdxxhash.c:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: XXH_errorcode::XXH32_freeState
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_freeState(XXH32_state_t* statePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH32_state_t*
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: XXH32_copyState
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_copyState(XXH32_state_t* dstState, const XXH32_state_t*
      srcState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdxxhash.c:440,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH32_state_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 448
    functionName: XXH_errorcode::XXH32_reset
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_reset(XXH32_state_t* statePtr, unsigned
      int seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:468,1
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:474,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:476,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:476,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:477,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:477,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:478,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:478,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:479,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:479,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:493,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:493,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:494,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:494,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:495,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:495,1
    - Dst: XXH32_round
      Src: /src/librdkafka/src/rdxxhash.c:496,1
    - Dst: XXH_readLE32
      Src: /src/librdkafka/src/rdxxhash.c:496,1
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 4
    argNames:
    - state
    - input
    - len
    - endian
    argTypes:
    - XXH32_state_t*
    - void*
    - size_t
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 512
    functionName: XXH_errorcode::XXH32_update_endian
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readLE32
    - XXH_memcpy
    - XXH32_round
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE XXH_errorcode

      XXH32_update_endian(XXH32_state_t* state, const void* input, size_t len, XXH_endianess
      endian)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH32_update_endian
      Src: /src/librdkafka/src/rdxxhash.c:520,1
    - Dst: XXH_errorcode::XXH32_update_endian
      Src: /src/librdkafka/src/rdxxhash.c:522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - state_in
    - input
    - len
    argTypes:
    - XXH32_state_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 515
    functionDepth: 4
    functionLinenumber: 515
    functionLinenumberEnd: 523
    functionName: XXH_errorcode::XXH32_update
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH32_update_endian
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH32_update (XXH32_state_t* state_in,
      const void* input, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:532,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:533,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:534,1
    - Dst: XXH_rotl32
      Src: /src/librdkafka/src/rdxxhash.c:535,1
    - Dst: XXH32_finalize
      Src: /src/librdkafka/src/rdxxhash.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - state
    - endian
    argTypes:
    - XXH32_state_t*
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 543
    functionName: XXH32_digest_endian
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH32_finalize
    - XXH_rotl32
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH32_digest_endian (const XXH32_state_t* state, XXH_endianess
      endian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH32_digest_endian
      Src: /src/librdkafka/src/rdxxhash.c:551,1
    - Dst: XXH32_digest_endian
      Src: /src/librdkafka/src/rdxxhash.c:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state_in
    argTypes:
    - XXH32_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 546
    functionDepth: 3
    functionLinenumber: 546
    functionLinenumberEnd: 554
    functionName: XXH32_digest
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 3
    functionsReached:
    - XXH32_digest_endian
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned
    signature: XXH_PUBLIC_API unsigned XXH32_digest (const XXH32_state_t* state_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/librdkafka/src/rdxxhash.c:567,1
    - Dst: XXH_swap32
      Src: /src/librdkafka/src/rdxxhash.c:568,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH32_canonical_t*
    - XXH32_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: XXH32_canonicalFromHash
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - XXH_STATIC_ASSERT
    - XXH_swap32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_canonicalFromHash(XXH32_canonical_t* dst, XXH32_hash_t
      hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE32
      Src: /src/librdkafka/src/rdxxhash.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH32_canonical_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 575
    functionName: XXH32_hash_t::XXH32_hashFromCanonical
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readBE32
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH32_hash_t XXH32_hashFromCanonical(const XXH32_canonical_t*
      src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 603
    functionName: XXH_read64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U64
    signature: U64 XXH_read64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 610
    functionName: XXH_read64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U64
    signature: U64 XXH_read64(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memPtr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 623
    functionName: XXH_read64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: U64
    signature: U64 XXH_read64(const void* memPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 642
    functionName: XXH_swap64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U64
    signature: U64 XXH_swap64 (U64 x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_read64
      Src: /src/librdkafka/src/rdxxhash.c:648,1
    - Dst: XXH_swap64
      Src: /src/librdkafka/src/rdxxhash.c:648,1
    - Dst: XXH_read64
      Src: /src/librdkafka/src/rdxxhash.c:648,1
    - Dst: XXH_swap64
      Src: /src/librdkafka/src/rdxxhash.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ptr
    - endian
    - align
    argTypes:
    - void*
    - XXH_endianess
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: XXH_readLE64_align
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_swap64
    - XXH_read64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH_readLE64_align(const void* ptr, XXH_endianess endian,
      XXH_alignment align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readLE64_align
      Src: /src/librdkafka/src/rdxxhash.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - endian
    argTypes:
    - void*
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: XXH_readLE64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readLE64_align
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH_readLE64(const void* ptr, XXH_endianess endian)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_swap64
      Src: /src/librdkafka/src/rdxxhash.c:660,1
    - Dst: XXH_read64
      Src: /src/librdkafka/src/rdxxhash.c:660,1
    - Dst: XXH_read64
      Src: /src/librdkafka/src/rdxxhash.c:660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 661
    functionName: XXH_readBE64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_swap64
    - XXH_read64
    linkageType: ''
    returnType: U64
    signature: U64 XXH_readBE64(const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - input
    argTypes:
    - U64
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: XXH64_round
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_rotl64
    linkageType: ''
    returnType: U64
    signature: U64 XXH64_round(U64 acc, U64 input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - acc
    - val
    argTypes:
    - U64
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 686
    functionName: XXH64_mergeRound
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH64_round
    linkageType: ''
    returnType: U64
    signature: U64 XXH64_mergeRound(U64 acc, U64 val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h64
    argTypes:
    - U64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: XXH64_avalanche
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: U64
    signature: U64 XXH64_avalanche(U64 h64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: XXH_get64bits
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XXH_get64bits(p)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:729,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:738,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:746,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:756,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:765,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:776,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:786,1
    - Dst: XXH64_avalanche
      Src: /src/librdkafka/src/rdxxhash.c:802,1
    - Dst: assert
      Src: /src/librdkafka/src/rdxxhash.c:806,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 5
    argNames:
    - h64
    - ptr
    - len
    - endian
    - align
    argTypes:
    - U64
    - void*
    - size_t
    - XXH_endianess
    - XXH_alignment
    assertStmts:
    - condition: (0)
      pos:
        line_end: 805
        line_start: 805
        source_file: /src/librdkafka/src/rdxxhash.c
    constantsTouched: []
    func_position:
      end: 808
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 808
    functionName: XXH64_finalize
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH64_avalanche
    - assert
    linkageType: ''
    returnType: U64
    signature: "U64 XXH64_finalize(U64 h64, const void* ptr, size_t len,\n               XXH_endianess
      endian, XXH_alignment align)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:833,1
    - Dst: XXH_get64bits
      Src: /src/librdkafka/src/rdxxhash.c:833,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:834,1
    - Dst: XXH_get64bits
      Src: /src/librdkafka/src/rdxxhash.c:834,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:835,1
    - Dst: XXH_get64bits
      Src: /src/librdkafka/src/rdxxhash.c:835,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:836,1
    - Dst: XXH_get64bits
      Src: /src/librdkafka/src/rdxxhash.c:836,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:839,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:839,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:839,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:839,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:840,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:841,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:842,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:843,1
    - Dst: XXH64_finalize
      Src: /src/librdkafka/src/rdxxhash.c:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - input
    - len
    - seed
    - endian
    - align
    argTypes:
    - void*
    - size_t
    - U64
    - XXH_endianess
    - XXH_alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 852
    functionName: XXH64_endian_align
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH64_mergeRound
    - XXH_rotl64
    - XXH_get64bits
    - XXH64_round
    - XXH64_finalize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: "FORCE_INLINE XXH64_endian_align(const void* input, size_t len, U64
      seed,\n                XXH_endianess endian, XXH_alignment align)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_reset
      Src: /src/librdkafka/src/rdxxhash.c:860,1
    - Dst: XXH64_update
      Src: /src/librdkafka/src/rdxxhash.c:861,1
    - Dst: XXH64_digest
      Src: /src/librdkafka/src/rdxxhash.c:862,1
    - Dst: XXH64_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:869,1
    - Dst: XXH64_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:871,1
    - Dst: XXH64_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:875,1
    - Dst: XXH64_endian_align
      Src: /src/librdkafka/src/rdxxhash.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - input
    - len
    - seed
    argTypes:
    - void*
    - size_t
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 855
    functionDepth: 4
    functionLinenumber: 855
    functionLinenumberEnd: 879
    functionName: XXH64
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH64_endian_align
    - XXH64_digest
    - XXH64_update
    - XXH64_reset
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned long long
    signature: XXH_PUBLIC_API unsigned long long XXH64 (const void* input, size_t
      len, unsigned long long seed)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_malloc
      Src: /src/librdkafka/src/rdxxhash.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 886
    functionName: XXH64_state_t* XXH64_createState(void)
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_malloc
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_state_t* XXH64_createState(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_free
      Src: /src/librdkafka/src/rdxxhash.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - statePtr
    argTypes:
    - XXH64_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: XXH_errorcode::XXH64_freeState
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_free
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_freeState(XXH64_state_t* statePtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dstState
    - srcState
    argTypes:
    - XXH64_state_t*
    - XXH64_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 896
    functionName: XXH64_copyState
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_copyState(XXH64_state_t* dstState, const XXH64_state_t*
      srcState)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdxxhash.c:901,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - statePtr
    - seed
    argTypes:
    - XXH64_state_t*
    - unsigned long long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 909
    functionName: XXH_errorcode::XXH64_reset
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_reset(XXH64_state_t* statePtr, unsigned
      long long seed)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:927,1
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:933,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:934,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:934,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:935,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:935,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:936,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:936,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:937,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:937,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:950,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:950,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:951,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:951,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:952,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:952,1
    - Dst: XXH64_round
      Src: /src/librdkafka/src/rdxxhash.c:953,1
    - Dst: XXH_readLE64
      Src: /src/librdkafka/src/rdxxhash.c:953,1
    - Dst: XXH_memcpy
      Src: /src/librdkafka/src/rdxxhash.c:963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - state
    - input
    - len
    - endian
    argTypes:
    - XXH64_state_t*
    - void*
    - size_t
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 911
    functionDepth: 3
    functionLinenumber: 911
    functionLinenumberEnd: 969
    functionName: XXH_errorcode::XXH64_update_endian
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readLE64
    - XXH_memcpy
    - XXH64_round
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE XXH_errorcode

      XXH64_update_endian (XXH64_state_t* state, const void* input, size_t len, XXH_endianess
      endian)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_errorcode::XXH64_update_endian
      Src: /src/librdkafka/src/rdxxhash.c:976,1
    - Dst: XXH_errorcode::XXH64_update_endian
      Src: /src/librdkafka/src/rdxxhash.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - state_in
    - input
    - len
    argTypes:
    - XXH64_state_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 971
    functionDepth: 4
    functionLinenumber: 971
    functionLinenumberEnd: 979
    functionName: XXH_errorcode::XXH64_update
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_errorcode::XXH64_update_endian
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH_errorcode XXH64_update (XXH64_state_t* state_in,
      const void* input, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:991,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:991,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:991,1
    - Dst: XXH_rotl64
      Src: /src/librdkafka/src/rdxxhash.c:991,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:992,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:993,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:994,1
    - Dst: XXH64_mergeRound
      Src: /src/librdkafka/src/rdxxhash.c:995,1
    - Dst: XXH64_finalize
      Src: /src/librdkafka/src/rdxxhash.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - state
    - endian
    argTypes:
    - XXH64_state_t*
    - XXH_endianess
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1003
    functionName: XXH64_digest_endian
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH64_finalize
    - XXH_rotl64
    - XXH64_mergeRound
    linkageType: ''
    returnType: FORCE_INLINE
    signature: FORCE_INLINE XXH64_digest_endian (const XXH64_state_t* state, XXH_endianess
      endian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH64_digest_endian
      Src: /src/librdkafka/src/rdxxhash.c:1010,1
    - Dst: XXH64_digest_endian
      Src: /src/librdkafka/src/rdxxhash.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - state_in
    argTypes:
    - XXH64_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1013
    functionName: XXH64_digest
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 1
    functionsReached:
    - XXH64_digest_endian
    linkageType: ''
    returnType: XXH_PUBLIC_API unsigned long long
    signature: XXH_PUBLIC_API unsigned long long XXH64_digest (const XXH64_state_t*
      state_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XXH_STATIC_ASSERT
      Src: /src/librdkafka/src/rdxxhash.c:1020,1
    - Dst: XXH_swap64
      Src: /src/librdkafka/src/rdxxhash.c:1021,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdxxhash.c:1022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dst
    - hash
    argTypes:
    - XXH64_canonical_t*
    - XXH64_hash_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1023
    functionName: XXH64_canonicalFromHash
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - memcpy
    - XXH_STATIC_ASSERT
    - XXH_swap64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_canonicalFromHash(XXH64_canonical_t* dst, XXH64_hash_t
      hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XXH_readBE64
      Src: /src/librdkafka/src/rdxxhash.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - XXH64_canonical_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1028
    functionName: XXH64_hash_t::XXH64_hashFromCanonical
    functionSourceFile: /src/librdkafka/src/rdxxhash.c
    functionUses: 0
    functionsReached:
    - XXH_readBE64
    linkageType: ''
    returnType: XXH_PUBLIC_API
    signature: XXH_PUBLIC_API XXH64_hash_t XXH64_hashFromCanonical(const XXH64_canonical_t*
      src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdkafka_sasl.c:53,1
    - Dst: htobe32
      Src: /src/librdkafka/src/rdkafka_sasl.c:55,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_sasl.c:56,1
    - Dst: rd_buf_push
      Src: /src/librdkafka/src/rdkafka_sasl.c:58,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_sasl.c:60,1
    - Dst: rd_kafka_transport_send
      Src: /src/librdkafka/src/rdkafka_sasl.c:68,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl.c:71,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:73,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_sasl.c:77,1
    - Dst: rd_usleep
      Src: /src/librdkafka/src/rdkafka_sasl.c:81,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - rktrans
    - payload
    - len
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 44
    functionDepth: 6
    functionLinenumber: 44
    functionLinenumberEnd: 88
    functionName: rd_kafka_sasl_send_legacy
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_buf_write
    - htobe32
    - rd_kafka_transport_send
    - rd_buf_push
    - rd_slice_remains
    - rd_buf_init
    - rd_rkb_dbg
    - rd_buf_destroy
    - rd_usleep
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_send_legacy(rd_kafka_transport_t *rktrans,\n                                     const
      void *payload,\n                                     int len,\n                                     char
      *errstr,\n                                     size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl.c:102,1
    - Dst: rd_kafka_sasl_send_legacy
      Src: /src/librdkafka/src/rdkafka_sasl.c:110,1
    - Dst: rd_kafka_SaslAuthenticateRequest
      Src: /src/librdkafka/src/rdkafka_sasl.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - rktrans
    - payload
    - len
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 95
    functionDepth: 9
    functionLinenumber: 95
    functionLinenumberEnd: 119
    functionName: rd_kafka_sasl_send
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 7
    functionsReached:
    - rd_kafka_SaslAuthenticateRequest
    - rd_kafka_sasl_send_legacy
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_send(rd_kafka_transport_t *rktrans,\n                       const
      void *payload,\n                       int len,\n                       char
      *errstr,\n                       size_t errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_connect_up
      Src: /src/librdkafka/src/rdkafka_sasl.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: rd_kafka_sasl_auth_done
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 5
    functionsReached:
    - rd_kafka_broker_connect_up
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_auth_done(rd_kafka_transport_t *rktrans)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl.c:146,1
    - Dst: rd_kafka_transport_t*::rktrans_rkb::rkb_rk::rk_conf::sasl::provider::recv
      Src: /src/librdkafka/src/rdkafka_sasl.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - rktrans
    - buf
    - len
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - void*
    - size_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: rd_kafka_sasl_recv
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_transport_t*::rktrans_rkb::rkb_rk::rk_conf::sasl::provider::recv
    - rd_rkb_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_recv(rd_kafka_transport_t *rktrans,\n                       const
      void *buf,\n                       size_t len,\n                       char
      *errstr,\n                       size_t errstr_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_transport_framed_recv
      Src: /src/librdkafka/src/rdkafka_sasl.c:172,1
    - Dst: rd_kafka_transport_error_disconnected
      Src: /src/librdkafka/src/rdkafka_sasl.c:175,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl.c:176,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl.c:177,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_sasl.c:188,1
    - Dst: rd_slice_seek
      Src: /src/librdkafka/src/rdkafka_sasl.c:190,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_sasl.c:191,1
    - Dst: rd_slice_ensure_contig
      Src: /src/librdkafka/src/rdkafka_sasl.c:192,1
    - Dst: rd_kafka_sasl_recv
      Src: /src/librdkafka/src/rdkafka_sasl.c:198,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - rktrans
    - events
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 160
    functionDepth: 5
    functionLinenumber: 160
    functionLinenumberEnd: 204
    functionName: rd_kafka_sasl_io_event
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_slice_init_full
    - rd_slice_ensure_contig
    - rd_slice_remains
    - rd_snprintf
    - rd_kafka_buf_destroy
    - rd_kafka_sasl_recv
    - rd_slice_seek
    - rd_kafka_transport_framed_recv
    - strlen
    - rd_kafka_transport_error_disconnected
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_io_event(rd_kafka_transport_t *rktrans,\n                           int
      events,\n                           char *errstr,\n                           size_t
      errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::close
      Src: /src/librdkafka/src/rdkafka_sasl.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rktrans
    argTypes:
    - rd_kafka_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: rd_kafka_sasl_close
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 2
    functionsReached:
    - struct rd_kafka_sasl_provider*::close
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_close(rd_kafka_transport_t *rktrans)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl.c:247,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl.c:249,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl.c:255,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_sasl.c:265,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_sasl.c:266,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_sasl.c:267,1
    - Dst: strchr
      Src: /src/librdkafka/src/rdkafka_sasl.c:269,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_sasl.c:272,1
    - Dst: struct rd_kafka_sasl_provider*::client_new
      Src: /src/librdkafka/src/rdkafka_sasl.c:278,1
    - Dst: rd_kafka_transport_poll_set
      Src: /src/librdkafka/src/rdkafka_sasl.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - rktrans
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_transport_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 283
    functionName: rd_kafka_sasl_client_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_strdupa
    - rd_snprintf
    - strcmp
    - rd_rkb_dbg
    - struct rd_kafka_sasl_provider*::client_new
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - strchr
    - rd_kafka_transport_poll_set
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_client_new(rd_kafka_transport_t *rktrans,\n                             char
      *errstr,\n                             size_t errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_sasl.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: rd_kafka_queue_get_sasl
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_new0
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_get_sasl(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::broker_term
      Src: /src/librdkafka/src/rdkafka_sasl.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: rd_kafka_sasl_broker_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - struct rd_kafka_sasl_provider*::broker_term
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_broker_term(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::broker_init
      Src: /src/librdkafka/src/rdkafka_sasl.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: rd_kafka_sasl_broker_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - struct rd_kafka_sasl_provider*::broker_init
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_broker_init(rd_kafka_broker_t *rkb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::init
      Src: /src/librdkafka/src/rdkafka_sasl.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: rd_kafka_sasl_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - struct rd_kafka_sasl_provider*::init
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_init(rd_kafka_t *rk, char *errstr, size_t errstr_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::term
      Src: /src/librdkafka/src/rdkafka_sasl.c:348,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_sasl.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: rd_kafka_sasl_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 2
    functionsReached:
    - RD_IF_FREE
    - struct rd_kafka_sasl_provider*::term
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_term(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct rd_kafka_sasl_provider*::ready
      Src: /src/librdkafka/src/rdkafka_sasl.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: rd_kafka_sasl_ready
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - struct rd_kafka_sasl_provider*::ready
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_kafka_sasl_ready(rd_kafka_t *rk)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl.c:381,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl.c:389,1
    - Dst: strncmp
      Src: /src/librdkafka/src/rdkafka_sasl.c:393,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_sasl.c:394,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sasl.c:400,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl.c:407,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sasl.c:414,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sasl.c:440,1
    - Dst: struct rd_kafka_sasl_provider*::conf_validate
      Src: /src/librdkafka/src/rdkafka_sasl.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 452
    functionName: rd_kafka_sasl_select_provider
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_snprintf
    - strcmp
    - struct rd_kafka_sasl_provider*::conf_validate
    - strncmp
    - strlen
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_sasl_select_provider(rd_kafka_t *rk,\n                                  char
      *errstr,\n                                  size_t errstr_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_sasl
      Src: /src/librdkafka/src/rdkafka_sasl.c:458,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_sasl.c:459,1
    - Dst: rd_kafka_queue_get_background
      Src: /src/librdkafka/src/rdkafka_sasl.c:463,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:464,1
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_sasl.c:465,1
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/src/rdkafka_sasl.c:470,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:472,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src/rdkafka_sasl.c:473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 476
    functionName: rd_kafka_sasl_background_callbacks_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 2
    functionsReached:
    - rd_kafka_error_new
    - rd_kafka_queue_get_sasl
    - rd_kafka_queue_destroy
    - rd_kafka_queue_forward
    - rd_kafka_queue_get_background
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_sasl_background_callbacks_enable(rd_kafka_t
      *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_cyrus_global_term
      Src: /src/librdkafka/src/rdkafka_sasl.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: rd_kafka_sasl_global_term
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_sasl_cyrus_global_term
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sasl_global_term(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_cyrus_global_init
      Src: /src/librdkafka/src/rdkafka_sasl.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: rd_kafka_sasl_global_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - rd_kafka_sasl_cyrus_global_init
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sasl_global_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src/rdkafka_sasl.c:511,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_sasl.c:514,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl.c:517,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl.c:518,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sasl.c:521,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sasl.c:522,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_sasl.c:524,1
    - Dst: rd_kafka_all_brokers_wakeup
      Src: /src/librdkafka/src/rdkafka_sasl.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - rk
    - username
    - password
    argTypes:
    - rd_kafka_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: rd_kafka_sasl_set_credentials
    functionSourceFile: /src/librdkafka/src/rdkafka_sasl.c
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - rd_free
    - mtx_lock
    - rd_kafka_error_new
    - rd_kafka_all_brokers_wakeup
    - rd_strdup
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *rd_kafka_sasl_set_credentials(rd_kafka_t *rk,\n
      \                                               const char *username,\n                                                const
      char *password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: conv_bin2ascii
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: conv_bin2ascii(a, table)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:50,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:51,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:52,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:53,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:59,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:60,1
    - Dst: conv_bin2ascii
      Src: /src/librdkafka/src/rdbase64.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - out
    - in
    - dlen
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: base64_encoding_conversion
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 0
    functionsReached:
    - conv_bin2ascii
    linkageType: ''
    returnType: int
    signature: "int base64_encoding_conversion(unsigned char *out,\n                                      const
      unsigned char *in,\n                                      int dlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbase64.c:94,1
    - Dst: EVP_EncodeBlock
      Src: /src/librdkafka/src/rdbase64.c:97,1
    - Dst: base64_encoding_conversion
      Src: /src/librdkafka/src/rdbase64.c:100,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdbase64.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - rd_chariov_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 106
    functionName: rd_base64_encode
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    - rd_assert
    - base64_encoding_conversion
    - EVP_EncodeBlock
    linkageType: ''
    returnType: void
    signature: void rd_base64_encode(const rd_chariov_t *in, rd_chariov_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_base64_encode
      Src: /src/librdkafka/src/rdbase64.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - in
    argTypes:
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 3
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: rd_base64_encode_str
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 2
    functionsReached:
    - rd_base64_encode
    linkageType: ''
    returnType: char
    signature: char *rd_base64_encode_str(const rd_chariov_t *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_base64_encode
      Src: /src/librdkafka/src/rdbase64.c:133,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdbase64.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - in
    argTypes:
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 130
    functionDepth: 3
    functionLinenumber: 130
    functionLinenumberEnd: 152
    functionName: rd_base64_encode_str_urlsafe
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 2
    functionsReached:
    - strlen
    - rd_base64_encode
    linkageType: ''
    returnType: char
    signature: char *rd_base64_encode_str_urlsafe(const rd_chariov_t *in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdbase64.c:174,1
    - Dst: EVP_DecodeBlock
      Src: /src/librdkafka/src/rdbase64.c:176,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdbase64.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - rd_chariov_t*
    - rd_chariov_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 200
    functionName: rd_base64_decode
    functionSourceFile: /src/librdkafka/src/rdbase64.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    - EVP_DecodeBlock
    - rd_free
    linkageType: ''
    returnType: int
    signature: int rd_base64_decode(const rd_chariov_t *in, rd_chariov_t *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:41,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdvarint.c:48,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdvarint.c:49,1
    - Dst: rd_varint_dec_i64
      Src: /src/librdkafka/src/rdvarint.c:55,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:56,1
    - Dst: RD_UVARINT_DEC_FAILED
      Src: /src/librdkafka/src/rdvarint.c:56,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:58,1
    - Dst: rd_buf_init
      Src: /src/librdkafka/src/rdvarint.c:64,1
    - Dst: rd_buf_push
      Src: /src/librdkafka/src/rdvarint.c:65,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdvarint.c:68,1
    - Dst: rd_slice_narrow_copy
      Src: /src/librdkafka/src/rdvarint.c:71,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:72,1
    - Dst: rd_slice_read_varint
      Src: /src/librdkafka/src/rdvarint.c:74,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:75,1
    - Dst: RD_UVARINT_DEC_FAILED
      Src: /src/librdkafka/src/rdvarint.c:75,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdvarint.c:79,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:80,1
    - Dst: rd_slice_read_varint
      Src: /src/librdkafka/src/rdvarint.c:86,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:87,1
    - Dst: RD_UVARINT_DEC_FAILED
      Src: /src/librdkafka/src/rdvarint.c:87,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:89,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:93,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdvarint.c:98,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdvarint.c:99,1
    - Dst: rd_buf_destroy
      Src: /src/librdkafka/src/rdvarint.c:105,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdvarint.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - file
    - line
    - num
    - exp
    - exp_size
    argTypes:
    - char*
    - int
    - int64_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 108
    functionName: do_test_rd_uvarint_enc_i64
    functionSourceFile: /src/librdkafka/src/rdvarint.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - RD_UVARINT_DEC_FAILED
    - rd_slice_offset
    - rd_uvarint_enc_i64
    - rd_buf_push
    - rd_buf_init
    - memcmp
    - RD_UT_ASSERT
    - rd_buf_destroy
    - rd_slice_read_varint
    - rd_varint_dec_i64
    - RD_UT_PASS
    - RD_UT_FAIL
    - rd_slice_narrow_copy
    linkageType: ''
    returnType: int
    signature: "int do_test_rd_uvarint_enc_i64(const char *file,\n                                      int
      line,\n                                      int64_t num,\n                                      const
      char *exp,\n                                      size_t exp_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:114,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:116,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:118,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:120,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:122,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:124,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:126,1
    - Dst: do_test_rd_uvarint_enc_i64
      Src: /src/librdkafka/src/rdvarint.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 111
    functionDepth: 5
    functionLinenumber: 111
    functionLinenumberEnd: 134
    functionName: unittest_rdvarint
    functionSourceFile: /src/librdkafka/src/rdvarint.c
    functionUses: 0
    functionsReached:
    - do_test_rd_uvarint_enc_i64
    linkageType: ''
    returnType: int
    signature: int unittest_rdvarint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _avg_
    - ','
    - _scale_factor_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: calculate_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calculate_avg(_avg_, _scale_factor_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _avg_
    - ','
    - _scale_factor_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: calculate_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calculate_max(_avg_, _scale_factor_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _rk_
    - ','
    - _avg_name_
    - ','
    - _scale_factor_
    - ','
    - _metric_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 72
    functionName: brokers_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: brokers_avg(_rk_, _avg_name_, _scale_factor_, _metric_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _rk_
    - ','
    - _avg_name_
    - ','
    - _scale_factor_
    - ','
    - _metric_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: brokers_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: brokers_max(_rk_, _avg_name_, _scale_factor_, _metric_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:96,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 107
    functionName: calculate_connection_creation_total
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_connection_creation_total(rd_kafka_t
      *rk,\n                                    rd_kafka_broker_t *rkb_selected,\n
      \                                   rd_ts_t now_ns)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:118,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 127
    functionName: calculate_connection_creation_rate
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - TAILQ_FOREACH
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_connection_creation_rate(rd_kafka_t
      *rk,\n                                   rd_kafka_broker_t *rkb_selected,\n
      \                                  rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: calculate_broker_avg_rtt
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_broker_avg_rtt(rd_kafka_t
      *rk,\n                         rd_kafka_broker_t *rkb_selected,\n                         rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: calculate_broker_max_rtt
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_broker_max_rtt(rd_kafka_t
      *rk,\n                         rd_kafka_broker_t *rkb_selected,\n                         rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: calculate_produce_latency_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_produce_latency_avg(rd_kafka_t
      *rk,\n                              rd_kafka_broker_t *rkb_selected,\n                              rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: calculate_produce_latency_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_produce_latency_max(rd_kafka_t
      *rk,\n                              rd_kafka_broker_t *rkb_selected,\n                              rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: calculate_throttle_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_throttle_avg(rd_kafka_t
      *rk,\n                       rd_kafka_broker_t *rkb_selected,\n                       rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: calculate_throttle_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_throttle_max(rd_kafka_t
      *rk,\n                       rd_kafka_broker_t *rkb_selected,\n                       rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: calculate_queue_time_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_queue_time_avg(rd_kafka_t
      *rk,\n                         rd_kafka_broker_t *rkb_selected,\n                         rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: calculate_queue_time_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_queue_time_max(rd_kafka_t
      *rk,\n                         rd_kafka_broker_t *rkb_selected,\n                         rd_ts_t
      now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 219
    functionName: calculate_consumer_assigned_partitions
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_assigned_partitions(rd_kafka_t
      *rk,\n                                       rd_kafka_broker_t *rkb_selected,\n
      \                                      rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 230
    functionName: calculate_consumer_rebalance_latency_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_rebalance_latency_avg(rd_kafka_t
      *rk,\n                                         rd_kafka_broker_t *rkb_selected,\n
      \                                        rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: calculate_consumer_rebalance_latency_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_rebalance_latency_max(rd_kafka_t
      *rk,\n                                         rd_kafka_broker_t *rkb_selected,\n
      \                                        rd_ts_t now_ns)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_CEIL_INTEGER_DIVISION
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: calculate_consumer_rebalance_latency_total
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - RD_CEIL_INTEGER_DIVISION
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_rebalance_latency_total(rd_kafka_t
      *rk,\n                                           rd_kafka_broker_t *rkb_selected,\n
      \                                          rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: calculate_consumer_fetch_latency_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_fetch_latency_avg(rd_kafka_t
      *rk,\n                                     rd_kafka_broker_t *rkb_selected,\n
      \                                    rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: brokers_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: calculate_consumer_fetch_latency_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - brokers_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_fetch_latency_max(rd_kafka_t
      *rk,\n                                     rd_kafka_broker_t *rkb_selected,\n
      \                                    rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: calculate_consumer_poll_idle_ratio_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_poll_idle_ratio_avg(rd_kafka_t
      *rk,\n                                       rd_kafka_broker_t *rkb_selected,\n
      \                                      rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_avg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: calculate_consumer_commit_latency_avg
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_avg
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_commit_latency_avg(rd_kafka_t
      *rk,\n                                      rd_kafka_broker_t *rkb_selected,\n
      \                                     rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calculate_max
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkb_selected
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: calculate_consumer_commit_latency_max
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - calculate_max
    linkageType: ''
    returnType: rd_kafka_telemetry_metric_value_t
    signature: "rd_kafka_telemetry_metric_value_t calculate_consumer_commit_latency_max(rd_kafka_t
      *rk,\n                                      rd_kafka_broker_t *rkb_selected,\n
      \                                     rd_ts_t now_ns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_CEIL_INTEGER_DIVISION
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:315,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:319,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 323
    functionName: reset_historical_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_get
    - TAILQ_FOREACH
    - RD_CEIL_INTEGER_DIVISION
    linkageType: ''
    returnType: void
    signature: void reset_historical_metrics(rd_kafka_t *rk, rd_ts_t now_ns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKAP_STR_LEN
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: get_client_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_LEN
    linkageType: ''
    returnType: char
    signature: char *get_client_rack(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: get_group_id
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_group_id(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: get_group_instance_id
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_group_instance_id(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: get_member_id
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_member_id(const rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: get_transactional_id
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *get_transactional_id(const rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rk
    - configs
    - config_count
    argTypes:
    - rd_kafka_t*
    - rd_kafka_telemetry_attribute_config_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: count_attributes
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: int
    signature: "int count_attributes(rd_kafka_t *rk,\n                 const rd_kafka_telemetry_attribute_config_t
      *configs,\n                 int config_count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getValue
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - attributes
    - configs
    - config_count
    argTypes:
    - rd_kafka_t*
    - rd_kafka_telemetry_resource_attribute_t*
    - rd_kafka_telemetry_attribute_config_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 449
    functionName: set_attributes
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - getValue
    linkageType: ''
    returnType: void
    signature: "void set_attributes(rd_kafka_t *rk,\n                           rd_kafka_telemetry_resource_attribute_t
      *attributes,\n                           const rd_kafka_telemetry_attribute_config_t
      *configs,\n                           int config_count)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:460,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:463,1
    - Dst: count_attributes
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:469,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:477,1
    - Dst: set_attributes
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - rk
    - attributes
    argTypes:
    - rd_kafka_t*
    - rd_kafka_telemetry_resource_attribute_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 482
    functionName: resource_attributes
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - count_attributes
    - set_attributes
    - RD_ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: "int resource_attributes(rd_kafka_t *rk,\n                    rd_kafka_telemetry_resource_attribute_t
      **attributes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:486,1
    - Dst: pb_encode_string
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:488,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: encode_string
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 1
    functionsReached:
    - strlen
    - pb_encode_string
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: bool encode_string(pb_ostream_t *stream, const pb_field_t *field, void
      *const *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:497,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: encode_number_data_point
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: "bool encode_number_data_point(pb_ostream_t *stream,\n                                     const
      pb_field_t *field,\n                                     void *const *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:515,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 524
    functionName: encode_metric
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: bool encode_metric(pb_ostream_t *stream, const pb_field_t *field, void
      *const *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:531,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: encode_scope_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: "bool encode_scope_metrics(pb_ostream_t *stream,\n                                 const
      pb_field_t *field,\n                                 void *const *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:544,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 550
    functionName: encode_resource_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: "bool encode_resource_metrics(pb_ostream_t *stream,\n                                    const
      pb_field_t *field,\n                                    void *const *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:555,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: encode_key_value
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: "bool encode_key_value(pb_ostream_t *stream,\n                             const
      pb_field_t *field,\n                             void *const *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:574,1
    - Dst: pb_encode_submessage
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - field
    - arg
    argTypes:
    - pb_ostream_t*
    - pb_field_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 583
    functionName: encode_key_values
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_submessage
    - pb_encode_tag_for_field
    linkageType: ''
    returnType: bool
    signature: "bool encode_key_values(pb_ostream_t *stream,\n                              const
      pb_field_t *field,\n                              void *const *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:593,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:594,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:595,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:597,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:598,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:599,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:600,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - metrics
    - metric_names
    - data_points
    - datapoint_attributes_key_values
    - count
    argTypes:
    - opentelemetry_proto_metrics_v1_Metric**
    - char**
    - opentelemetry_proto_metrics_v1_NumberDataPoint**
    - opentelemetry_proto_common_v1_KeyValue*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 601
    functionName: free_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void free_metrics(\n    opentelemetry_proto_metrics_v1_Metric **metrics,\n
      \   char **metric_names,\n    opentelemetry_proto_metrics_v1_NumberDataPoint
      **data_points,\n    opentelemetry_proto_common_v1_KeyValue *datapoint_attributes_key_values,\n
      \   size_t count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:611,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:612,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - resource_attributes_key_values
    - resource_attributes_struct
    - count
    argTypes:
    - opentelemetry_proto_common_v1_KeyValue**
    - rd_kafka_telemetry_resource_attribute_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 614
    functionName: free_resource_attributes
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: "void free_resource_attributes(\n    opentelemetry_proto_common_v1_KeyValue
      **resource_attributes_key_values,\n    rd_kafka_telemetry_resource_attribute_t
      *resource_attributes_struct,\n    size_t count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metric_value_calculator
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:634,1
    - Dst: metric_value_calculator
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:639,1
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:659,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:661,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:692,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:700,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:700,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:701,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:702,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 10
    argNames:
    - rk
    - rkb
    - info
    - metric
    - data_point
    - data_point_attribute
    - metric_value_calculator
    - metric_name
    - is_per_broker
    - now_ns
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_telemetry_metric_info_t*
    - opentelemetry_proto_metrics_v1_Metric**
    - opentelemetry_proto_metrics_v1_NumberDataPoint**
    - opentelemetry_proto_common_v1_KeyValue*
    - rd_kafka_telemetry_metric_value_calculator_t
    - char**
    - bool
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 710
    functionName: serialize_Metric
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_snprintf
    - rd_calloc
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - metric_value_calculator
    - strlen
    linkageType: ''
    returnType: void
    signature: "void serialize_Metric(\n    rd_kafka_t *rk,\n    rd_kafka_broker_t
      *rkb,\n    const rd_kafka_telemetry_metric_info_t *info,\n    opentelemetry_proto_metrics_v1_Metric
      **metric,\n    opentelemetry_proto_metrics_v1_NumberDataPoint **data_point,\n
      \   opentelemetry_proto_common_v1_KeyValue *data_point_attribute,\n    rd_kafka_telemetry_metric_value_calculator_t
      metric_value_calculator,\n    char **metric_name,\n    bool is_per_broker,\n
      \   rd_ts_t now_ns)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_TELEMETRY_METRIC_INFO
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:733,1
    - Dst: rd_buf_new
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:738,1
    - Dst: rd_uclock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:756,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:757,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:765,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:767,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:768,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:769,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:771,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:773,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:776,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:778,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:782,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:784,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:789,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:791,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:799,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:801,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:805,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:807,1
    - Dst: rd_avg_destroy
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:811,1
    - Dst: rd_avg_rollover
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:813,1
    - Dst: resource_attributes
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:819,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:820,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:824,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:828,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:862,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:864,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:869,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:872,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:875,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:877,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:878,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:895,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:896,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:900,1
    - Dst: serialize_Metric
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:904,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:918,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:919,1
    - Dst: serialize_Metric
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:922,1
    - Dst: pb_get_encoded_size
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:948,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:952,1
    - Dst: rd_buf_new
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:957,1
    - Dst: rd_buf_write_ensure
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:958,1
    - Dst: rd_buf_get_writable
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:959,1
    - Dst: pb_ostream_from_buffer
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:961,1
    - Dst: pb_encode
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:962,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:967,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:968,1
    - Dst: rd_buf_destroy_free
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:969,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:972,1
    - Dst: rd_buf_write
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:975,1
    - Dst: reset_historical_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:977,1
    - Dst: free_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:979,1
    - Dst: free_resource_attributes
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:981,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:984,1
    - Dst: free_metrics
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:989,1
    - Dst: free_resource_attributes
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:991,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_telemetry_encode.c:994,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 118
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 997
    functionName: rd_kafka_telemetry_encode_metrics
    functionSourceFile: /src/librdkafka/src/rdkafka_telemetry_encode.c
    functionUses: 2
    functionsReached:
    - free_resource_attributes
    - RD_KAFKA_TELEMETRY_METRIC_INFO
    - pb_encode
    - rd_kafka_name
    - TAILQ_FOREACH
    - pb_ostream_from_buffer
    - rd_kafka_rdlock
    - rd_buf_write
    - rd_buf_destroy_free
    - rd_avg_destroy
    - rd_uclock
    - PB_GET_ERROR
    - rd_buf_get_writable
    - rd_kafka_rdunlock
    - rd_calloc
    - rd_avg_rollover
    - pb_get_encoded_size
    - rd_buf_write_ensure
    - free_metrics
    - reset_historical_metrics
    - rd_kafka_version_str
    - rd_malloc
    - rd_buf_new
    - serialize_Metric
    - resource_attributes
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_buf_t
    signature: rd_buf_t *rd_kafka_telemetry_encode_metrics(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_t*::rmap_cmp
      Src: /src/librdkafka/src/rdmap.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - rmap
    argTypes:
    - rd_map_elem_t*
    - rd_map_elem_t*
    - rd_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: rd_map_elem_cmp
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_t*::rmap_cmp
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_map_elem_cmp(const rd_map_elem_t *a,\n                                     const
      rd_map_elem_t *b,\n                                     const rd_map_t *rmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdmap.c:46,1
    - Dst: rd_map_t*::rmap_destroy_key
      Src: /src/librdkafka/src/rdmap.c:49,1
    - Dst: rd_map_t*::rmap_destroy_value
      Src: /src/librdkafka/src/rdmap.c:51,1
    - Dst: LIST_REMOVE
      Src: /src/librdkafka/src/rdmap.c:52,1
    - Dst: LIST_REMOVE
      Src: /src/librdkafka/src/rdmap.c:53,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdmap.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rmap
    - elem
    argTypes:
    - rd_map_t*
    - rd_map_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: rd_map_elem_destroy
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_assert
    - rd_map_t*::rmap_destroy_value
    - rd_map_t*::rmap_destroy_key
    - LIST_REMOVE
    linkageType: ''
    returnType: void
    signature: void rd_map_elem_destroy(rd_map_t *rmap, rd_map_elem_t *elem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FOREACH
      Src: /src/librdkafka/src/rdmap.c:65,1
    - Dst: rd_map_elem_cmp
      Src: /src/librdkafka/src/rdmap.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rmap
    - bktp
    - skel
    argTypes:
    - rd_map_t*
    - int*
    - rd_map_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 71
    functionName: rd_map_find
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_elem_cmp
    - LIST_FOREACH
    linkageType: ''
    returnType: rd_map_elem_t
    signature: 'rd_map_elem_t *

      rd_map_find(const rd_map_t *rmap, int *bktp, const rd_map_elem_t *skel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdmap.c:81,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/librdkafka/src/rdmap.c:84,1
    - Dst: LIST_INSERT_HEAD
      Src: /src/librdkafka/src/rdmap.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - rmap
    - bkt
    - skel
    argTypes:
    - rd_map_t*
    - int
    - rd_map_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: rd_map_insert
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - LIST_INSERT_HEAD
    linkageType: ''
    returnType: rd_map_elem_t
    signature: 'rd_map_elem_t *

      rd_map_insert(rd_map_t *rmap, int bkt, const rd_map_elem_t *skel)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_t*::rmap_hash
      Src: /src/librdkafka/src/rdmap.c:93,1
    - Dst: rd_map_find
      Src: /src/librdkafka/src/rdmap.c:97,1
    - Dst: rd_map_insert
      Src: /src/librdkafka/src/rdmap.c:98,1
    - Dst: rd_map_t*::rmap_destroy_value
      Src: /src/librdkafka/src/rdmap.c:101,1
    - Dst: rd_map_t*::rmap_destroy_key
      Src: /src/librdkafka/src/rdmap.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - rmap
    - key
    - value
    argTypes:
    - rd_map_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: rd_map_set
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_t*::rmap_destroy_value
    - rd_map_t*::rmap_hash
    - rd_map_t*::rmap_destroy_key
    - rd_map_insert
    - rd_map_find
    linkageType: ''
    returnType: rd_map_elem_t
    signature: rd_map_elem_t *rd_map_set(rd_map_t *rmap, void *key, void *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_t*::rmap_hash
      Src: /src/librdkafka/src/rdmap.c:114,1
    - Dst: rd_map_find
      Src: /src/librdkafka/src/rdmap.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rmap
    - key
    argTypes:
    - rd_map_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: rd_map_get
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_t*::rmap_hash
    - rd_map_find
    linkageType: ''
    returnType: void
    signature: void *rd_map_get(const rd_map_t *rmap, const void *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_t*::rmap_hash
      Src: /src/librdkafka/src/rdmap.c:126,1
    - Dst: rd_map_find
      Src: /src/librdkafka/src/rdmap.c:130,1
    - Dst: rd_map_elem_destroy
      Src: /src/librdkafka/src/rdmap.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rmap
    - key
    argTypes:
    - rd_map_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 134
    functionName: rd_map_delete
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_elem_destroy
    - rd_map_t*::rmap_hash
    - rd_map_find
    linkageType: ''
    returnType: void
    signature: void rd_map_delete(rd_map_t *rmap, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_set
      Src: /src/librdkafka/src/rdmap.c:144,1
    - Dst: key_copy
      Src: /src/librdkafka/src/rdmap.c:145,1
    - Dst: value_copy
      Src: /src/librdkafka/src/rdmap.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dst
    - src
    - key_copy
    - value_copy
    argTypes:
    - rd_map_t*
    - rd_map_t*
    - rd_map_copy_t*
    - rd_map_copy_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: rd_map_copy
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_set
    - key_copy
    - value_copy
    linkageType: ''
    returnType: void
    signature: "void rd_map_copy(rd_map_t *dst,\n                 const rd_map_t *src,\n
      \                rd_map_copy_t *key_copy,\n                 rd_map_copy_t *value_copy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_set
      Src: /src/librdkafka/src/rdmap.c:144,1
    - Dst: key_copy
      Src: /src/librdkafka/src/rdmap.c:145,1
    - Dst: value_copy
      Src: /src/librdkafka/src/rdmap.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: RD_MAP_FOREACH_ELEM
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_set
    - key_copy
    - value_copy
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH_ELEM(elem, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FIRST
      Src: /src/librdkafka/src/rdmap.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rmap
    - elem
    argTypes:
    - rd_map_t*
    - rd_map_elem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: rd_map_iter_begin
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - LIST_FIRST
    linkageType: ''
    returnType: void
    signature: void rd_map_iter_begin(const rd_map_t *rmap, const rd_map_elem_t **elem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rmap
    argTypes:
    - rd_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: rd_map_cnt
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t rd_map_cnt(const rd_map_t *rmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rmap
    argTypes:
    - rd_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: rd_map_is_empty
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t rd_map_is_empty(const rd_map_t *rmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdmap.c:192,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdmap.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - expected_cnt
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 197
    functionName: rd_map_alloc_buckets
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_calloc
    linkageType: ''
    returnType: struct rd_map_buckets
    signature: struct rd_map_buckets rd_map_alloc_buckets(size_t expected_cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdmap.c:207,1
    - Dst: rd_map_alloc_buckets
      Src: /src/librdkafka/src/rdmap.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rmap
    - expected_cnt
    argTypes:
    - rd_map_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 213
    functionName: rd_map_init
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - memset
    - rd_map_alloc_buckets
    linkageType: ''
    returnType: void
    signature: "void rd_map_init(rd_map_t *rmap,\n                 size_t expected_cnt,\n
      \                int (*cmp)(const void *a, const void *b),\n                 unsigned
      int (*hash)(const void *key),\n                 void (*destroy_key)(void *key),\n
      \                void (*destroy_value)(void *value))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LIST_FIRST
      Src: /src/librdkafka/src/rdmap.c:218,1
    - Dst: rd_map_elem_destroy
      Src: /src/librdkafka/src/rdmap.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - rmap
    argTypes:
    - rd_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: rd_map_clear
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - LIST_FIRST
    - rd_map_elem_destroy
    linkageType: ''
    returnType: void
    signature: void rd_map_clear(rd_map_t *rmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_clear
      Src: /src/librdkafka/src/rdmap.c:223,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdmap.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rmap
    argTypes:
    - rd_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: rd_map_destroy
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_map_clear
    linkageType: ''
    returnType: void
    signature: void rd_map_destroy(rd_map_t *rmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdmap.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: rd_map_str_cmp
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_map_str_cmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_string_hash
      Src: /src/librdkafka/src/rdmap.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: rd_map_str_hash
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_string_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_map_str_hash(const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bytes
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 254
    functionName: rd_bytes_hash
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_bytes_hash(unsigned char *bytes, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: mykey_cmp
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mykey_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: mykey_hash
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int mykey_hash(const void *_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdmap.c:304,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdmap.c:306,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdmap.c:314,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdmap.c:315,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdmap.c:317,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:318,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdmap.c:320,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdmap.c:321,1
    - Dst: RD_MAP_COPY
      Src: /src/librdkafka/src/rdmap.c:325,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdmap.c:327,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdmap.c:328,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:329,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdmap.c:331,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:332,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdmap.c:333,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:334,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdmap.c:336,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdmap.c:337,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdmap.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 340
    functionName: unittest_typed_map
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - RD_MAP_COPY
    - RD_MAP_SET
    - RD_UT_ASSERT
    - RD_MAP_FOREACH
    - RD_UT_PASS
    - RD_UT_SAY
    - RD_MAP_DELETE
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: int
    signature: int unittest_typed_map(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdmap.c:346,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdmap.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: person_cmp
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int person_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_str_hash
      Src: /src/librdkafka/src/rdmap.c:352,1
    - Dst: rd_map_str_hash
      Src: /src/librdkafka/src/rdmap.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _key
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: person_hash
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - rd_map_str_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int person_hash(const void *_key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_LOCAL_INITIALIZER
      Src: /src/librdkafka/src/rdmap.c:359,1
    - Dst: RD_MAP_LOCAL_INITIALIZER
      Src: /src/librdkafka/src/rdmap.c:362,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdmap.c:371,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdmap.c:372,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdmap.c:374,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:377,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdmap.c:379,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdmap.c:381,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdmap.c:384,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:386,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdmap.c:386,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdmap.c:387,1
    - Dst: strlen
      Src: /src/librdkafka/src/rdmap.c:388,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdmap.c:392,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdmap.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 396
    functionName: unittest_typed_map2
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - RD_MAP_LOCAL_INITIALIZER
    - RD_UT_ASSERT
    - RD_MAP_SET
    - RD_MAP_FOREACH
    - strlen
    - RD_MAP_DESTROY
    - RD_MAP_GET
    linkageType: ''
    returnType: int
    signature: int unittest_typed_map2(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdmap.c:410,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdmap.c:414,1
    - Dst: rd_map_init
      Src: /src/librdkafka/src/rdmap.c:418,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdmap.c:425,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdmap.c:434,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdmap.c:435,1
    - Dst: rd_map_set
      Src: /src/librdkafka/src/rdmap.c:438,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdmap.c:438,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdmap.c:439,1
    - Dst: rd_map_delete
      Src: /src/librdkafka/src/rdmap.c:442,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdmap.c:446,1
    - Dst: rd_map_set
      Src: /src/librdkafka/src/rdmap.c:449,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdmap.c:449,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdmap.c:450,1
    - Dst: rd_map_get
      Src: /src/librdkafka/src/rdmap.c:453,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:456,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:462,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdmap.c:462,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdmap.c:477,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdmap.c:478,1
    - Dst: RD_MAP_FOREACH_ELEM
      Src: /src/librdkafka/src/rdmap.c:481,1
    - Dst: rd_map_cnt
      Src: /src/librdkafka/src/rdmap.c:485,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:486,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdmap.c:489,1
    - Dst: rd_map_destroy
      Src: /src/librdkafka/src/rdmap.c:492,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdmap.c:494,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdmap.c:495,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdmap.c:498,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 499
    functionName: unittest_untyped_map
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - RD_UT_WARN
    - rd_map_delete
    - rd_snprintf
    - rd_map_cnt
    - rd_map_destroy
    - strcmp
    - rd_map_set
    - rd_map_init
    - RD_UT_ASSERT
    - RD_MAP_FOREACH_ELEM
    - RD_UT_PASS
    - RD_UT_SAY
    - rd_map_get
    - rd_strdup
    - rd_clock
    linkageType: ''
    returnType: int
    signature: int unittest_untyped_map(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unittest_untyped_map
      Src: /src/librdkafka/src/rdmap.c:504,1
    - Dst: unittest_typed_map
      Src: /src/librdkafka/src/rdmap.c:505,1
    - Dst: unittest_typed_map2
      Src: /src/librdkafka/src/rdmap.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 5
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: unittest_map
    functionSourceFile: /src/librdkafka/src/rdmap.c
    functionUses: 0
    functionsReached:
    - unittest_typed_map
    - unittest_typed_map2
    - unittest_untyped_map
    linkageType: ''
    returnType: int
    signature: int unittest_map(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_error.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: rd_kafka_error_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 57
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_error_destroy(rd_kafka_error_t *error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/librdkafka/src/rdkafka_error.c:57,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_error.c:58,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_error.c:59,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_error.c:62,1
    - Dst: rd_vsnprintf
      Src: /src/librdkafka/src/rdkafka_error.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - code
    - fmt
    - ap
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: rd_kafka_error_new_v
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - va_end
    - rd_vsnprintf
    - va_copy
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_error_new_v(rd_kafka_resp_err_t code, const char *fmt, va_list ap)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_error.c:83,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_error.c:86,1
    - Dst: rd_strlcpy
      Src: /src/librdkafka/src/rdkafka_error.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: rd_kafka_error_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 2
    functionsReached:
    - strlen
    - rd_malloc
    - rd_strlcpy
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: rd_kafka_error_t *rd_kafka_error_copy(const rd_kafka_error_t *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_copy
      Src: /src/librdkafka/src/rdkafka_error.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - error
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: rd_kafka_error_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_copy
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_error_copy_opaque(const void *error, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_error.c:116,1
    - Dst: rd_kafka_error_new_v
      Src: /src/librdkafka/src/rdkafka_error.c:117,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_error.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: rd_kafka_error_new
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 47
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_error_new_v
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_error_new(rd_kafka_resp_err_t code, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_error.c:128,1
    - Dst: rd_kafka_error_new_v
      Src: /src/librdkafka/src/rdkafka_error.c:129,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_error.c:130,1
    - Dst: rd_kafka_error_set_fatal
      Src: /src/librdkafka/src/rdkafka_error.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: rd_kafka_error_new_fatal
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 4
    functionsReached:
    - rd_kafka_error_set_fatal
    - va_end
    - va_start
    - rd_kafka_error_new_v
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_error_new_fatal(rd_kafka_resp_err_t code, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_error.c:142,1
    - Dst: rd_kafka_error_new_v
      Src: /src/librdkafka/src/rdkafka_error.c:143,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_error.c:144,1
    - Dst: rd_kafka_error_set_retriable
      Src: /src/librdkafka/src/rdkafka_error.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: rd_kafka_error_new_retriable
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 8
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_error_set_retriable
    - rd_kafka_error_new_v
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: 'rd_kafka_error_t *

      rd_kafka_error_new_retriable(rd_kafka_resp_err_t code, const char *fmt, ...)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_error.c:158,1
    - Dst: rd_kafka_error_new_v
      Src: /src/librdkafka/src/rdkafka_error.c:159,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_error.c:160,1
    - Dst: rd_kafka_error_set_txn_requires_abort
      Src: /src/librdkafka/src/rdkafka_error.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - code
    - fmt
    argTypes:
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: rd_kafka_error_new_txn_requires_abort
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 1
    functionsReached:
    - va_end
    - va_start
    - rd_kafka_error_set_txn_requires_abort
    - rd_kafka_error_new_v
    linkageType: ''
    returnType: rd_kafka_error_t
    signature: "rd_kafka_error_t *\nrd_kafka_error_new_txn_requires_abort(rd_kafka_resp_err_t
      code,\n                                      const char *fmt,\n                                      ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: rd_kafka_error_code
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_error_code(const rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_error.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: rd_kafka_error_name
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 12
    functionsReached:
    - rd_kafka_err2name
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_error_name(const rd_kafka_error_t *error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_error.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: rd_kafka_error_string
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 50
    functionsReached:
    - rd_kafka_err2str
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_error_string(const rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: rd_kafka_error_is_fatal
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_error_is_fatal(const rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: rd_kafka_error_is_retriable
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_error_is_retriable(const rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: rd_kafka_error_txn_requires_abort
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_error_txn_requires_abort(const rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: rd_kafka_error_set_fatal
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_error_set_fatal(rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: rd_kafka_error_set_retriable
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_error_set_retriable(rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: rd_kafka_error_set_txn_requires_abort
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_error_set_txn_requires_abort(rd_kafka_error_t *error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_error.c:221,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src/rdkafka_error.c:221,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src/rdkafka_error.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - error
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_error_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: rd_kafka_error_to_legacy
    functionSourceFile: /src/librdkafka/src/rdkafka_error.c
    functionUses: 0
    functionsReached:
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_error_to_legacy(rd_kafka_error_t *error,\n
      \                                            char *errstr,\n                                             size_t
      errstr_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: rd_dassert
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_dassert(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: rd_dassert
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_dassert(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: RD_BUG
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_BUG(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/librdkafka/src/rd.h:135,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num
    - sz
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: rd_calloc
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 132
    functionsReached:
    - rd_assert
    - calloc
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_calloc(size_t num, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/librdkafka/src/rd.h:141,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sz
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: rd_malloc
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 90
    functionsReached:
    - rd_assert
    - malloc
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_malloc(size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/librdkafka/src/rd.h:147,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: rd_realloc
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 8
    functionsReached:
    - rd_assert
    - realloc
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_realloc(void *ptr, size_t sz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/librdkafka/src/rd.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: rd_free
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 276
    functionsReached:
    - free
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/librdkafka/src/rd.h:158,1
    - Dst: _strdup
      Src: /src/librdkafka/src/rd.h:160,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: rd_strdup
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 160
    functionsReached:
    - _strdup
    - rd_assert
    - strdup
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_strdup(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/librdkafka/src/rd.h:168,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:169,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rd.h:171,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:172,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rd.h:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 177
    functionName: rd_strndup
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 3
    functionsReached:
    - rd_malloc
    - rd_assert
    - memcpy
    - strndup
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_strndup(const char *s, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DESTPTR
    - ','
    - PTR
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: rd_strndupa
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strndupa(DESTPTR, PTR, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - DESTPTR
    - ','
    - PTR
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: rd_strndupa
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strndupa(DESTPTR, PTR, LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DESTPTR
    - ','
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: rd_strdupa
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strdupa(DESTPTR, PTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - DESTPTR
    - ','
    - PTR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: rd_strdupa
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_strdupa(DESTPTR, PTR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: RD_ROUNDUP
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_ROUNDUP(X, STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: RD_ARRAY_SIZE
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_ARRAY_SIZE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: RD_ARRAYSIZE
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_ARRAYSIZE(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - MEMBER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: RD_SIZEOF
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_SIZEOF(TYPE, MEMBER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - TYPE
    - ','
    - MEMBER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: RD_OFFSETOF
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_OFFSETOF(TYPE, MEMBER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ELEM
    - ','
    - ARRAY
    - ','
    - INDEX
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: RD_ARRAY_FOREACH_INDEX
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_ARRAY_FOREACH_INDEX(ELEM, ARRAY, INDEX)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - I
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: RD_ARRAY_ELEM
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_ARRAY_ELEM(A, I, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: RD_STRINGIFY
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_STRINGIFY(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: RD_MIN
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: RD_MAX
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - val
    - ','
    - low
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: RD_INT_CAP
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_INT_CAP(val, low, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rd.h:268,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rd.h:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: rd_memdup
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 3
    functionsReached:
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE *rd_memdup(const void *src, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OBJ
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: RD_MEMZERO
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_MEMZERO(OBJ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_init
      Src: /src/librdkafka/src/rd.h:299,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:300,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - R
    - v
    argTypes:
    - rd_refcnt_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: rd_refcnt_init
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 6
    functionsReached:
    - mtx_unlock
    - mtx_init
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_init(rd_refcnt_t *R, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - R
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: rd_refcnt_init
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_init(R, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:311,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:312,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:313,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rd.h:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - R
    argTypes:
    - rd_refcnt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: rd_refcnt_destroy
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached:
    - mtx_unlock
    - rd_assert
    - mtx_destroy
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_destroy(rd_refcnt_t *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: rd_refcnt_destroy
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_destroy(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:327,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - R
    - v
    argTypes:
    - rd_refcnt_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 331
    functionName: rd_refcnt_set
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_set(rd_refcnt_t *R, int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - R
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: rd_refcnt_set
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_set(R, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:340,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - R
    argTypes:
    - rd_refcnt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: rd_refcnt_add0
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_add0(rd_refcnt_t *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: rd_refcnt_add0
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add0(R)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:352,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:354,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rd.h:356,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rd.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - R
    argTypes:
    - rd_refcnt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 361
    functionName: rd_refcnt_sub0
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached:
    - rd_assert
    - mtx_unlock
    - mtx_lock
    - rd_atomic32_sub
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_sub0(rd_refcnt_t *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rd.h:366,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rd.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - R
    argTypes:
    - rd_refcnt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: rd_refcnt_get
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 7
    functionsReached:
    - mtx_unlock
    - mtx_lock
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_refcnt_get(rd_refcnt_t *R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: rd_refcnt_get
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_get(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - REFCNT
    - ','
    - DESTROY_CALL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: rd_refcnt_destroywrapper
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_destroywrapper(REFCNT, DESTROY_CALL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - REFCNT
    - ','
    - WHAT
    - ','
    - DESTROY_CALL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 393
    functionName: rd_refcnt_destroywrapper2
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_destroywrapper2(REFCNT, WHAT, DESTROY_CALL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUNC
    - ','
    - LINE
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: rd_refcnt_add_fl
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add_fl(FUNC, LINE, R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: rd_refcnt_add
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - R
    - ','
    - WHAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    functionName: rd_refcnt_add2
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add2(R, WHAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - R
    - ','
    - WHAT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: rd_refcnt_sub2
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_sub2(R, WHAT)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: rd_refcnt_sub
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_sub(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - FUNC
    - ','
    - LINE
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 422
    functionName: rd_refcnt_add_fl
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add_fl(FUNC, LINE, R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 423
    functionName: rd_refcnt_add
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_add(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: rd_refcnt_sub
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_refcnt_sub(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - PTR
    - ','
    - FUNC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 433
    functionName: RD_IF_FREE
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_IF_FREE(PTR, FUNC)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - name
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: RD_INTERFACE_CALL
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_INTERFACE_CALL(i, name, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - DEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 438
    functionName: RD_CEIL_INTEGER_DIVISION
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RD_CEIL_INTEGER_DIVISION(X, DEN)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/librdkafka/src/rd.h:474,1
    - Dst: fopen_s
      Src: /src/librdkafka/src/rd.h:477,1
    - Dst: fseek
      Src: /src/librdkafka/src/rd.h:482,1
    - Dst: ftell
      Src: /src/librdkafka/src/rd.h:485,1
    - Dst: fseek
      Src: /src/librdkafka/src/rd.h:489,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rd.h:497,1
    - Dst: fread
      Src: /src/librdkafka/src/rd.h:498,1
    - Dst: fclose
      Src: /src/librdkafka/src/rd.h:506,1
    - Dst: fclose
      Src: /src/librdkafka/src/rd.h:509,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rd.h:511,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - file_path
    - size
    - max_size
    argTypes:
    - char*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 513
    functionName: rd_file_read
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 2
    functionsReached:
    - fclose
    - rd_free
    - ftell
    - fseek
    - fread
    - fopen
    - rd_malloc
    - fopen_s
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_file_read(const char *file_path, size_t *size, size_t max_size)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetTempPathA
      Src: /src/librdkafka/src/rd.h:525,1
    - Dst: GetTempFileNameA
      Src: /src/librdkafka/src/rd.h:529,1
    - Dst: fopen
      Src: /src/librdkafka/src/rd.h:532,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rd.h:536,1
    - Dst: mkstemp
      Src: /src/librdkafka/src/rd.h:538,1
    - Dst: fdopen
      Src: /src/librdkafka/src/rd.h:542,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rd.h:549,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - prefix
    - mode
    - tempfile_path_out
    - tempfile_path_out_size
    argTypes:
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 552
    functionName: rd_file_mkstemp
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 2
    functionsReached:
    - rd_snprintf
    - GetTempPathA
    - mkstemp
    - fdopen
    - fopen
    - GetTempFileNameA
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE *\nrd_file_mkstemp(const char *prefix,\n                const
      char *mode,\n                char *tempfile_path_out,\n                size_t
      tempfile_path_out_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _stat
      Src: /src/librdkafka/src/rd.h:566,1
    - Dst: stat
      Src: /src/librdkafka/src/rd.h:573,1
    - Dst: S_ISDIR
      Src: /src/librdkafka/src/rd.h:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - path
    - is_dir
    argTypes:
    - char*
    - rd_bool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 582
    functionName: rd_file_stat
    functionSourceFile: /src/librdkafka/src/rd.h
    functionUses: 4
    functionsReached:
    - _stat
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_file_stat(const char *path,\n                                                  rd_bool_t
      *is_dir)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:82,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:83,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: ConsumerPair_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    - rd_strdup
    linkageType: ''
    returnType: ConsumerPair_t
    signature: ConsumerPair_t *ConsumerPair_new(const char *src, const char *dst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:93,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:95,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: ConsumerPair_free
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void ConsumerPair_free(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:101,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: ConsumerPair_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ConsumerPair_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_map_str_hash
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:110,1
    - Dst: rd_map_str_hash
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: ConsumerPair_hash
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_map_str_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ConsumerPair_hash(const void *_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: ConsumerGenerationPair_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    linkageType: ''
    returnType: void
    signature: void ConsumerGenerationPair_destroy(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - consumer
    - generation
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: ConsumerGenerationPair_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_malloc
    linkageType: ''
    returnType: ConsumerGenerationPair_t
    signature: 'ConsumerGenerationPair_t *

      ConsumerGenerationPair_new(const char *consumer, int generation)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: ConsumerGenerationPair_cmp_generation
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ConsumerGenerationPair_cmp_generation(const void *_a,\n                                                 const
      void *_b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:186,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: map_cpair_toppar_list_t_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - RD_MAP_INIT
    linkageType: ''
    returnType: map_cpair_toppar_list_t
    signature: map_cpair_toppar_list_t *map_cpair_toppar_list_t_new(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:196,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: map_cpair_toppar_list_t_free
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_DESTROY
    - rd_free
    linkageType: ''
    returnType: void
    signature: void map_cpair_toppar_list_t_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:230,1
    - Dst: rd_kafka_use_rack_aware_assignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:232,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:235,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:239,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:243,1
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:248,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:249,1
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:256,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - topics
    - topic_cnt
    - mdi
    argTypes:
    - rd_kafka_assignor_topic_t**
    - size_t
    - rd_kafka_metadata_internal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 223
    functionDepth: 6
    functionLinenumber: 223
    functionLinenumberEnd: 265
    functionName: rd_kafka_rack_info_new
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_calloc
    - RD_MAP_SET
    - rd_kafka_topic_partition_new
    - RD_LIST_FOREACH
    - rd_kafka_use_rack_aware_assignment
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: rd_kafka_rack_info_t
    signature: "rd_kafka_rack_info_t *\nrd_kafka_rack_info_new(rd_kafka_assignor_topic_t
      **topics,\n                       size_t topic_cnt,\n                       const
      rd_kafka_metadata_internal_t *mdi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:272,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:273,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rkri
    argTypes:
    - rd_kafka_rack_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: rd_kafka_rack_info_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_DESTROY
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_rack_info_destroy(rd_kafka_rack_info_t *rkri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mdpi
    - rack
    argTypes:
    - rd_kafka_metadata_partition_internal_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: rd_kafka_partition_internal_find_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_partition_internal_find_rack(\n    rd_kafka_metadata_partition_internal_t
      *mdpi,\n    const char *rack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:308,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:310,1
    - Dst: rd_kafka_partition_internal_find_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - rkri
    - consumer
    - topic_partition
    argTypes:
    - rd_kafka_rack_info_t*
    - char*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: rd_kafka_racks_mismatch
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_partition_internal_find_rack
    - RD_MAP_GET
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_racks_mismatch(rd_kafka_rack_info_t *rkri,\n                        const
      char *consumer,\n                        const rd_kafka_topic_partition_t *topic_partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:329,1
    - Dst: RD_MAP_INIT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pmov
    - topic_cnt
    argTypes:
    - PartitionMovements_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: PartitionMovements_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_INIT
    linkageType: ''
    returnType: void
    signature: "void PartitionMovements_init(PartitionMovements_t *pmov,\n                                    size_t
      topic_cnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:338,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pmov
    argTypes:
    - PartitionMovements_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: PartitionMovements_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_DESTROY
    linkageType: ''
    returnType: void
    signature: void PartitionMovements_destroy(PartitionMovements_t *pmov)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:351,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:352,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:355,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:357,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:358,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:360,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:363,1
    - Dst: RD_MAP_IS_EMPTY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:364,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pmov
    - toppar
    argTypes:
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 368
    functionName: PartitionMovements_removeMovementRecordOfPartition
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - RD_MAP_IS_EMPTY
    - RD_MAP_DELETE
    - rd_kafka_topic_partition_list_del
    - RD_MAP_GET
    linkageType: ''
    returnType: ConsumerPair_t
    signature: "ConsumerPair_t *PartitionMovements_removeMovementRecordOfPartition(\n
      \   PartitionMovements_t *pmov,\n    const rd_kafka_topic_partition_t *toppar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:377,1
    - Dst: RD_MAP_GET_OR_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:380,1
    - Dst: map_cpair_toppar_list_t_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:381,1
    - Dst: RD_MAP_GET_OR_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:383,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:384,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pmov
    - toppar
    - cpair
    argTypes:
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - ConsumerPair_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 388
    functionName: PartitionMovements_addPartitionMovementRecord
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET_OR_SET
    - map_cpair_toppar_list_t_new
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: "void PartitionMovements_addPartitionMovementRecord(\n    PartitionMovements_t
      *pmov,\n    const rd_kafka_topic_partition_t *toppar,\n    ConsumerPair_t *cpair)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:396,1
    - Dst: PartitionMovements_removeMovementRecordOfPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:401,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:404,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:404,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:406,1
    - Dst: PartitionMovements_addPartitionMovementRecord
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:409,1
    - Dst: ConsumerPair_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:411,1
    - Dst: PartitionMovements_addPartitionMovementRecord
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:415,1
    - Dst: ConsumerPair_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pmov
    - toppar
    - old_consumer
    - new_consumer
    argTypes:
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 418
    functionName: PartitionMovements_movePartition
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - PartitionMovements_addPartitionMovementRecord
    - rd_strcmp
    - PartitionMovements_removeMovementRecordOfPartition
    - RD_MAP_GET
    - ConsumerPair_new
    linkageType: ''
    returnType: void
    signature: "void PartitionMovements_movePartition(PartitionMovements_t *pmov,\n
      \                                const rd_kafka_topic_partition_t *toppar,\n
      \                                const char *old_consumer,\n                                 const
      char *new_consumer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:432,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:435,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:438,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:438,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:444,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pmov
    - toppar
    - oldConsumer
    - newConsumer
    argTypes:
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 451
    functionName: PartitionMovements_getTheActualPartitionToBeMoved
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET
    - rd_strcmp
    - rd_assert
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *\nPartitionMovements_getTheActualPartitionToBeMoved(\n
      \   PartitionMovements_t *pmov,\n    const rd_kafka_topic_partition_t *toppar,\n
      \   const char *oldConsumer,\n    const char *newConsumer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pairs
    argTypes:
    - map_cpair_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: hasCycles
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t hasCycles(map_cpair_toppar_list_t *pairs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:468,1
    - Dst: hasCycles
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:470,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:474,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - rk
    - pmov
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 493
    functionName: PartitionMovements_isSticky
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - hasCycles
    - rd_kafka_log
    - RD_MAP_FOREACH
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t PartitionMovements_isSticky(rd_kafka_t *rk,\n                                             PartitionMovements_t
      *pmov)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 4
    functionsReached:
    - rd_kafka_log
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(cpair, partitions, topicMovementPairs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: sort_by_map_elem_val_toppar_list_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int sort_by_map_elem_val_toppar_list_cnt(const void *_a,\n                                                const
      void *_b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:539,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:540,1
    - Dst: rd_kafka_racks_mismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:544,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:547,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:548,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:551,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:552,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 6
    argNames:
    - partition
    - sortedCurrentSubscriptions
    - currentAssignment
    - consumer2AllPotentialPartitions
    - currentPartitionConsumer
    - rkri
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_list_t*
    - map_str_toppar_list_t*
    - map_str_toppar_list_t*
    - map_toppar_str_t*
    - rd_kafka_rack_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 562
    functionName: maybeAssignPartition
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - RD_MAP_SET
    - rd_kafka_racks_mismatch
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t maybeAssignPartition(const rd_kafka_topic_partition_t *partition,\n
      \                    rd_list_t *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n
      \                    map_str_toppar_list_t *currentAssignment,\n                     map_str_toppar_list_t
      *consumer2AllPotentialPartitions,\n                     map_toppar_str_t *currentPartitionConsumer,\n
      \                    rd_kafka_rack_info_t *rkri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:539,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:540,1
    - Dst: rd_kafka_racks_mismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:544,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:547,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:548,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:551,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:552,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 560
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - rd_list_sort
    - RD_MAP_SET
    - rd_kafka_racks_mismatch
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, sortedCurrentSubscriptions, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:573,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - partition
    - partition2AllPotentialConsumers
    argTypes:
    - rd_kafka_topic_partition_t*
    - map_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 577
    functionName: partitionCanParticipateInReassignment
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET
    - rd_list_cnt
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE partitionCanParticipateInReassignment(\n    const rd_kafka_topic_partition_t
      *partition,\n    map_toppar_list_t *partition2AllPotentialConsumers)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:591,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:594,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:599,1
    - Dst: partitionCanParticipateInReassignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - rk
    - consumer
    - currentAssignment
    - consumer2AllPotentialPartitions
    - partition2AllPotentialConsumers
    argTypes:
    - rd_kafka_t*
    - char*
    - map_str_toppar_list_t*
    - map_str_toppar_list_t*
    - map_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 623
    functionName: consumerCanParticipateInReassignment
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - RD_MAP_GET
    - partitionCanParticipateInReassignment
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE consumerCanParticipateInReassignment(\n    rd_kafka_t *rk,\n
      \   const char *consumer,\n    map_str_toppar_list_t *currentAssignment,\n    map_str_toppar_list_t
      *consumer2AllPotentialPartitions,\n    map_toppar_list_t *partition2AllPotentialConsumers)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:639,1
    - Dst: PartitionMovements_movePartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:641,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:644,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:645,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:648,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:649,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:652,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:653,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:656,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - rk
    - partitionMovements
    - partition
    - newConsumer
    - currentAssignment
    - sortedCurrentSubscriptions
    - currentPartitionConsumer
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - char*
    - map_str_toppar_list_t*
    - rd_list_t*
    - map_toppar_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 664
    functionName: processPartitionMovement
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_sort
    - RD_MAP_SET
    - rd_kafka_topic_partition_copy
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_del
    - RD_MAP_GET
    - PartitionMovements_movePartition
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void processPartitionMovement(\n    rd_kafka_t *rk,\n    PartitionMovements_t
      *partitionMovements,\n    const rd_kafka_topic_partition_t *partition,\n    const
      char *newConsumer,\n    map_str_toppar_list_t *currentAssignment,\n    rd_list_t
      *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n    map_toppar_str_t *currentPartitionConsumer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:679,1
    - Dst: PartitionMovements_getTheActualPartitionToBeMoved
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:684,1
    - Dst: processPartitionMovement
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - rk
    - partitionMovements
    - partition
    - currentAssignment
    - sortedCurrentSubscriptions
    - currentPartitionConsumer
    - newConsumer
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - map_str_toppar_list_t*
    - rd_list_t*
    - map_toppar_str_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 670
    functionDepth: 5
    functionLinenumber: 670
    functionLinenumberEnd: 691
    functionName: reassignPartitionToConsumer
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - PartitionMovements_getTheActualPartitionToBeMoved
    - processPartitionMovement
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: "void reassignPartitionToConsumer(\n    rd_kafka_t *rk,\n    PartitionMovements_t
      *partitionMovements,\n    const rd_kafka_topic_partition_t *partition,\n    map_str_toppar_list_t
      *currentAssignment,\n    rd_list_t *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n
      \   map_toppar_str_t *currentPartitionConsumer,\n    const char *newConsumer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:712,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:713,1
    - Dst: reassignPartitionToConsumer
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:716,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - rk
    - partitionMovements
    - partition
    - currentAssignment
    - sortedCurrentSubscriptions
    - currentPartitionConsumer
    - consumer2AllPotentialPartitions
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    - rd_kafka_topic_partition_t*
    - map_str_toppar_list_t*
    - rd_list_t*
    - map_toppar_str_t*
    - map_str_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 696
    functionDepth: 6
    functionLinenumber: 696
    functionLinenumberEnd: 726
    functionName: reassignPartition
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET
    - reassignPartitionToConsumer
    - rd_kafka_topic_partition_list_find
    - rd_assert
    linkageType: ''
    returnType: void
    signature: "void reassignPartition(rd_kafka_t *rk,\n                  PartitionMovements_t
      *partitionMovements,\n                  const rd_kafka_topic_partition_t *partition,\n
      \                 map_str_toppar_list_t *currentAssignment,\n                  rd_list_t
      *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n                  map_toppar_str_t
      *currentPartitionConsumer,\n                  map_str_toppar_list_t *consumer2AllPotentialPartitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:712,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:713,1
    - Dst: reassignPartitionToConsumer
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 709
    functionDepth: 6
    functionLinenumber: 709
    functionLinenumberEnd: 723
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - RD_MAP_GET
    - reassignPartitionToConsumer
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, sortedCurrentSubscriptions, i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_first
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:758,1
    - Dst: rd_list_last
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:763,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:777,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:786,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:787,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:799,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:800,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:809,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:831,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:846,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:851,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:853,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:857,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:867,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:873,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - rk
    - currentAssignment
    - sortedCurrentSubscriptions
    - consumer2AllPotentialPartitions
    - partition2AllPotentialConsumers
    argTypes:
    - rd_kafka_t*
    - map_str_toppar_list_t*
    - rd_list_t*
    - map_str_toppar_list_t*
    - map_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 875
    functionName: isBalanced
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - RD_MAP_CNT
    - RD_MAP_SET
    - RD_MAP_GET
    - rd_kafka_topic_partition_list_find
    - rd_list_first
    - RD_MAP_DESTROY
    - rd_list_last
    - RD_MAP_INITIALIZER
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t isBalanced(rd_kafka_t *rk,\n           map_str_toppar_list_t
      *currentAssignment,\n           const rd_list_t *sortedCurrentSubscriptions
      /*rd_map_elem_t*/,\n           map_str_toppar_list_t *consumer2AllPotentialPartitions,\n
      \          map_toppar_list_t *partition2AllPotentialConsumers)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:799,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:800,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 811
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 4
    functionsReached:
    - rd_kafka_log
    - RD_MAP_GET
    - RD_MAP_SET
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(consumer, partitions, currentAssignment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:831,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:846,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:851,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:853,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:857,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:867,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 871
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - rd_kafka_topic_partition_list_find
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, sortedCurrentSubscriptions, i)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:912,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:919,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:930,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:931,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:940,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:941,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:944,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:945,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:949,1
    - Dst: reassignPartitionToConsumer
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:952,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:967,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:969,1
    - Dst: rd_kafka_partition_internal_find_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:976,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:983,1
    - Dst: rd_kafka_partition_internal_find_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:988,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:993,1
    - Dst: reassignPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:999,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1022,1
    - Dst: reassignPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1027,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1045,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 10
    argNames:
    - rk
    - partitionMovements
    - reassignablePartitions
    - currentAssignment
    - prevAssignment
    - sortedCurrentSubscriptions
    - consumer2AllPotentialPartitions
    - partition2AllPotentialConsumers
    - currentPartitionConsumer
    - rkri
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    - rd_kafka_topic_partition_list_t*
    - map_str_toppar_list_t*
    - map_toppar_cgpair_t*
    - rd_list_t*
    - map_str_toppar_list_t*
    - map_toppar_list_t*
    - map_toppar_str_t*
    - rd_kafka_rack_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 883
    functionDepth: 7
    functionLinenumber: 883
    functionLinenumberEnd: 1053
    functionName: performReassignments
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_partition_internal_find_rack
    - rd_assert
    - isBalanced
    - rd_list_cnt
    - reassignPartitionToConsumer
    - reassignPartition
    - RD_MAP_GET
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t performReassignments(rd_kafka_t *rk,\n                     PartitionMovements_t
      *partitionMovements,\n                     rd_kafka_topic_partition_list_t *reassignablePartitions,\n
      \                    map_str_toppar_list_t *currentAssignment,\n                     map_toppar_cgpair_t
      *prevAssignment,\n                     rd_list_t *sortedCurrentSubscriptions
      /*rd_map_elem_t*/,\n                     map_str_toppar_list_t *consumer2AllPotentialPartitions,\n
      \                    map_toppar_list_t *partition2AllPotentialConsumers,\n                     map_toppar_str_t
      *currentPartitionConsumer,\n                     rd_kafka_rack_info_t *rkri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:983,1
    - Dst: rd_kafka_partition_internal_find_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:988,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:993,1
    - Dst: reassignPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 978
    functionDepth: 7
    functionLinenumber: 978
    functionLinenumberEnd: 1010
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - rd_kafka_partition_internal_find_rack
    - RD_MAP_GET
    - reassignPartition
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(otherConsumer, consumers, j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1022,1
    - Dst: reassignPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1017
    functionDepth: 7
    functionLinenumber: 1017
    functionLinenumberEnd: 1037
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - RD_MAP_GET
    - reassignPartition
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(otherConsumer, consumers, j)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1075,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1078,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1078,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1080,1
    - Dst: abs
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1085,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - assignment
    argTypes:
    - map_str_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1093
    functionName: getBalanceScore
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_free
    - RD_MAP_CNT
    - abs
    - RD_MAP_FOREACH
    - rd_malloc
    linkageType: ''
    returnType: int
    signature: int getBalanceScore(map_str_toppar_list_t *assignment)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1112,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1112,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1114,1
    - Dst: maybeAssignPartition
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1118,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 8
    argNames:
    - unassignedPartitions
    - partition2AllPotentialConsumers
    - sortedCurrentSubscriptions
    - currentAssignment
    - consumer2AllPotentialPartitions
    - currentPartitionConsumer
    - removeAssigned
    - rkri
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - map_toppar_list_t*
    - rd_list_t*
    - map_str_toppar_list_t*
    - map_str_toppar_list_t*
    - map_toppar_str_t*
    - rd_bool_t
    - rd_kafka_rack_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1095
    functionDepth: 3
    functionLinenumber: 1095
    functionLinenumberEnd: 1131
    functionName: maybeAssign
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_empty
    - maybeAssignPartition
    - rd_dassert
    - RD_MAP_GET
    - rd_kafka_topic_partition_list_del_by_idx
    linkageType: ''
    returnType: void
    signature: "void maybeAssign(rd_kafka_topic_partition_list_t *unassignedPartitions,\n
      \                       map_toppar_list_t *partition2AllPotentialConsumers,\n
      \                       rd_list_t *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n
      \                       map_str_toppar_list_t *currentAssignment,\n                        map_str_toppar_list_t
      *consumer2AllPotentialPartitions,\n                        map_toppar_str_t
      *currentPartitionConsumer,\n                        rd_bool_t removeAssigned,\n
      \                       rd_kafka_rack_info_t *rkri)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_last
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1155,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1162,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1162,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1170,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1171,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1174,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1175,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1191,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1198,1
    - Dst: maybeAssign
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1199,1
    - Dst: maybeAssign
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1205,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1211,1
    - Dst: partitionCanParticipateInReassignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1218,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1222,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1224,1
    - Dst: consumerCanParticipateInReassignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1239,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1245,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1249,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1250,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1251,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1253,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1257,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1262,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1266,1
    - Dst: RD_MAP_COPY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1270,1
    - Dst: RD_MAP_COPY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1273,1
    - Dst: performReassignments
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1282,1
    - Dst: performReassignments
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1289,1
    - Dst: getBalanceScore
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1300,1
    - Dst: getBalanceScore
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1301,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1303,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1309,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1310,1
    - Dst: RD_MAP_COPY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1312,1
    - Dst: RD_MAP_CLEAR
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1317,1
    - Dst: RD_MAP_COPY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1318,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1324,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1325,1
    - Dst: RD_MAP_IS_EMPTY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1328,1
    - Dst: RD_MAP_FOREACH_ELEM
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1331,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1336,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1338,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1342,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1346,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 12
    argNames:
    - rk
    - partitionMovements
    - currentAssignment
    - prevAssignment
    - sortedPartitions
    - unassignedPartitions
    - sortedCurrentSubscriptions
    - consumer2AllPotentialPartitions
    - partition2AllPotentialConsumers
    - currentPartitionConsumer
    - revocationRequired
    - rkri
    argTypes:
    - rd_kafka_t*
    - PartitionMovements_t*
    - map_str_toppar_list_t*
    - map_toppar_cgpair_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    - map_str_toppar_list_t*
    - map_toppar_list_t*
    - map_toppar_str_t*
    - rd_bool_t
    - rd_kafka_rack_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1136
    functionDepth: 8
    functionLinenumber: 1136
    functionLinenumberEnd: 1347
    functionName: balance
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 18
    functionsReached:
    - RD_MAP_IS_EMPTY
    - RD_MAP_CNT
    - performReassignments
    - rd_kafka_topic_partition_list_del
    - getBalanceScore
    - rd_kafka_topic_partition_list_copy
    - RD_MAP_SET
    - RD_MAP_DESTROY
    - RD_MAP_COPY
    - consumerCanParticipateInReassignment
    - rd_kafka_topic_partition_list_destroy
    - RD_MAP_DELETE
    - RD_MAP_CLEAR
    - RD_MAP_GET
    - rd_list_last
    - RD_MAP_INITIALIZER
    - maybeAssign
    - rd_list_sort
    - rd_list_add
    - partitionCanParticipateInReassignment
    - RD_MAP_FOREACH_ELEM
    - rd_list_remove_elem
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void balance(rd_kafka_t *rk,\n                    PartitionMovements_t
      *partitionMovements,\n                    map_str_toppar_list_t *currentAssignment,\n
      \                   map_toppar_cgpair_t *prevAssignment,\n                    rd_kafka_topic_partition_list_t
      *sortedPartitions,\n                    rd_kafka_topic_partition_list_t *unassignedPartitions,\n
      \                   rd_list_t *sortedCurrentSubscriptions /*rd_map_elem_t*/,\n
      \                   map_str_toppar_list_t *consumer2AllPotentialPartitions,\n
      \                   map_toppar_list_t *partition2AllPotentialConsumers,\n                    map_toppar_str_t
      *currentPartitionConsumer,\n                    rd_bool_t revocationRequired,\n
      \                   rd_kafka_rack_info_t *rkri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitionCanParticipateInReassignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1218,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1222,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1217
    functionDepth: 2
    functionLinenumber: 1217
    functionLinenumberEnd: 1227
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 5
    functionsReached:
    - rd_kafka_topic_partition_list_del
    - partitionCanParticipateInReassignment
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(partition, ignore, partition2AllPotentialConsumers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: consumerCanParticipateInReassignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1239,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1245,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1249,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1250,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1251,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1235
    functionDepth: 3
    functionLinenumber: 1235
    functionLinenumberEnd: 1254
    functionName: RD_LIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 52
    functionsReached:
    - RD_MAP_SET
    - consumerCanParticipateInReassignment
    - rd_list_remove_elem
    - RD_MAP_DELETE
    - RD_MAP_GET
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: void RD_LIST_FOREACH(elem, sortedCurrentSubscriptions, i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_LOCAL_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1374,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1392,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1395,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1396,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1398,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1400,1
    - Dst: RD_MAP_GET_OR_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1409,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1411,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1413,1
    - Dst: ConsumerGenerationPair_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1414,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1418,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1419,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1427,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1436,1
    - Dst: rd_list_find_duplicate
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1441,1
    - Dst: rd_list_index
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1444,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1447,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1450,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1454,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1456,1
    - Dst: rd_list_last
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1469,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1470,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1471,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1476,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1478,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1478,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1479,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1481,1
    - Dst: ConsumerGenerationPair_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1482,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1486,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 9
    argNames:
    - rk
    - members
    - member_cnt
    - subscriptions
    - currentAssignment
    - prevAssignment
    - currentPartitionConsumer
    - consumer2AllPotentialPartitions
    - estimated_partition_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_group_member_t*
    - size_t
    - map_str_toppar_list_t*
    - map_str_toppar_list_t*
    - map_toppar_cgpair_t*
    - map_toppar_str_t*
    - map_str_toppar_list_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1355
    functionDepth: 4
    functionLinenumber: 1355
    functionLinenumberEnd: 1487
    functionName: prepopulateCurrentAssignments
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET_OR_SET
    - RD_MAP_LOCAL_INITIALIZER
    - ConsumerGenerationPair_new
    - rd_kafka_topic_partition_list_add
    - RD_MAP_SET
    - RD_MAP_DESTROY
    - rd_kafka_topic_partition_list_new
    - RD_MAP_FOREACH
    - RD_MAP_DELETE
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    - rd_list_last
    - rd_kafka_log
    - rd_list_sort
    - rd_list_add
    - rd_list_cnt
    - rd_list_new
    - rd_list_find_duplicate
    - rd_list_elem
    - rd_list_index
    linkageType: ''
    returnType: void
    signature: "void prepopulateCurrentAssignments(\n    rd_kafka_t *rk,\n    rd_kafka_group_member_t
      *members,\n    size_t member_cnt,\n    map_str_toppar_list_t *subscriptions,\n
      \   map_str_toppar_list_t *currentAssignment,\n    map_toppar_cgpair_t *prevAssignment,\n
      \   map_toppar_str_t *currentPartitionConsumer,\n    map_str_toppar_list_t *consumer2AllPotentialPartitions,\n
      \   size_t estimated_partition_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1509,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1512,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1515,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1522,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1528,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1530,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1531,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1533,1
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1535,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - atopic
    - partition2AllPotentialConsumers
    - consumer2AllPotentialPartitions
    - estimated_partition_cnt
    argTypes:
    - rd_kafka_assignor_topic_t*
    - map_toppar_list_t*
    - map_str_toppar_list_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1493
    functionDepth: 4
    functionLinenumber: 1493
    functionLinenumberEnd: 1541
    functionName: populatePotentialMaps
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - RD_MAX
    - rd_list_add
    - rd_list_new
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_add
    - RD_LIST_FOREACH
    - rd_kafka_topic_partition_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: "void populatePotentialMaps(const rd_kafka_assignor_topic_t *atopic,\n
      \                     map_toppar_list_t *partition2AllPotentialConsumers,\n
      \                     map_str_toppar_list_t *consumer2AllPotentialPartitions,\n
      \                     size_t estimated_partition_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1561,1
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - partition2AllPotentialConsumers
    - consumer2AllPotentialPartitions
    argTypes:
    - map_toppar_list_t*
    - map_str_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1577
    functionName: areSubscriptionsIdentical
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_cmp
    - rd_list_cmp
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t areSubscriptionsIdentical(\n    map_toppar_list_t *partition2AllPotentialConsumers,\n
      \   map_str_toppar_list_t *consumer2AllPotentialPartitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1561,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1560
    functionDepth: 2
    functionLinenumber: 1560
    functionLinenumberEnd: 1564
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 6
    functionsReached:
    - rd_list_cmp
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(ignore, lcurr, partition2AllPotentialConsumers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_cmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1566
    functionDepth: 1
    functionLinenumber: 1566
    functionLinenumberEnd: 1571
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 6
    functionsReached:
    - rd_kafka_topic_partition_list_cmp
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(ignore, pcurr, consumer2AllPotentialPartitions)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1590,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1590,1
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _a
    - _b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1594
    functionName: toppar_sort_by_list_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_list_cnt
    - rd_kafka_topic_partition_cmp
    linkageType: ''
    returnType: int
    signature: int toppar_sort_by_list_cnt(const void *_a, const void *_b, void *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1613,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1614,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1626,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1627,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1630,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1632,1
    - Dst: areSubscriptionsIdentical
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1636,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1642,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1648,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1651,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1665,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1665,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1672,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1675,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1682,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1684,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1690,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1691,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1693,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1697,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1703,1
    - Dst: rd_list_last
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1705,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1709,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1713,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1714,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1721,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1722,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1733,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1737,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1741,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1749,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1753,1
    - Dst: rd_list_remove_elem
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1756,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1757,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1762,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1769,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1777,1
    - Dst: rd_kafka_topic_partition_list_upsert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1778,1
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1786,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1789,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1790,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 6
    argNames:
    - rk
    - currentAssignment
    - prevAssignment
    - isFreshAssignment
    - partition2AllPotentialConsumers
    - consumer2AllPotentialPartitions
    argTypes:
    - rd_kafka_t*
    - map_str_toppar_list_t*
    - map_toppar_cgpair_t*
    - rd_bool_t
    - map_toppar_list_t*
    - map_str_toppar_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1793
    functionName: sortPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_CNT
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_del
    - rd_kafka_topic_partition_list_del_by_idx
    - rd_list_destroy
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_upsert
    - RD_MAP_DESTROY
    - rd_list_init
    - areSubscriptionsIdentical
    - rd_kafka_topic_partition_list_new
    - RD_MAP_FOREACH
    - rd_kafka_topic_partition_list_destroy
    - rd_list_last
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    - rd_list_sort
    - rd_list_add
    - rd_list_cnt
    - rd_kafka_dbg
    - rd_kafka_topic_partition_list_sort
    - rd_list_remove_elem
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nsortPartitions(rd_kafka_t *rk,\n
      \              map_str_toppar_list_t *currentAssignment,\n               map_toppar_cgpair_t
      *prevAssignment,\n               rd_bool_t isFreshAssignment,\n               map_toppar_list_t
      *partition2AllPotentialConsumers,\n               map_str_toppar_list_t *consumer2AllPotentialPartitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1646
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 7
    functionsReached:
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: "void RD_MAP_FOREACH(partition, consumers,\n                               partition2AllPotentialConsumers)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1672,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1675,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1682,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1684,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1690,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1691,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1668
    functionDepth: 3
    functionLinenumber: 1668
    functionLinenumberEnd: 1694
    functionName: RD_MAP_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 7
    functionsReached:
    - rd_list_add
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_sort
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: void RD_MAP_FOREACH(consumer, partitions, currentAssignment)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1807,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1809,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - currentAssignment
    - members
    - member_cnt
    argTypes:
    - map_str_toppar_list_t*
    - rd_kafka_group_member_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1799
    functionDepth: 1
    functionLinenumber: 1799
    functionLinenumberEnd: 1814
    functionName: assignToMembers
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_GET
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void assignToMembers(map_str_toppar_list_t *currentAssignment,\n                            rd_kafka_group_member_t
      *members,\n                            size_t member_cnt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1837,1
    - Dst: rd_kafka_rack_info_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1840,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1844,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1850,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1856,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1870,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1878,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1884,1
    - Dst: PartitionMovements_init
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1902,1
    - Dst: prepopulateCurrentAssignments
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1905,1
    - Dst: RD_MAP_IS_EMPTY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1910,1
    - Dst: populatePotentialMaps
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1915,1
    - Dst: sortPartitions
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1921,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1929,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1932,1
    - Dst: RD_MAP_FOREACH
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1935,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1936,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1942,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1951,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1957,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1967,1
    - Dst: RD_MAP_DELETE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1974,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1977,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1978,1
    - Dst: rd_kafka_racks_mismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:1982,1
    - Dst: rd_kafka_topic_partition_list_del
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2001,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2008,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2029,1
    - Dst: RD_MAP_CNT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2030,1
    - Dst: RD_MAP_FOREACH_ELEM
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2032,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2033,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2035,1
    - Dst: balance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2039,1
    - Dst: assignToMembers
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2047,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2050,1
    - Dst: PartitionMovements_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2052,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2054,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2055,1
    - Dst: rd_kafka_rack_info_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2056,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2058,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2059,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2060,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2061,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2062,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2063,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 11
    argNames:
    - rk
    - rkas
    - member_id
    - metadata
    - members
    - member_cnt
    - eligible_topics
    - eligible_topic_cnt
    - errstr
    - errstr_size
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - char*
    - rd_kafka_metadata_t*
    - rd_kafka_group_member_t*
    - size_t
    - rd_kafka_assignor_topic_t**
    - size_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 1822
    functionDepth: 9
    functionLinenumber: 1822
    functionLinenumberEnd: 2066
    functionName: rd_kafka_sticky_assignor_assign_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_MAP_IS_EMPTY
    - RD_MAP_CNT
    - rd_kafka_rack_info_destroy
    - rd_kafka_topic_partition_list_del
    - prepopulateCurrentAssignments
    - rd_kafka_topic_partition_list_copy
    - rd_kafka_topic_partition_list_del_by_idx
    - rd_list_destroy
    - rd_kafka_racks_mismatch
    - rd_list_init
    - RD_MAP_DESTROY
    - balance
    - sortPartitions
    - rd_kafka_rack_info_new
    - RD_MAP_FOREACH
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - RD_MAP_DELETE
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    - rd_list_sort
    - rd_list_add
    - PartitionMovements_init
    - PartitionMovements_destroy
    - RD_MAP_FOREACH_ELEM
    - populatePotentialMaps
    - assignToMembers
    - rd_kafka_metadata_get_internal
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_sticky_assignor_assign_cb(rd_kafka_t
      *rk,\n                                   const rd_kafka_assignor_t *rkas,\n
      \                                  const char *member_id,\n                                   const
      rd_kafka_metadata_t *metadata,\n                                   rd_kafka_group_member_t
      *members,\n                                   size_t member_cnt,\n                                   rd_kafka_assignor_topic_t
      **eligible_topics,\n                                   size_t eligible_topic_cnt,\n
      \                                  char *errstr,\n                                   size_t
      errstr_size,\n                                   void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2081,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2083,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - rkas
    - assignor_state
    - partitions
    - assignment_userdata
    - rkcgm
    argTypes:
    - rd_kafka_assignor_t*
    - void**
    - rd_kafka_topic_partition_list_t*
    - rd_kafkap_bytes_t*
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2071
    functionDepth: 1
    functionLinenumber: 2071
    functionLinenumberEnd: 2089
    functionName: rd_kafka_sticky_assignor_on_assignment_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_calloc
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_sticky_assignor_on_assignment_cb(\n    const rd_kafka_assignor_t
      *rkas,\n    void **assignor_state,\n    const rd_kafka_topic_partition_list_t
      *partitions,\n    const rd_kafkap_bytes_t *assignment_userdata,\n    const rd_kafka_consumer_group_metadata_t
      *rkcgm)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_protocol_member_metadata_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2117,1
    - Dst: rd_kafka_buf_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2124,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2125,1
    - Dst: rd_kafka_buf_write_topic_partitions
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2129,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2133,1
    - Dst: rd_slice_init_full
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2136,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2137,1
    - Dst: rd_kafkap_bytes_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2138,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2139,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2140,1
    - Dst: rd_kafka_consumer_protocol_member_metadata_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2142,1
    - Dst: rd_kafkap_bytes_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - rkas
    - assignor_state
    - topics
    - owned_partitions
    - rack_id
    argTypes:
    - rd_kafka_assignor_t*
    - void*
    - rd_list_t*
    - rd_kafka_topic_partition_list_t*
    - rd_kafkap_str_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2092
    functionDepth: 8
    functionLinenumber: 2092
    functionLinenumberEnd: 2149
    functionName: rd_kafka_sticky_assignor_get_metadata
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_slice_init_full
    - rd_assert
    - rd_slice_remains
    - rd_kafka_buf_destroy
    - rd_kafka_buf_write_topic_partitions
    - rd_kafka_consumer_protocol_member_metadata_new
    - rd_kafka_buf_write_i32
    - rd_kafkap_bytes_destroy
    - rd_kafkap_bytes_new
    - rd_kafka_buf_new
    - rd_slice_read
    linkageType: ''
    returnType: rd_kafkap_bytes_t
    signature: "rd_kafkap_bytes_t *rd_kafka_sticky_assignor_get_metadata(\n    const
      rd_kafka_assignor_t *rkas,\n    void *assignor_state,\n    const rd_list_t *topics,\n
      \   const rd_kafka_topic_partition_list_t *owned_partitions,\n    const rd_kafkap_str_t
      *rack_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2159,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2161,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - assignor_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2163
    functionName: rd_kafka_sticky_assignor_state_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_sticky_assignor_state_destroy(void *assignor_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - parametrization
    argTypes:
    - int
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2187
    functionDepth: 1
    functionLinenumber: 2187
    functionLinenumberEnd: 2195
    functionName: ut_get_consumer_rack
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - RD_ARRAYSIZE
    linkageType: ''
    returnType: rd_kafkap_str_t
    signature: "rd_kafkap_str_t *\nut_get_consumer_rack(int idx,\n                     rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2208,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2209,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2211,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2213,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2214,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2215,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - rkgm
    - generation
    - partition_cnt
    argTypes:
    - rd_kafka_group_member_t*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2199
    functionDepth: 1
    functionLinenumber: 2199
    functionLinenumberEnd: 2221
    functionName: ut_populate_member_owned_partitions_generation
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - va_end
    - va_arg
    linkageType: ''
    returnType: void
    signature: "void ut_populate_member_owned_partitions_generation(rd_kafka_group_member_t
      *rkgm,\n                                               int generation,\n                                               size_t
      partition_cnt,\n                                               ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2230,1
    - Dst: va_start
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2232,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2235,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2236,1
    - Dst: va_arg
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2237,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2238,1
    - Dst: va_end
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2245
    functionName: ut_create_topic_partition_lists
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - va_start
    - rd_calloc
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - va_end
    - va_arg
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t **

      ut_create_topic_partition_lists(size_t list_cnt, ...)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2257,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2261,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2262,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2265,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2266,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2269,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2270,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2272,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2274,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2275,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2275,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2276,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2276,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2278,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2279,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2247
    functionDepth: 9
    functionLinenumber: 2247
    functionLinenumberEnd: 2282
    functionName: ut_testOneConsumerNoTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerNoTopic(rd_kafka_t *rk,\n                          const
      rd_kafka_assignor_t *rkas,\n                          rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2295,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2298,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2299,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2302,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2303,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2306,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2307,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2309,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2311,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2312,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2312,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2313,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2313,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2315,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2316,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2285
    functionDepth: 9
    functionLinenumber: 2285
    functionLinenumberEnd: 2319
    functionName: ut_testOneConsumerNonexistentTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerNonexistentTopic(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2332,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2333,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2336,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2337,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2340,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2341,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2343,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2345,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2349,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2351,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2351,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2352,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2352,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2354,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2355,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2358
      start: 2323
    functionDepth: 9
    functionLinenumber: 2323
    functionLinenumberEnd: 2358
    functionName: ut_testOneConsumerOneTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerOneTopic(rd_kafka_t *rk,\n                           const
      rd_kafka_assignor_t *rkas,\n                           rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2370,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2371,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2374,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2375,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2378,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2379,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2381,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2383,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2386,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2386,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2387,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2387,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2389,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2390,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2361
    functionDepth: 9
    functionLinenumber: 2361
    functionLinenumberEnd: 2393
    functionName: ut_testOnlyAssignsPartitionsFromSubscribedTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOnlyAssignsPartitionsFromSubscribedTopics(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2405,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2406,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2409,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2410,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2413,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2414,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2416,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2418,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2421,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2421,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2422,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2422,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2424,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2425,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2396
    functionDepth: 9
    functionLinenumber: 2396
    functionLinenumberEnd: 2428
    functionName: ut_testOneConsumerMultipleTopics
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOneConsumerMultipleTopics(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2440,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2441,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2443,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2444,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2446,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2447,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2450,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2451,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2453,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2455,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2456,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2458,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2458,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2459,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2459,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2461,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2462,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2463,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2430
    functionDepth: 9
    functionLinenumber: 2430
    functionLinenumberEnd: 2466
    functionName: ut_testTwoConsumersOneTopicOnePartition
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersOneTopicOnePartition(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2478,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2479,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2481,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2482,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2484,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2485,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2489,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2490,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2492,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2494,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2495,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2497,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2497,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2498,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2498,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2500,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2501,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2502,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2469
    functionDepth: 9
    functionLinenumber: 2469
    functionLinenumberEnd: 2505
    functionName: ut_testTwoConsumersOneTopicTwoPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersOneTopicTwoPartitions(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2518,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2519,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2522,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2523,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2525,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2526,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2528,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2529,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2532,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2533,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2535,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2537,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2538,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2539,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2541,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2541,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2542,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2542,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2544,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2545,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2546,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2547,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2508
    functionDepth: 9
    functionLinenumber: 2508
    functionLinenumberEnd: 2550
    functionName: ut_testMultipleConsumersMixedTopicSubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testMultipleConsumersMixedTopicSubscriptions(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2562,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2563,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2566,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2567,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2569,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2570,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2573,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2574,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2576,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2578,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2580,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2583,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2583,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2584,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2584,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2586,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2587,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2588,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2553
    functionDepth: 9
    functionLinenumber: 2553
    functionLinenumberEnd: 2591
    functionName: ut_testTwoConsumersTwoTopicsSixPartitions
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testTwoConsumersTwoTopicsSixPartitions(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2603,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2604,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2607,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2608,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2612,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2614,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2616,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2619,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2620,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2623,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2624,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2627,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2628,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2630,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2632,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2633,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2635,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2635,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2636,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2636,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2641,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2643,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2645,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2648,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2649,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2652,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2653,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2654,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2594
    functionDepth: 9
    functionLinenumber: 2594
    functionLinenumberEnd: 2657
    functionName: ut_testAddRemoveConsumerOneTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testAddRemoveConsumerOneTopic(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2689,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2690,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2695,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2696,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2699,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2700,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2702,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2703,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2705,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2706,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2710,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2711,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2713,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2715,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2716,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2717,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2718,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2720,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2720,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2721,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2721,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2723,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2724,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2725,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2726,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2727,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2680
    functionDepth: 9
    functionLinenumber: 2680
    functionLinenumberEnd: 2730
    functionName: ut_testPoorRoundRobinAssignmentScenario
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testPoorRoundRobinAssignmentScenario(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2743,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2744,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2747,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2748,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2750,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2751,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2754,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2755,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2757,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2759,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2760,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2762,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2762,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2763,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2763,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2768,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2769,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2771,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2772,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2775,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2776,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2778,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2780,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2782,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2785,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2785,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2786,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2786,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2793,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2794,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2796,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2797,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2800,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2801,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2803,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2805,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2806,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2808,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2808,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2809,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2809,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2812,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2813,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2814,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2734
    functionDepth: 9
    functionLinenumber: 2734
    functionLinenumberEnd: 2817
    functionName: ut_testAddRemoveTopicTwoConsumers
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - RD_UT_SAY
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testAddRemoveTopicTwoConsumers(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2828,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2830,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2835,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2836,1
    - Dst: ut_initMetadataConditionalRack0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2840,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2841,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2847,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2851,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2852,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2855,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2857,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2859,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2862,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2867,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2869,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2871,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2877,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2878,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2882,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2884,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2886,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2890,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2891,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2820
    functionDepth: 9
    functionLinenumber: 2820
    functionLinenumberEnd: 2894
    functionName: ut_testReassignmentAfterOneConsumerLeaves
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_strdupa
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - memmove
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_get_consumer_rack
    - ut_initMetadataConditionalRack0
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testReassignmentAfterOneConsumerLeaves(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2905,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2908,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2909,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2915,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2916,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2918,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2919,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2921,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2923,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2929,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2931,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2933,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2941,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2943,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2945,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2949,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2950,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2952,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2897
    functionDepth: 9
    functionLinenumber: 2897
    functionLinenumberEnd: 2953
    functionName: ut_testReassignmentAfterOneConsumerAdded
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - rd_snprintf
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_get_consumer_rack
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testReassignmentAfterOneConsumerAdded(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2964,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2966,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2968,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2973,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2974,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2976,1
    - Dst: ut_initMetadataConditionalRack0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2980,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2981,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2986,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2987,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2989,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2991,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2994,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2997,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:2999,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3001,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3006,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3007,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3010,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3012,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3014,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3018,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3019,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3020,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2956
    functionDepth: 9
    functionLinenumber: 2956
    functionLinenumberEnd: 3023
    functionName: ut_testSameSubscriptions
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_strdupa
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - memmove
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_get_consumer_rack
    - ut_initMetadataConditionalRack0
    - ut_initMemberConditionalRack
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: int
    signature: "int ut_testSameSubscriptions(rd_kafka_t *rk,\n                         const
      rd_kafka_assignor_t *rkas,\n                         rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SKIP
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3031,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3038,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3040,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3045,1
    - Dst: rd_strdupa
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3046,1
    - Dst: ut_initMetadataConditionalRack0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3050,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3051,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3058,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3064,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3068,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3069,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3070,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3073,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3078,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3080,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3082,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3088,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3089,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3094,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3096,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3098,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3102,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3103,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3026
    functionDepth: 9
    functionLinenumber: 3026
    functionLinenumberEnd: 3106
    functionName: ut_testLargeAssignmentWithMultipleConsumersLeaving
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_snprintf
    - rd_strdupa
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - memmove
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_get_consumer_rack
    - ut_initMetadataConditionalRack0
    - RD_UT_SKIP
    - ut_initMemberConditionalRack
    linkageType: ''
    returnType: int
    signature: "int ut_testLargeAssignmentWithMultipleConsumersLeaving(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3117,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3120,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3121,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3129,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3130,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3131,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3134,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3137,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3140,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3145,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3146,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3148,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3150,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3150,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3151,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3151,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3156,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3157,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3160,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3161,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3163,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3165,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3165,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3166,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3166,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3170,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3171,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3174
      start: 3109
    functionDepth: 9
    functionLinenumber: 3109
    functionLinenumberEnd: 3174
    functionName: ut_testNewSubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - rd_snprintf
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - RD_UT_SAY
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testNewSubscription(rd_kafka_t *rk,\n                       const
      rd_kafka_assignor_t *rkas,\n                       rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3185,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3190,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3191,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3194,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3195,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3197,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3198,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3200,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3201,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3203,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3204,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3207,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3209,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3211,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3215,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3220,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3228,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3230,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3232,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3237,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3242,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3248,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3258,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3262,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3264,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3266,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3269
      start: 3177
    functionDepth: 9
    functionLinenumber: 3177
    functionLinenumberEnd: 3269
    functionName: ut_testMoveExistingAssignments
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - RD_UT_WARN
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: int
    signature: "int ut_testMoveExistingAssignments(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3285,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3289,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3290,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3294,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3295,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3297,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3300,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3301,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3303,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3306,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3307,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3310,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3314,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3316,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3318,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3321,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3323,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3325,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3277
    functionDepth: 9
    functionLinenumber: 3277
    functionLinenumberEnd: 3328
    functionName: ut_testMoveExistingAssignments_j
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testMoveExistingAssignments_j(\n    rd_kafka_t *rk,\n    const
      rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3339,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3342,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3343,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3347,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3348,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3350,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3351,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3352,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3355,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3356,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3358,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3359,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3360,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3362,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3365,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3366,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3368,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3369,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3370,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3372,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3374,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3378,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3380,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3382,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3382,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3385,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3386,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3331
    functionDepth: 9
    functionLinenumber: 3331
    functionLinenumberEnd: 3389
    functionName: ut_testStickiness
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - RD_UT_ASSERT
    - rd_kafka_topic_partition_list_add
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testStickiness(rd_kafka_t *rk,\n                  const rd_kafka_assignor_t
      *rkas,\n                  rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3405,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3410,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3411,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3414,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3415,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3417,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3418,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3420,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3421,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3423,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3424,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3427,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3429,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3431,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3435,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3440,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3452,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3454,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3456,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3461,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3466,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3472,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3482,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3486,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3488,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3490,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3397
    functionDepth: 9
    functionLinenumber: 3397
    functionLinenumberEnd: 3493
    functionName: ut_testStickiness_j
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - RD_UT_WARN
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: int
    signature: "int ut_testStickiness_j(rd_kafka_t *rk,\n                    const
      rd_kafka_assignor_t *rkas,\n                    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3507,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3510,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3511,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3514,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3515,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3517,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3518,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3520,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3521,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3525,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3527,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3529,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3530,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3531,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3535,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3537,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3539,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3540,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3541,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3543,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3549,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3551,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3553,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3554,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3555,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3556,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3557,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3561,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3563,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3565,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3566,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3567,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3569,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3573,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3575,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3577,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3578,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3579,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3583,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3584,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3587
      start: 3499
    functionDepth: 9
    functionLinenumber: 3499
    functionLinenumberEnd: 3587
    functionName: ut_testStickiness2
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - verifyAssignment
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testStickiness2(rd_kafka_t *rk,\n                   const rd_kafka_assignor_t
      *rkas,\n                   rd_kafka_assignor_ut_rack_config_t parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3599,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3600,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3603,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3604,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3607,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3608,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3610,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3612,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3612,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3613,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3613,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3615,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3619,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3620,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3590
    functionDepth: 9
    functionLinenumber: 3590
    functionLinenumberEnd: 3623
    functionName: ut_testAssignmentUpdatedForDeletedTopic
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testAssignmentUpdatedForDeletedTopic(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3635,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3636,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3639,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3640,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3644,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3645,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3647,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3649,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3649,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3650,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3650,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3655,1
    - Dst: rd_kafka_metadata_new_topic_mock
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3656,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3658,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3659,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3661,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3663,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3663,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3664,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3664,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3666,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3667,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3626
    functionDepth: 9
    functionLinenumber: 3626
    functionLinenumberEnd: 3670
    functionName: ut_testNoExceptionThrownWhenOnlySubscribedTopicDeleted
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - isFullyBalanced
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - rd_kafka_metadata_new_topic_mock
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testNoExceptionThrownWhenOnlySubscribedTopicDeleted(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3681,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3687,1
    - Dst: rd_kafka_metadata_new_topic_mockv
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3689,1
    - Dst: ut_init_member
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3692,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3693,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3694,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3695,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3697,1
    - Dst: ut_init_member
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3700,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3701,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3702,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3703,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3705,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3709,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3711,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3713,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3719,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3725,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3725,1
    - Dst: isFullyBalanced
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3726,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3726,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3730,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3731,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3673
    functionDepth: 9
    functionLinenumber: 3673
    functionLinenumberEnd: 3734
    functionName: ut_testConflictingPreviousAssignments
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - isFullyBalanced
    - rd_kafka_metadata_new_topic_mockv
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - rd_kafka_topic_partition_list_new
    - RD_ARRAYSIZE
    - ut_init_member
    - RD_UT_ASSERT
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - ut_destroy_metadata
    - verifyValidityAndBalance
    linkageType: ''
    returnType: int
    signature: "int ut_testConflictingPreviousAssignments(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3748,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3751,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3752,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3755,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3756,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3758,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3761,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3762,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3764,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3767,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3768,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3771,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3773,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3775,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3775,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3776,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3777,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3778,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3781,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3782,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3785
      start: 3740
    functionDepth: 9
    functionLinenumber: 3740
    functionLinenumberEnd: 3785
    functionName: ut_testAllConsumersReachExpectedQuotaAndAreConsideredFilled
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testAllConsumersReachExpectedQuotaAndAreConsideredFilled(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3796,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3800,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3801,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3804,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3805,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3807,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3811,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3812,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3814,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3818,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3820,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3822,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3822,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3823,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3825,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3830,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3831,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3788
    functionDepth: 9
    functionLinenumber: 3788
    functionLinenumberEnd: 3834
    functionName: ut_testOwnedPartitionsAreInvalidatedForConsumerWithStaleGeneration
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOwnedPartitionsAreInvalidatedForConsumerWithStaleGeneration(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3844,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3848,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3849,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3852,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3853,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3855,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3859,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3860,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3862,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3866,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3868,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3870,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3870,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3871,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3873,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3878,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3879,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3882
      start: 3836
    functionDepth: 9
    functionLinenumber: 3836
    functionLinenumberEnd: 3882
    functionName: ut_testOwnedPartitionsAreInvalidatedForConsumerWithNoGeneration
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOwnedPartitionsAreInvalidatedForConsumerWithNoGeneration(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3893,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3896,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3897,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3901,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3902,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3904,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3907,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3908,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3910,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3913,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3914,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3918,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3920,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3922,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3922,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3923,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3924,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3925,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3928,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3929,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3932
      start: 3884
    functionDepth: 9
    functionLinenumber: 3884
    functionLinenumberEnd: 3932
    functionName: ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3950,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3953,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3954,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3958,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3959,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3961,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3964,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3965,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3967,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3970,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3971,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3975,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3977,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3979,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3979,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3980,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3981,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3982,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3985,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3986,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:3988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 3941
    functionDepth: 9
    functionLinenumber: 3941
    functionLinenumberEnd: 3989
    functionName: ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration2
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration2(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4000,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4004,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4005,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4008,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4009,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4011,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4016,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4017,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4019,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4024,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4025,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4027,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4031,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4033,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4034,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4036,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4038,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4041,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4041,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4044,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4045,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 3992
    functionDepth: 9
    functionLinenumber: 3992
    functionLinenumberEnd: 4048
    functionName: ut_testEnsurePartitionsAssignedToHighestGeneration
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testEnsurePartitionsAssignedToHighestGeneration(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4059,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4063,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4064,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4068,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4069,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4071,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4074,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4075,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4077,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4081,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4082,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4084,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4088,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4089,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4091,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4095,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4097,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4099,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4100,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4104,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4105,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4108
      start: 4051
    functionDepth: 9
    functionLinenumber: 4051
    functionLinenumberEnd: 4108
    functionName: ut_testNoReassignmentOnCurrentMembers
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testNoReassignmentOnCurrentMembers(\n    rd_kafka_t *rk,\n
      \   const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4120,1
    - Dst: ut_initMetadataConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4124,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4125,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4128,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4129,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4131,1
    - Dst: ut_initMemberConditionalRack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4135,1
    - Dst: ut_get_consumer_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4136,1
    - Dst: ut_populate_member_owned_partitions_generation
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4138,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4142,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4144,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4146,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4147,1
    - Dst: verifyAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4149,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4153,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4154,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4157
      start: 4111
    functionDepth: 9
    functionLinenumber: 4111
    functionLinenumberEnd: 4157
    functionName: ut_testOwnedPartitionsAreInvalidatedForConsumerWithMultipleGeneration
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - ut_initMetadataConditionalRack
    - ut_populate_member_owned_partitions_generation
    - verifyAssignment
    - rd_kafka_group_member_clear
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - ut_initMemberConditionalRack
    - ut_get_consumer_rack
    linkageType: ''
    returnType: int
    signature: "int ut_testOwnedPartitionsAreInvalidatedForConsumerWithMultipleGeneration(\n
      \   rd_kafka_t *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4192,1
    - Dst: rd_kafka_metadata_new_topic_with_partition_replicas_mock
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4194,1
    - Dst: ut_populate_internal_broker_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4196,1
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4197,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4198,1
    - Dst: ut_populate_internal_topic_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4199,1
    - Dst: rd_kafka_metadata_get_internal
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4200,1
    - Dst: snprintf
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4204,1
    - Dst: ut_init_member_with_rack
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4205,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4213,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4217,1
    - Dst: rd_kafka_assignor_run
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4220,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4222,1
    - Dst: verifyValidityAndBalance
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4227,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 15
    argNames:
    - rk
    - rkas
    - members
    - member_cnt
    - replication_factor
    - num_broker_racks
    - topic_cnt
    - topics
    - partitions
    - subscriptions_count
    - subscriptions
    - consumer_racks
    - owned_tp_list
    - initialize_members
    - metadata
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_group_member_t*
    - size_t
    - int
    - int
    - size_t
    - char*[]
    - int*
    - int*
    - char**[]
    - int*
    - rd_kafka_topic_partition_list_t**
    - rd_bool_t
    - rd_kafka_metadata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4163
    functionDepth: 9
    functionLinenumber: 4163
    functionLinenumberEnd: 4232
    functionName: setupRackAwareAssignment0
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 7
    functionsReached:
    - ut_populate_internal_broker_metadata
    - rd_assert
    - ut_init_member_with_rack
    - rd_kafka_assignor_run
    - RD_UT_ASSERT
    - RD_ARRAYSIZE
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_metadata_new_topic_with_partition_replicas_mock
    - ut_populate_internal_topic_metadata
    - ut_destroy_metadata
    - verifyValidityAndBalance
    - rd_kafka_metadata_get_internal
    - snprintf
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: int
    signature: "int setupRackAwareAssignment0(rd_kafka_t *rk,\n                          const
      rd_kafka_assignor_t *rkas,\n                          rd_kafka_group_member_t
      *members,\n                          size_t member_cnt,\n                          int
      replication_factor,\n                          int num_broker_racks,\n                          size_t
      topic_cnt,\n                          char *topics[],\n                          int
      *partitions,\n                          int *subscriptions_count,\n                          char
      **subscriptions[],\n                          int *consumer_racks,\n                          rd_kafka_topic_partition_list_t
      **owned_tp_list,\n                          rd_bool_t initialize_members,\n
      \                         rd_kafka_metadata_t **metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 14
    argNames:
    - rk
    - rkas
    - members
    - member_cnt
    - replication_factor
    - num_broker_racks
    - topic_cnt
    - topics
    - partitions
    - subscriptions_count
    - subscriptions
    - consumer_racks
    - owned_tp_list
    - initialize_members
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_group_member_t*
    - size_t
    - int
    - int
    - size_t
    - char*[]
    - int*
    - int*
    - char**[]
    - int*
    - rd_kafka_topic_partition_list_t**
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4253
      start: 4234
    functionDepth: 0
    functionLinenumber: 4234
    functionLinenumberEnd: 4253
    functionName: setupRackAwareAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 3
    functionsReached:
    - setupRackAwareAssignment0
    linkageType: ''
    returnType: int
    signature: "int setupRackAwareAssignment(rd_kafka_t *rk,\n                         const
      rd_kafka_assignor_t *rkas,\n                         rd_kafka_group_member_t
      *members,\n                         size_t member_cnt,\n                         int
      replication_factor,\n                         int num_broker_racks,\n                         size_t
      topic_cnt,\n                         char *topics[],\n                         int
      *partitions,\n                         int *subscriptions_count,\n                         char
      **subscriptions[],\n                         int *consumer_racks,\n                         rd_kafka_topic_partition_list_t
      **owned_tp_list,\n                         rd_bool_t initialize_members)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - rk
    - ','
    - rkas
    - ','
    - members
    - ','
    - member_cnt
    - ','
    - topic_cnt
    - ','
    - topics
    - ','
    - partitions
    - ','
    - subscriptions_count
    - ','
    - subscriptions
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4269
      start: 4260
    functionDepth: 0
    functionLinenumber: 4260
    functionLinenumberEnd: 4269
    functionName: verifyNonRackAwareAssignment
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "verifyNonRackAwareAssignment(rk, rkas, members, member_cnt, topic_cnt,
      \\\n                                     topics, partitions, subscriptions_count,
      \ \\\n                                     subscriptions, ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4540,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4550,1
    - Dst: verifyNonRackAwareAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4553,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4554,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4554,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4565,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4566,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4567,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4570,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4571,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4578,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4579,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4580,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4582,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4583,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4588,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4589,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4590,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4593,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4594,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4601,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4602,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4603,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4605,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4606,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4611,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4612,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4613,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4616,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4617,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4624,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4625,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4626,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4629,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4630,1
    - Dst: ut_create_topic_partition_lists
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4634,1
    - Dst: setupRackAwareAssignment0
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4643,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4643,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4644,1
    - Dst: verifyMultipleAssignment
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4647,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4648,1
    - Dst: verifyNumPartitionsWithRackMismatch
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4655,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4656,1
    - Dst: ut_destroy_metadata
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4657,1
    - Dst: RD_ARRAYSIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4659,1
    - Dst: rd_kafka_group_member_clear
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4660,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4662,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4663,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4669,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - rk
    - rkas
    - parametrization
    argTypes:
    - rd_kafka_t*
    - rd_kafka_assignor_t*
    - rd_kafka_assignor_ut_rack_config_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4532
    functionDepth: 4
    functionLinenumber: 4532
    functionLinenumberEnd: 4670
    functionName: ut_testRackAwareAssignmentWithNonEqualSubscription
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - verifyMultipleAssignment
    - rd_free
    - verifyNonRackAwareAssignment
    - verifyNumPartitionsWithRackMismatch
    - rd_kafka_group_member_clear
    - RD_ARRAYSIZE
    - RD_UT_PASS
    - rd_kafka_topic_partition_list_destroy
    - ut_destroy_metadata
    - setupRackAwareAssignment0
    - ut_create_topic_partition_lists
    linkageType: ''
    returnType: int
    signature: "int ut_testRackAwareAssignmentWithNonEqualSubscription(\n    rd_kafka_t
      *rk,\n    const rd_kafka_assignor_t *rkas,\n    rd_kafka_assignor_ut_rack_config_t
      parametrization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4721,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4722,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4724,1
    - Dst: RD_UT_FAIL
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4726,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4728,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4728,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4731,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4732,1
    - Dst: rd_kafka_assignor_find
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4735,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4736,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4738,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4740,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4745,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4749,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4752,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4756,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4757,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4759,1
    - Dst: RD_ARRAY_SIZE
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4764,1
    - Dst: rd_kafkap_str_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4765,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4768,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4771
      start: 4672
    functionDepth: 22
    functionLinenumber: 4672
    functionLinenumberEnd: 4771
    functionName: rd_kafka_sticky_assignor_unittest
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafkap_str_new
    - rd_kafka_conf_set
    - rd_kafka_assignor_find
    - RD_UT_ASSERT
    - rd_kafkap_str_destroy
    - RD_ARRAY_SIZE
    - RD_UT_FAIL
    - RD_UT_SAY
    - rd_kafka_new
    - rd_clock
    - rd_getenv
    linkageType: ''
    returnType: int
    signature: int rd_kafka_sticky_assignor_unittest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignor_add
      Src: /src/librdkafka/src/rdkafka_sticky_assignor.c:4778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4777
    functionDepth: 4
    functionLinenumber: 4777
    functionLinenumberEnd: 4785
    functionName: rd_kafka_sticky_assignor_init
    functionSourceFile: /src/librdkafka/src/rdkafka_sticky_assignor.c
    functionUses: 1
    functionsReached:
    - rd_kafka_assignor_add
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_sticky_assignor_init(rd_kafka_t *rk)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/librdkafka/src/rdgz.c:59,1
    - Dst: inflate
      Src: /src/librdkafka/src/rdgz.c:79,1
    - Dst: inflateEnd
      Src: /src/librdkafka/src/rdgz.c:85,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdgz.c:100,1
    - Dst: inflateEnd
      Src: /src/librdkafka/src/rdgz.c:102,1
    - Dst: inflateEnd
      Src: /src/librdkafka/src/rdgz.c:111,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdgz.c:118,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - compressed
    - compressed_len
    - decompressed_lenp
    argTypes:
    - void*
    - int
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 120
    functionName: rd_gz_decompress
    functionSourceFile: /src/librdkafka/src/rdgz.c
    functionUses: 1
    functionsReached:
    - rd_free
    - inflate
    - rd_malloc
    - inflateEnd
    - inflateInit2
    linkageType: ''
    returnType: void
    signature: "void *rd_gz_decompress(const void *compressed,\n                       int
      compressed_len,\n                       uint64_t *decompressed_lenp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: rd_kafka_yield
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rd_kafka_yield(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: rd_kafka_q_check_yield
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_kafka_q_check_yield(rd_kafka_q_t *rkq)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:59,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:60,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.c:61,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:67,1
    - Dst: rd_kafka_q_disable0
      Src: /src/librdkafka/src/rdkafka_queue.c:68,1
    - Dst: rd_kafka_q_fwd_set0
      Src: /src/librdkafka/src/rdkafka_queue.c:69,1
    - Dst: rd_kafka_q_purge0
      Src: /src/librdkafka/src/rdkafka_queue.c:70,1
    - Dst: assert
      Src: /src/librdkafka/src/rdkafka_queue.c:71,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:72,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:73,1
    - Dst: cnd_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:74,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts:
    - condition: (!rkq->rkq_fwdq)
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/librdkafka/src/rdkafka_queue.c
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: rd_kafka_q_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_free
    - mtx_lock
    - rd_kafka_q_fwd_set0
    - rd_kafka_q_purge0
    - rd_kafka_q_disable0
    - rd_dassert
    - mtx_destroy
    - cnd_destroy
    - assert
    - mtx_unlock
    - unlikely
    linkageType: ''
    returnType: void
    signature: void rd_kafka_q_destroy_final(rd_kafka_q_t *rkq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_reset
      Src: /src/librdkafka/src/rdkafka_queue.c:90,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_queue.c:102,1
    - Dst: cnd_init
      Src: /src/librdkafka/src/rdkafka_queue.c:103,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 5
    argNames:
    - rkq
    - rk
    - for_consume
    - func
    - line
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_t*
    - rd_bool_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: rd_kafka_q_init0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_reset
    - mtx_init
    - rd_snprintf
    - cnd_init
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_init0(rd_kafka_q_t *rkq,\n                      rd_kafka_t
      *rk,\n                      rd_bool_t for_consume,\n                      const
      char *func,\n                      int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_queue.c:119,1
    - Dst: rd_kafka_q_init
      Src: /src/librdkafka/src/rdkafka_queue.c:121,1
    - Dst: rd_kafka_consume_q_init
      Src: /src/librdkafka/src/rdkafka_queue.c:123,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - for_consume
    - func
    - line
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 131
    functionName: rd_kafka_q_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_init
    - rd_malloc
    - rd_kafka_consume_q_init
    - rd_snprintf
    linkageType: ''
    returnType: rd_kafka_q_t
    signature: "rd_kafka_q_t *rd_kafka_q_new0(rd_kafka_t *rk,\n                              rd_bool_t
      for_consume,\n                              const char *func,\n                              int
      line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:142,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:146,1
    - Dst: rd_kafka_q_consumer_propagate
      Src: /src/librdkafka/src/rdkafka_queue.c:156,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rkq
    argTypes:
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: rd_kafka_q_consumer_propagate
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - mtx_unlock
    - rd_kafka_q_consumer_propagate
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: void rd_kafka_q_consumer_propagate(rd_kafka_q_t *rkq)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:172,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:176,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:180,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.c:184,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:189,1
    - Dst: rd_kafka_q_concat
      Src: /src/librdkafka/src/rdkafka_queue.c:190,1
    - Dst: rd_kafka_q_consumer_propagate
      Src: /src/librdkafka/src/rdkafka_queue.c:196,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - srcq
    - destq
    - do_lock
    - fwd_app
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_q_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: rd_kafka_q_fwd_set0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_keep
    - rd_kafka_q_concat
    - mtx_lock
    - rd_kafka_q_destroy
    - rd_dassert
    - rd_kafka_q_consumer_propagate
    - mtx_unlock
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_fwd_set0(rd_kafka_q_t *srcq,\n                         rd_kafka_q_t
      *destq,\n                         int do_lock,\n                         int
      fwd_app)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_HEAD
      Src: /src/librdkafka/src/rdkafka_queue.c:207,1
    - Dst: TAILQ_HEAD_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_queue.c:207,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:212,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:214,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:216,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_queue.c:217,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:218,1
    - Dst: TAILQ_MOVE
      Src: /src/librdkafka/src/rdkafka_queue.c:224,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:226,1
    - Dst: rd_kafka_q_reset
      Src: /src/librdkafka/src/rdkafka_queue.c:229,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:232,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:235,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:237,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - rkq
    - do_lock
    argTypes:
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 205
    functionDepth: 6
    functionLinenumber: 205
    functionLinenumberEnd: 243
    functionName: rd_kafka_q_purge0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_purge
    - rd_kafka_q_fwd_get
    - TAILQ_MOVE
    - rd_kafka_op_destroy
    - mtx_lock
    - TAILQ_HEAD_INITIALIZER
    - rd_kafka_q_destroy
    - rd_kafka_q_reset
    - TAILQ_FIRST
    - rd_kafka_q_mark_served
    - TAILQ_NEXT
    - mtx_unlock
    - TAILQ_HEAD
    linkageType: ''
    returnType: int
    signature: int rd_kafka_q_purge0(rd_kafka_q_t *rkq, int do_lock)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_HEAD
      Src: /src/librdkafka/src/rdkafka_queue.c:255,1
    - Dst: TAILQ_HEAD_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_queue.c:255,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:260,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:262,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:263,1
    - Dst: rd_kafka_q_purge_toppar_version
      Src: /src/librdkafka/src/rdkafka_queue.c:264,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:265,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:271,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.c:273,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_queue.c:274,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:279,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:283,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:285,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:287,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - rkq
    - rktp
    - version
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 290
    functionName: rd_kafka_q_purge_toppar_version
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - rd_kafka_op_destroy
    - rd_kafka_q_fwd_get
    - mtx_lock
    - TAILQ_HEAD_INITIALIZER
    - rd_kafka_q_destroy
    - TAILQ_FIRST
    - TAILQ_INSERT_TAIL
    - rd_kafka_q_mark_served
    - TAILQ_NEXT
    - mtx_unlock
    - TAILQ_HEAD
    - rd_kafka_q_purge_toppar_version
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_purge_toppar_version(rd_kafka_q_t *rkq,\n                                     rd_kafka_toppar_t
      *rktp,\n                                     int version)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:306,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:307,1
    - Dst: rd_kafka_q_io_event
      Src: /src/librdkafka/src/rdkafka_queue.c:312,1
    - Dst: rd_kafka_q_concat0
      Src: /src/librdkafka/src/rdkafka_queue.c:318,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:321,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.c:322,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_queue.c:323,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_queue.c:324,1
    - Dst: TAILQ_INSERT_SORTED
      Src: /src/librdkafka/src/rdkafka_queue.c:327,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:339,1
    - Dst: rd_kafka_q_move_cnt
      Src: /src/librdkafka/src/rdkafka_queue.c:342,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:347,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - dstq
    - srcq
    - cnt
    - do_locks
    argTypes:
    - rd_kafka_q_t*
    - rd_kafka_q_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 352
    functionName: rd_kafka_q_move_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - TAILQ_REMOVE
    - rd_kafka_q_io_event
    - mtx_lock
    - TAILQ_INSERT_SORTED
    - TAILQ_FIRST
    - TAILQ_INSERT_TAIL
    - rd_kafka_q_mark_served
    - rd_kafka_q_move_cnt
    - mtx_unlock
    - likely
    - rd_kafka_q_concat0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_move_cnt(rd_kafka_q_t *dstq,\n                        rd_kafka_q_t
      *srcq,\n                        int cnt,\n                        int do_locks)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:360,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:363,1
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka_queue.c:363,1
    - Dst: rd_kafka_q_deq0
      Src: /src/librdkafka/src/rdkafka_queue.c:364,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 358
    functionDepth: 6
    functionLinenumber: 358
    functionLinenumberEnd: 370
    functionName: 'rd_kafka_op_t *

      rd_kafka_op_filter(rd_kafka_q_t *rkq, rd_kafka_op_t *rko, int version)'
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_op_version_outdated
    - rd_kafka_op_destroy
    - rd_kafka_q_deq0
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE rd_kafka_op_t *

      rd_kafka_op_filter(rd_kafka_q_t *rkq, rd_kafka_op_t *rko, int version)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:408,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:410,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:413,1
    - Dst: rd_kafka_q_can_contain_fetched_msgs
      Src: /src/librdkafka/src/rdkafka_queue.c:416,1
    - Dst: rd_timeout_init_us
      Src: /src/librdkafka/src/rdkafka_queue.c:418,1
    - Dst: rd_kafka_app_poll_start
      Src: /src/librdkafka/src/rdkafka_queue.c:421,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:432,1
    - Dst: rd_kafka_op_filter
      Src: /src/librdkafka/src/rdkafka_queue.c:433,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:436,1
    - Dst: rd_kafka_q_deq0
      Src: /src/librdkafka/src/rdkafka_queue.c:440,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:444,1
    - Dst: rd_kafka_op_handle
      Src: /src/librdkafka/src/rdkafka_queue.c:450,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:456,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:459,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:462,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:468,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:474,1
    - Dst: rd_kafka_q_check_yield
      Src: /src/librdkafka/src/rdkafka_queue.c:474,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:476,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:478,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:483,1
    - Dst: cnd_timedwait_abs
      Src: /src/librdkafka/src/rdkafka_queue.c:485,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:487,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:489,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:497,1
    - Dst: rd_kafka_q_pop_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:498,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:500,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 7
    argNames:
    - rkq
    - timeout_us
    - version
    - cb_type
    - callback
    - opaque
    - is_consume_call
    argTypes:
    - rd_kafka_q_t*
    - rd_ts_t
    - int32_t
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 398
    functionDepth: 7
    functionLinenumber: 398
    functionLinenumberEnd: 505
    functionName: rd_kafka_q_pop_serve0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_timeout_init_us
    - rd_kafka_q_can_contain_fetched_msgs
    - rd_kafka_q_fwd_get
    - rd_kafka_q_deq0
    - rd_kafka_app_poll_start
    - mtx_lock
    - rd_kafka_op_filter
    - rd_kafka_q_destroy
    - TAILQ_FIRST
    - rd_dassert
    - rd_kafka_q_pop_serve0
    - rd_kafka_app_polled
    - rd_kafka_op_handle
    - rd_kafka_q_mark_served
    - rd_kafka_q_check_yield
    - mtx_unlock
    - unlikely
    - cnd_timedwait_abs
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_q_pop_serve0(rd_kafka_q_t *rkq,\n                                            rd_ts_t
      timeout_us,\n                                            int32_t version,\n
      \                                           rd_kafka_q_cb_type_t cb_type,\n
      \                                           rd_kafka_q_serve_cb_t *callback,\n
      \                                           void *opaque,\n                                            rd_bool_t
      is_consume_call)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkq
    - timeout_us
    - version
    - cb_type
    - callback
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - rd_ts_t
    - int32_t
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 8
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: rd_kafka_q_pop_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_pop_serve0
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *rd_kafka_q_pop_serve(rd_kafka_q_t *rkq,\n                                    rd_ts_t
      timeout_us,\n                                    int32_t version,\n                                    rd_kafka_q_cb_type_t
      cb_type,\n                                    rd_kafka_q_serve_cb_t *callback,\n
      \                                   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkq
    - timeout_us
    - version
    - cb_type
    - callback
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - rd_ts_t
    - int32_t
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 8
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: rd_kafka_q_pop_serve_maybe_consume
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_pop_serve0
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: "rd_kafka_op_t *\nrd_kafka_q_pop_serve_maybe_consume(rd_kafka_q_t *rkq,\n
      \                                  rd_ts_t timeout_us,\n                                   int32_t
      version,\n                                   rd_kafka_q_cb_type_t cb_type,\n
      \                                  rd_kafka_q_serve_cb_t *callback,\n                                   void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop_serve
      Src: /src/librdkafka/src/rdkafka_queue.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rkq
    - timeout_us
    - version
    argTypes:
    - rd_kafka_q_t*
    - rd_ts_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 9
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: rd_kafka_q_pop
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 7
    functionsReached:
    - rd_kafka_q_pop_serve
    linkageType: ''
    returnType: rd_kafka_op_t
    signature: 'rd_kafka_op_t *

      rd_kafka_q_pop(rd_kafka_q_t *rkq, rd_ts_t timeout_us, int32_t version)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_can_contain_fetched_msgs
      Src: /src/librdkafka/src/rdkafka_queue.c:573,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:575,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:577,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:579,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_queue.c:579,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:580,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:584,1
    - Dst: rd_kafka_q_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:585,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:587,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_queue.c:592,1
    - Dst: rd_kafka_app_poll_start
      Src: /src/librdkafka/src/rdkafka_queue.c:595,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:598,1
    - Dst: rd_kafka_q_check_yield
      Src: /src/librdkafka/src/rdkafka_queue.c:599,1
    - Dst: cnd_timedwait_abs
      Src: /src/librdkafka/src/rdkafka_queue.c:600,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:604,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:607,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:609,1
    - Dst: rd_kafka_q_init
      Src: /src/librdkafka/src/rdkafka_queue.c:614,1
    - Dst: rd_kafka_q_move_cnt
      Src: /src/librdkafka/src/rdkafka_queue.c:615,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:618,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:623,1
    - Dst: rd_kafka_q_deq0
      Src: /src/librdkafka/src/rdkafka_queue.c:626,1
    - Dst: rd_kafka_op_handle
      Src: /src/librdkafka/src/rdkafka_queue.c:627,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_queue.c:630,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:633,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_queue.c:638,1
    - Dst: rd_kafka_q_prepend
      Src: /src/librdkafka/src/rdkafka_queue.c:639,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:645,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_queue.c:647,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - rkq
    - timeout_ms
    - max_cnt
    - cb_type
    - callback
    - opaque
    - is_consume_call
    argTypes:
    - rd_kafka_q_t*
    - int
    - int
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 558
    functionDepth: 7
    functionLinenumber: 558
    functionLinenumberEnd: 650
    functionName: rd_kafka_q_serve0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_can_contain_fetched_msgs
    - rd_kafka_q_fwd_get
    - rd_kafka_q_prepend
    - rd_timeout_init
    - unlikely
    - rd_kafka_q_destroy
    - rd_kafka_q_serve0
    - rd_kafka_q_destroy_owner
    - mtx_unlock
    - rd_kafka_assert
    - mtx_lock
    - rd_dassert
    - rd_kafka_q_init
    - rd_kafka_op_handle
    - rd_kafka_q_mark_served
    - rd_kafka_q_check_yield
    - rd_kafka_q_deq0
    - TAILQ_EMPTY
    - rd_kafka_app_poll_start
    - TAILQ_FIRST
    - rd_kafka_app_polled
    - rd_kafka_q_move_cnt
    - cnd_timedwait_abs
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_serve0(rd_kafka_q_t *rkq,\n                      int
      timeout_ms,\n                      int max_cnt,\n                      rd_kafka_q_cb_type_t
      cb_type,\n                      rd_kafka_q_serve_cb_t *callback,\n                      void
      *opaque,\n                      rd_bool_t is_consume_call)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkq
    - timeout_ms
    - max_cnt
    - cb_type
    - callback
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - int
    - int
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 8
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: rd_kafka_q_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 6
    functionsReached:
    - rd_kafka_q_serve0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_serve(rd_kafka_q_t *rkq,\n                     int
      timeout_ms,\n                     int max_cnt,\n                     rd_kafka_q_cb_type_t
      cb_type,\n                     rd_kafka_q_serve_cb_t *callback,\n                     void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_serve0
      Src: /src/librdkafka/src/rdkafka_queue.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkq
    - timeout_ms
    - max_cnt
    - cb_type
    - callback
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - int
    - int
    - rd_kafka_q_cb_type_t
    - rd_kafka_q_serve_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 667
    functionDepth: 8
    functionLinenumber: 667
    functionLinenumberEnd: 678
    functionName: rd_kafka_q_serve_maybe_consume
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_serve0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_serve_maybe_consume(rd_kafka_q_t *rkq,\n                                   int
      timeout_ms,\n                                   int max_cnt,\n                                   rd_kafka_q_cb_type_t
      cb_type,\n                                   rd_kafka_q_serve_cb_t *callback,\n
      \                                  void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka_queue.c:700,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:702,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:711,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:714,1
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka_queue.c:716,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.c:717,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - rktp
    - version
    - rkmessages
    - cnt
    - ctrl_msg_q
    argTypes:
    - rd_kafka_toppar_t*
    - int32_t
    - rd_kafka_message_t**
    - size_t
    - struct rd_kafka_op_tailq*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 687
    functionDepth: 6
    functionLinenumber: 687
    functionLinenumberEnd: 723
    functionName: rd_kafka_purge_outdated_messages
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_kafka_op_destroy
    - TAILQ_FIRST
    - TAILQ_NEXT
    - rd_kafka_op_version_outdated
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_purge_outdated_messages(rd_kafka_toppar_t *rktp,\n
      \                                int32_t version,\n                                 rd_kafka_message_t
      **rkmessages,\n                                 size_t cnt,\n                                 struct
      rd_kafka_op_tailq *ctrl_msg_q)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAILQ_HEAD
      Src: /src/librdkafka/src/rdkafka_queue.c:739,1
    - Dst: TAILQ_HEAD_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_queue.c:739,1
    - Dst: TAILQ_HEAD_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_queue.c:741,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:748,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:749,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:752,1
    - Dst: rd_kafka_q_serve_rkmessages
      Src: /src/librdkafka/src/rdkafka_queue.c:753,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:755,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:759,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_queue.c:761,1
    - Dst: rd_kafka_app_poll_start
      Src: /src/librdkafka/src/rdkafka_queue.c:763,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:769,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:771,1
    - Dst: rd_kafka_q_check_yield
      Src: /src/librdkafka/src/rdkafka_queue.c:772,1
    - Dst: cnd_timedwait_abs
      Src: /src/librdkafka/src/rdkafka_queue.c:773,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:777,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:780,1
    - Dst: rd_kafka_q_deq0
      Src: /src/librdkafka/src/rdkafka_queue.c:784,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:786,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:788,1
    - Dst: rd_kafka_purge_outdated_messages
      Src: /src/librdkafka/src/rdkafka_queue.c:789,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:792,1
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka_queue.c:796,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_queue.c:798,1
    - Dst: rd_kafka_poll_cb
      Src: /src/librdkafka/src/rdkafka_queue.c:804,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:809,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_queue.c:814,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:819,1
    - Dst: rd_kafka_op_is_ctrl_msg
      Src: /src/librdkafka/src/rdkafka_queue.c:819,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdkafka_queue.c:820,1
    - Dst: rd_kafka_message_get
      Src: /src/librdkafka/src/rdkafka_queue.c:825,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:832,1
    - Dst: rd_kafka_update_app_pos
      Src: /src/librdkafka/src/rdkafka_queue.c:833,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_queue.c:835,1
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/src/rdkafka_queue.c:837,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:842,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:845,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:846,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:850,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:853,1
    - Dst: rd_kafka_update_app_pos
      Src: /src/librdkafka/src/rdkafka_queue.c:857,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_queue.c:859,1
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/src/rdkafka_queue.c:861,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:864,1
    - Dst: rd_kafka_app_polled
      Src: /src/librdkafka/src/rdkafka_queue.c:867,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 4
    argNames:
    - rkq
    - timeout_ms
    - rkmessages
    - rkmessages_size
    argTypes:
    - rd_kafka_q_t*
    - int
    - rd_kafka_message_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 734
    functionDepth: 13
    functionLinenumber: 734
    functionLinenumberEnd: 870
    functionName: rd_kafka_q_serve_rkmessages
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 3
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_q_fwd_get
    - rd_kafka_purge_outdated_messages
    - rd_timeout_init
    - unlikely
    - rd_kafka_message_leader_epoch
    - TAILQ_HEAD_INITIALIZER
    - rd_kafka_q_destroy
    - rd_kafka_update_app_pos
    - rd_kafka_q_serve_rkmessages
    - mtx_unlock
    - mtx_lock
    - rd_dassert
    - TAILQ_INSERT_TAIL
    - rd_kafka_q_mark_served
    - rd_kafka_op_is_ctrl_msg
    - TAILQ_NEXT
    - rd_kafka_q_check_yield
    - TAILQ_HEAD
    - RD_KAFKA_FETCH_POS
    - rd_kafka_message_get
    - rd_kafka_poll_cb
    - rd_kafka_q_deq0
    - rd_kafka_app_poll_start
    - TAILQ_FIRST
    - rd_kafka_app_polled
    - rd_kafka_op_version_outdated
    - cnd_timedwait_abs
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_serve_rkmessages(rd_kafka_q_t *rkq,\n                                int
      timeout_ms,\n                                rd_kafka_message_t **rkmessages,\n
      \                               size_t rkmessages_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_queue.c:876,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:878,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rkqu
    argTypes:
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 880
    functionName: rd_kafka_queue_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 88
    functionsReached:
    - rd_kafka_q_destroy
    - rd_free
    - rd_kafka_q_destroy_owner
    linkageType: ''
    returnType: void
    signature: void rd_kafka_queue_destroy(rd_kafka_queue_t *rkqu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_queue.c:885,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_queue.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rk
    - rkq
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 893
    functionName: rd_kafka_queue_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_keep
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_new0(rd_kafka_t *rk, rd_kafka_q_t
      *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_queue.c:900,1
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_queue.c:901,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 906
    functionName: rd_kafka_queue_new
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 56
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_q_destroy
    - rd_kafka_queue_new0
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_new(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_queue.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: rd_kafka_queue_get_main
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 14
    functionsReached:
    - rd_kafka_queue_new0
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_get_main(rd_kafka_t *rk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_queue.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 2
    functionLinenumber: 914
    functionLinenumberEnd: 918
    functionName: rd_kafka_queue_get_consumer
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 18
    functionsReached:
    - rd_kafka_queue_new0
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_get_consumer(rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka_queue.c:929,1
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_queue.c:935,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - rk
    - topic
    - partition
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 939
    functionName: rd_kafka_queue_get_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_toppar_destroy
    - rd_kafka_queue_new0
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: "rd_kafka_queue_t *rd_kafka_queue_get_partition(rd_kafka_t *rk,\n                                               const
      char *topic,\n                                               int32_t partition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_queue.c:944,1
    - Dst: rd_kafka_background_thread_create
      Src: /src/librdkafka/src/rdkafka_queue.c:948,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_queue.c:950,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_queue.c:953,1
    - Dst: rd_kafka_queue_new0
      Src: /src/librdkafka/src/rdkafka_queue.c:958,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_queue.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 961
    functionName: rd_kafka_queue_get_background
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_log
    - rd_kafka_wrlock
    - rd_kafka_queue_new0
    - rd_kafka_wrunlock
    - rd_kafka_background_thread_create
    linkageType: ''
    returnType: rd_kafka_queue_t
    signature: rd_kafka_queue_t *rd_kafka_queue_get_background(rd_kafka_t *rk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka_queue.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rk
    - rkqu
    argTypes:
    - rd_kafka_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 977
    functionName: rd_kafka_set_log_queue
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_fwd_set
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_set_log_queue(rd_kafka_t *rk,\n                                           rd_kafka_queue_t
      *rkqu)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_fwd_set0
      Src: /src/librdkafka/src/rdkafka_queue.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - rd_kafka_queue_t*
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 979
    functionDepth: 3
    functionLinenumber: 979
    functionLinenumberEnd: 983
    functionName: rd_kafka_queue_forward
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 3
    functionsReached:
    - rd_kafka_q_fwd_set0
    linkageType: ''
    returnType: void
    signature: void rd_kafka_queue_forward(rd_kafka_queue_t *src, rd_kafka_queue_t
      *dst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_queue.c:987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkqu
    argTypes:
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 988
    functionName: rd_kafka_queue_length
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    linkageType: ''
    returnType: size_t
    signature: size_t rd_kafka_queue_length(rd_kafka_queue_t *rkqu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_queue.c:1000,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_queue.c:1007,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:1010,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.c:1012,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:1020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - rkq
    - fd
    - payload
    - size
    argTypes:
    - rd_kafka_q_t*
    - rd_socket_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1021
    functionName: rd_kafka_q_io_event_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_free
    - mtx_lock
    - rd_malloc
    - memcpy
    - mtx_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_io_event_enable(rd_kafka_q_t *rkq,\n                                rd_socket_t
      fd,\n                                const void *payload,\n                                size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_io_event_enable
      Src: /src/librdkafka/src/rdkafka_queue.c:1027,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rkqu
    - fd
    - payload
    - size
    argTypes:
    - rd_kafka_queue_t*
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1028
    functionName: rd_kafka_queue_io_event_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_io_event_enable
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_queue_io_event_enable(rd_kafka_queue_t *rkqu,\n                                    int
      fd,\n                                    const void *payload,\n                                    size_t
      size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_yield
      Src: /src/librdkafka/src/rdkafka_queue.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rkqu
    argTypes:
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1033
    functionName: rd_kafka_queue_yield
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_yield
    linkageType: ''
    returnType: void
    signature: void rd_kafka_queue_yield(rd_kafka_queue_t *rkqu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_queue.c:1045,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:1053,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_queue.c:1055,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rkq
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1064
    functionName: rd_kafka_q_cb_event_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - mtx_unlock
    - rd_malloc
    - rd_free
    - mtx_lock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_cb_event_enable(rd_kafka_q_t *rkq,\n                                void
      (*event_cb)(rd_kafka_t *rk, void *opaque),\n                                void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_cb_event_enable
      Src: /src/librdkafka/src/rdkafka_queue.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkqu
    - opaque
    argTypes:
    - rd_kafka_queue_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1071
    functionName: rd_kafka_queue_cb_event_enable
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_cb_event_enable
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_queue_cb_event_enable(rd_kafka_queue_t *rkqu,\n                                    void
      (*event_cb)(rd_kafka_t *rk,\n                                                     void
      *opaque),\n                                    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_pop
      Src: /src/librdkafka/src/rdkafka_queue.c:1082,1
    - Dst: rd_timeout_us
      Src: /src/librdkafka/src/rdkafka_queue.c:1082,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:1087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rkq
    - timeout_ms
    argTypes:
    - rd_kafka_q_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1078
    functionDepth: 10
    functionLinenumber: 1078
    functionLinenumberEnd: 1091
    functionName: rd_kafka_q_wait_result
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 4
    functionsReached:
    - rd_kafka_op_destroy
    - rd_kafka_q_pop
    - rd_timeout_us
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_q_wait_result(rd_kafka_q_t *rkq, int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:1113,1
    - Dst: rd_kafka_q_fwd_get
      Src: /src/librdkafka/src/rdkafka_queue.c:1114,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:1115,1
    - Dst: rd_kafka_q_apply
      Src: /src/librdkafka/src/rdkafka_queue.c:1116,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:1117,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:1121,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:1123,1
    - Dst: callback
      Src: /src/librdkafka/src/rdkafka_queue.c:1124,1
    - Dst: rd_kafka_q_mark_served
      Src: /src/librdkafka/src/rdkafka_queue.c:1127,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - rkq
    - opaque
    argTypes:
    - rd_kafka_q_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1104
    functionDepth: 2
    functionLinenumber: 1104
    functionLinenumberEnd: 1132
    functionName: rd_kafka_q_apply
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_fwd_get
    - mtx_lock
    - rd_kafka_q_destroy
    - TAILQ_FIRST
    - rd_kafka_q_mark_served
    - callback
    - TAILQ_NEXT
    - mtx_unlock
    - rd_kafka_q_apply
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_q_apply(rd_kafka_q_t *rkq,\n                     int
      (*callback)(rd_kafka_q_t *rkq,\n                                     rd_kafka_op_t
      *rko,\n                                     void *opaque),\n                     void
      *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_queue.c:1150,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_queue.c:1152,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_queue.c:1154,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_queue.c:1156,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdkafka_queue.c:1165,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_queue.c:1166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - rkq
    - min_offset
    - base_offset
    argTypes:
    - rd_kafka_q_t*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1143
    functionDepth: 6
    functionLinenumber: 1143
    functionLinenumberEnd: 1174
    functionName: rd_kafka_q_fix_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - rd_kafka_op_destroy
    - TAILQ_FIRST
    - rd_kafka_assert
    - unlikely
    - TAILQ_NEXT
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_q_fix_offsets(rd_kafka_q_t *rkq,\n                            int64_t
      min_offset,\n                            int64_t base_offset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_queue.c:1181,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1182,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1189,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1191,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1195,1
    - Dst: rd_kafka_q_dump
      Src: /src/librdkafka/src/rdkafka_queue.c:1196,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_queue.c:1200,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1201,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_queue.c:1202,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdkafka_queue.c:1203,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_queue.c:1209,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_queue.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - fp
    - rkq
    argTypes:
    - FILE*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1223
    functionName: rd_kafka_q_dump
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 1
    functionsReached:
    - fprintf
    - TAILQ_EMPTY
    - mtx_lock
    - mtx_unlock
    - rd_kafka_op2str
    - TAILQ_FOREACH
    - rd_kafka_q_dump
    linkageType: ''
    returnType: void
    signature: void rd_kafka_q_dump(FILE *fp, rd_kafka_q_t *rkq)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_queue.c:1229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1226
    functionDepth: 11
    functionLinenumber: 1226
    functionLinenumberEnd: 1230
    functionName: rd_kafka_enq_once_trigger_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_queue.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: void
    signature: void rd_kafka_enq_once_trigger_destroy(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: LZ4_QUOTE
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_QUOTE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: LZ4_EXPAND_AND_QUOTE
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_EXPAND_AND_QUOTE(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - isize
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: LZ4_COMPRESSBOUND
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_COMPRESSBOUND(isize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - maxBlockSize
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: LZ4_DECODER_RING_BUFFER_SIZE
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DECODER_RING_BUFFER_SIZE(maxBlockSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - compressedSize
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: LZ4_DECOMPRESS_INPLACE_MARGIN
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DECOMPRESS_INPLACE_MARGIN(compressedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - decompressedSize
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE(decompressedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - maxCompressedSize
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: LZ4_COMPRESS_INPLACE_BUFFER_SIZE
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_COMPRESS_INPLACE_BUFFER_SIZE(maxCompressedSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: LZ4_DEPRECATED
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DEPRECATED(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: LZ4_DEPRECATED
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DEPRECATED(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 756
    functionName: LZ4_DEPRECATED
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DEPRECATED(message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: LZ4_DEPRECATED
    functionSourceFile: /src/librdkafka/src/lz4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZ4_DEPRECATED(message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_conf.h:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - compr
    argTypes:
    - rd_kafka_compression_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: rd_kafka_compression2str
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.h
    functionUses: 5
    functionsReached:
    - rd_snprintf
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_compression2str(rd_kafka_compression_t compr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - rd_kafka_confsource_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: rd_kafka_confsource2str
    functionSourceFile: /src/librdkafka/src/rdkafka_conf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: 'RD_INLINE *

      rd_kafka_confsource2str(rd_kafka_confsource_t source)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdinterval.h:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ri
    argTypes:
    - rd_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: rd_interval_init
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 6
    functionsReached:
    - memset
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_interval_init(rd_interval_t *ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ri
    - ','
    - interval_us
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: rd_interval
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_interval(ri, interval_us, now)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ri
    - ','
    - interval_us
    - ','
    - now
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: rd_interval_immediate
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_interval_immediate(ri, interval_us, now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdinterval.h:75,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdinterval.h:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ri
    - interval_us
    - now
    - immediate
    argTypes:
    - rd_interval_t*
    - rd_ts_t
    - rd_ts_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: rd_interval0
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 0
    functionsReached:
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval0(rd_interval_t *ri,\n                                                rd_ts_t
      interval_us,\n                                                rd_ts_t now,\n
      \                                               int immediate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ri
    argTypes:
    - rd_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: rd_interval_reset
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_interval_reset(rd_interval_t *ri)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdinterval.h:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ri
    - now
    argTypes:
    - rd_interval_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: rd_interval_reset_to_now
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 1
    functionsReached:
    - rd_clock
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval_reset_to_now(rd_interval_t *ri,\n                                                         rd_ts_t
      now)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_interval_reset_to_now
      Src: /src/librdkafka/src/rdinterval.h:124,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdinterval.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ri
    - now
    - backoff_ms
    - max_jitter
    argTypes:
    - rd_interval_t*
    - rd_ts_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: rd_interval_reset_to_now_with_jitter
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 1
    functionsReached:
    - rd_interval_reset_to_now
    - rd_jitter
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval_reset_to_now_with_jitter(rd_interval_t *ri,\n
      \                                    rd_ts_t now,\n                                     int64_t
      backoff_ms,\n                                     int max_jitter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ri
    - backoff_us
    argTypes:
    - rd_interval_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: rd_interval_backoff
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval_backoff(rd_interval_t *ri,\n                                                    int
      backoff_us)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ri
    - expedite_us
    argTypes:
    - rd_interval_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: rd_interval_expedite
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval_expedite(rd_interval_t *ri,\n                                                     int
      expedite_us)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ri
    - fixed_us
    argTypes:
    - rd_interval_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 158
    functionName: rd_interval_fixed
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_interval_fixed(rd_interval_t *ri,\n                                                  rd_ts_t
      fixed_us)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ri
    argTypes:
    - rd_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: rd_interval_disable
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_interval_disable(rd_interval_t *ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ri
    argTypes:
    - rd_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: rd_interval_disabled
    functionSourceFile: /src/librdkafka/src/rdinterval.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: RD_INLINE
    signature: RD_INLINE rd_interval_disabled(const rd_interval_t *ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:49,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:50,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rkb
    - err
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: rd_kafka_broker_fetch_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_clock
    - rd_kafka_err2str
    - rd_rkb_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_fetch_backoff(rd_kafka_broker_t *rkb,\n                                          rd_kafka_resp_err_t
      err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:67,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:75,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:77,1
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_fetcher.c:83,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:85,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:87,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - rkb
    - rktp
    - err
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 94
    functionName: rd_kafka_toppar_fetch_backoff
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - RD_MAX
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_clock
    - unlikely
    linkageType: ''
    returnType: rd_ts_t
    signature: "rd_ts_t rd_kafka_toppar_fetch_backoff(rd_kafka_broker_t *rkb,\n                                             rd_kafka_toppar_t
      *rktp,\n                                             rd_kafka_resp_err_t err)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_fetcher.c:113,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_fetcher.c:129,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_fetcher.c:131,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:140,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:144,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:148,1
    - Dst: rd_kafka_broker_find_by_nodeid
      Src: /src/librdkafka/src/rdkafka_fetcher.c:149,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:150,1
    - Dst: rd_interval_reset_to_now
      Src: /src/librdkafka/src/rdkafka_fetcher.c:153,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:154,1
    - Dst: rd_kafka_toppar_broker_update
      Src: /src/librdkafka/src/rdkafka_fetcher.c:155,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:157,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:158,1
    - Dst: rd_interval_immediate
      Src: /src/librdkafka/src/rdkafka_fetcher.c:162,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_fetcher.c:164,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:168,1
    - Dst: rd_kafka_metadata_refresh_brokers
      Src: /src/librdkafka/src/rdkafka_fetcher.c:171,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - rktp
    - rkbuf
    - rkb
    - preferred_id
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_buf_t*
    - rd_kafka_broker_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 178
    functionName: rd_kafka_fetch_preferred_replica_handle
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_rdunlock
    - rd_kafka_toppar_lock
    - rd_kafka_broker_destroy
    - rd_interval_reset_to_now
    - rd_kafka_toppar_fetch_backoff
    - rd_kafka_metadata_refresh_brokers
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_broker_update
    - rd_rkb_log
    - rd_interval_immediate
    - rd_kafka_toppar_unlock
    - rd_kafka_broker_find_by_nodeid
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_fetch_preferred_replica_handle(rd_kafka_toppar_t *rktp,\n
      \                                                   rd_kafka_buf_t *rkbuf,\n
      \                                                   rd_kafka_broker_t *rkb,\n
      \                                                   int32_t preferred_id)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:191,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:193,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:195,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/src/rdkafka_fetcher.c:196,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:225,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:233,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:239,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:246,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:248,1
    - Dst: rd_kafka_toppar_delegate_to_leader
      Src: /src/librdkafka/src/rdkafka_fetcher.c:252,1
    - Dst: rd_kafka_toppar_leader_unavailable
      Src: /src/librdkafka/src/rdkafka_fetcher.c:255,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_fetcher.c:263,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:272,1
    - Dst: rd_kafka_toppar_delegate_to_leader
      Src: /src/librdkafka/src/rdkafka_fetcher.c:281,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_fetcher.c:289,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:289,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_fetcher.c:300,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:301,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:305,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:305,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_fetcher.c:314,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:315,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:322,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:329,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_fetcher.c:330,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:331,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:335,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:336,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:337,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 5
    argNames:
    - rkb
    - rktp
    - tver
    - err
    - HighwaterMarkOffset
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    - struct rd_kafka_toppar_ver*
    - rd_kafka_resp_err_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 343
    functionName: rd_kafka_fetch_reply_handle_partition_error
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_err2name
    - rd_kafka_toppar_delegate_to_leader
    - rd_kafka_broker_id
    - rd_kafka_consumer_err
    - rd_kafka_toppar_fetch_backoff
    - rd_kafka_offset_reset
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_leader_unavailable
    - rd_kafka_fetch_pos2str
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_fetch_reply_handle_partition_error(\n    rd_kafka_broker_t
      *rkb,\n    rd_kafka_toppar_t *rktp,\n    const struct rd_kafka_toppar_ver *tver,\n
      \   rd_kafka_resp_err_t err,\n    int64_t HighwaterMarkOffset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:349,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_fetcher.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - reply_tags
    - TopicCnt
    argTypes:
    - rd_kafkap_Fetch_reply_tags_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: rd_kafkap_Fetch_reply_tags_set_topic_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_calloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_Fetch_reply_tags_set_topic_cnt(\n    rd_kafkap_Fetch_reply_tags_t
      *reply_tags,\n    int32_t TopicCnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:360,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_fetcher.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - reply_tags
    - TopicIdx
    - TopicId
    - PartitionCnt
    argTypes:
    - rd_kafkap_Fetch_reply_tags_t*
    - int
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: rd_kafkap_Fetch_reply_tags_set_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_dassert
    - rd_calloc
    linkageType: ''
    returnType: void
    signature: "void rd_kafkap_Fetch_reply_tags_set_topic(rd_kafkap_Fetch_reply_tags_t
      *reply_tags,\n                                     int TopicIdx,\n                                     rd_kafka_Uuid_t
      TopicId,\n                                     int32_t PartitionCnt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_fetcher.c:370,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_fetcher.c:372,1
    - Dst: RD_IF_FREE
      Src: /src/librdkafka/src/rdkafka_fetcher.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - reply_tags
    argTypes:
    - rd_kafkap_Fetch_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: rd_kafkap_Fetch_reply_tags_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - RD_IF_FREE
    linkageType: ''
    returnType: void
    signature: void rd_kafkap_Fetch_reply_tags_destroy(rd_kafkap_Fetch_reply_tags_t
      *reply_tags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_CurrentLeader
      Src: /src/librdkafka/src/rdkafka_fetcher.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - rkbuf
    - tagtype
    - taglen
    - TopicTags
    - PartitionTags
    argTypes:
    - rd_kafka_buf_t*
    - uint64_t
    - uint64_t
    - rd_kafkap_Fetch_reply_tags_Topic_t*
    - rd_kafkap_Fetch_reply_tags_Partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 394
    functionName: rd_kafkap_Fetch_reply_tags_partition_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_CurrentLeader
    linkageType: ''
    returnType: int
    signature: "int rd_kafkap_Fetch_reply_tags_partition_parse(\n    rd_kafka_buf_t
      *rkbuf,\n    uint64_t tagtype,\n    uint64_t taglen,\n    rd_kafkap_Fetch_reply_tags_Topic_t
      *TopicTags,\n    rd_kafkap_Fetch_reply_tags_Partition_t *PartitionTags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_NodeEndpoints
      Src: /src/librdkafka/src/rdkafka_fetcher.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - rkbuf
    - tagtype
    - taglen
    - tags
    argTypes:
    - rd_kafka_buf_t*
    - uint64_t
    - uint64_t
    - rd_kafkap_Fetch_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: rd_kafkap_Fetch_reply_tags_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_NodeEndpoints
    linkageType: ''
    returnType: int
    signature: "int rd_kafkap_Fetch_reply_tags_parse(rd_kafka_buf_t *rkbuf,\n                                 uint64_t
      tagtype,\n                                 uint64_t taglen,\n                                 rd_kafkap_Fetch_reply_tags_t
      *tags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_broker_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:426,1
    - Dst: rd_kafka_broker_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:428,1
    - Dst: rd_tmpabuf_new
      Src: /src/librdkafka/src/rdkafka_fetcher.c:430,1
    - Dst: rd_tmpabuf_add_alloc
      Src: /src/librdkafka/src/rdkafka_fetcher.c:431,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
      Src: /src/librdkafka/src/rdkafka_fetcher.c:432,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
      Src: /src/librdkafka/src/rdkafka_fetcher.c:434,1
    - Dst: rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
      Src: /src/librdkafka/src/rdkafka_fetcher.c:440,1
    - Dst: rd_tmpabuf_finalize
      Src: /src/librdkafka/src/rdkafka_fetcher.c:445,1
    - Dst: rd_tmpabuf_alloc
      Src: /src/librdkafka/src/rdkafka_fetcher.c:447,1
    - Dst: rd_kafkap_leader_discovery_metadata_init
      Src: /src/librdkafka/src/rdkafka_fetcher.c:450,1
    - Dst: rd_kafkap_leader_discovery_set_brokers
      Src: /src/librdkafka/src/rdkafka_fetcher.c:452,1
    - Dst: rd_kafkap_leader_discovery_set_topic_cnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:455,1
    - Dst: rd_kafkap_leader_discovery_set_topic
      Src: /src/librdkafka/src/rdkafka_fetcher.c:465,1
    - Dst: rd_kafkap_leader_discovery_set_CurrentLeader
      Src: /src/librdkafka/src/rdkafka_fetcher.c:482,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_fetcher.c:491,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_fetcher.c:494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - rkb
    - FetchTags
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_Fetch_reply_tags_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 414
    functionDepth: 9
    functionLinenumber: 414
    functionLinenumberEnd: 496
    functionName: rd_kafka_handle_Fetch_metadata_update
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
    - rd_kafkap_leader_discovery_set_brokers
    - rd_tmpabuf_new
    - rd_kafka_q_enq
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
    - rd_tmpabuf_add_alloc
    - rd_kafkap_leader_discovery_set_topic_cnt
    - rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
    - rd_kafkap_leader_discovery_set_topic
    - rd_tmpabuf_finalize
    - rd_kafka_op_new
    - rd_kafka_broker_unlock
    - rd_kafka_broker_lock
    - rd_tmpabuf_alloc
    - rd_kafkap_leader_discovery_metadata_init
    - rd_kafkap_leader_discovery_set_CurrentLeader
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_handle_Fetch_metadata_update(rd_kafka_broker_t *rkb,\n
      \                                     rd_kafkap_Fetch_reply_tags_t *FetchTags)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:530,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_fetcher.c:531,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:536,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:542,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:545,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:546,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:547,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:549,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:555,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_fetcher.c:556,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:563,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:566,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_fetcher.c:568,1
    - Dst: rd_kafka_aborted_txns_new
      Src: /src/librdkafka/src/rdkafka_fetcher.c:579,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:583,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:584,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_fetcher.c:587,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_fetcher.c:588,1
    - Dst: rd_kafka_aborted_txns_sort
      Src: /src/librdkafka/src/rdkafka_fetcher.c:591,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:596,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:597,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:601,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:603,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_fetcher.c:604,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:607,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:610,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:611,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_fetcher.c:612,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:614,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:617,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:618,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:621,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:623,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:627,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:635,1
    - Dst: rd_kafka_fetch_preferred_replica_handle
      Src: /src/librdkafka/src/rdkafka_fetcher.c:639,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:642,1
    - Dst: rd_rkb_log
      Src: /src/librdkafka/src/rdkafka_fetcher.c:643,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:648,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:650,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:655,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:659,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:660,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:661,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:665,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:666,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:671,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_fetcher.c:679,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:681,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:683,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_fetcher.c:689,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:690,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:694,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:698,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:699,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:710,1
    - Dst: rd_kafka_fetch_reply_handle_partition_error
      Src: /src/librdkafka/src/rdkafka_fetcher.c:712,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_fetcher.c:715,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:722,1
    - Dst: rd_slice_narrow_relative
      Src: /src/librdkafka/src/rdkafka_fetcher.c:728,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_fetcher.c:730,1
    - Dst: rd_kafka_msgset_parse
      Src: /src/librdkafka/src/rdkafka_fetcher.c:733,1
    - Dst: rd_slice_widen
      Src: /src/librdkafka/src/rdkafka_fetcher.c:736,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:741,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:742,1
    - Dst: rd_kafka_aborted_txns_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:748,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:750,1
    - Dst: rd_kafka_aborted_txns_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:755,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:756,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:757,1
    - Dst: rd_kafka_buf_read_tags
      Src: /src/librdkafka/src/rdkafka_fetcher.c:764,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 8
    argNames:
    - rkb
    - topic
    - rkt
    - rkbuf
    - request
    - ErrorCode
    - TopicTags
    - PartitionTags
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafkap_str_t*
    - rd_kafka_topic_t*
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - int16_t
    - rd_kafkap_Fetch_reply_tags_Topic_t*
    - rd_kafkap_Fetch_reply_tags_Partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 503
    functionDepth: 4
    functionLinenumber: 503
    functionLinenumberEnd: 769
    functionName: rd_kafka_fetch_reply_handle_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_atomic64_add
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_tags
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_ApiVersion
    - rd_kafka_toppar_get
    - rd_kafka_aborted_txns_new
    - rd_slice_narrow_relative
    - rd_kafka_aborted_txns_sort
    - rd_rkb_log
    - unlikely
    - rd_kafka_toppar_destroy
    - rd_kafka_topic_rdunlock
    - rd_kafka_toppar_fetch_backoff
    - rd_kafka_fetch_preferred_replica_handle
    - rd_kafka_err2str
    - rd_kafka_aborted_txns_destroy
    - rd_kafka_fetch_reply_handle_partition_error
    - rd_kafka_buf_skip
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - RD_KAFKAP_STR_PR
    - rd_list_find
    - rd_kafka_buf_check_len
    - rd_kafka_buf_read_i32
    - rd_kafka_toppar_unlock
    - rd_kafka_msgset_parse
    - rd_kafka_buf_parse_fail
    - rd_slice_widen
    - rd_rkb_dbg
    - rd_kafka_aborted_txns_add
    - rd_kafka_assert
    - likely
    - rd_kafka_topic_rdlock
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_fetch_reply_handle_partition(\n    rd_kafka_broker_t
      *rkb,\n    const rd_kafkap_str_t *topic,\n    rd_kafka_topic_t *rkt /*possibly
      NULL*/,\n    rd_kafka_buf_t *rkbuf,\n    rd_kafka_buf_t *request,\n    int16_t
      ErrorCode,\n    rd_kafkap_Fetch_reply_tags_Topic_t *TopicTags,\n    rd_kafkap_Fetch_reply_tags_Partition_t
      *PartitionTags)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:787,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:789,1
    - Dst: rd_kafka_op_throttle_time
      Src: /src/librdkafka/src/rdkafka_fetcher.c:791,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:795,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_fetcher.c:797,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:798,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:801,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_fetcher.c:803,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:808,1
    - Dst: rd_kafkap_Fetch_reply_tags_set_topic_cnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:810,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:820,1
    - Dst: rd_kafka_buf_read_uuid
      Src: /src/librdkafka/src/rdkafka_fetcher.c:821,1
    - Dst: rd_kafka_topic_find_by_topic_id
      Src: /src/librdkafka/src/rdkafka_fetcher.c:822,1
    - Dst: rd_kafka_buf_read_str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:827,1
    - Dst: rd_kafka_topic_find0
      Src: /src/librdkafka/src/rdkafka_fetcher.c:828,1
    - Dst: rd_kafka_buf_read_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:831,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:833,1
    - Dst: rd_kafkap_Fetch_reply_tags_set_topic
      Src: /src/librdkafka/src/rdkafka_fetcher.c:834,1
    - Dst: rd_kafka_fetch_reply_handle_partition
      Src: /src/librdkafka/src/rdkafka_fetcher.c:839,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_fetcher.c:853,1
    - Dst: rd_kafka_buf_skip_tags
      Src: /src/librdkafka/src/rdkafka_fetcher.c:857,1
    - Dst: rd_kafka_buf_read_tags
      Src: /src/librdkafka/src/rdkafka_fetcher.c:861,1
    - Dst: rd_kafka_buf_read_remain
      Src: /src/librdkafka/src/rdkafka_fetcher.c:864,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_fetcher.c:865,1
    - Dst: rd_kafka_buf_read_remain
      Src: /src/librdkafka/src/rdkafka_fetcher.c:868,1
    - Dst: RD_NOTREACHED
      Src: /src/librdkafka/src/rdkafka_fetcher.c:869,1
    - Dst: rd_kafka_handle_Fetch_metadata_update
      Src: /src/librdkafka/src/rdkafka_fetcher.c:871,1
    - Dst: rd_kafkap_Fetch_reply_tags_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:872,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_fetcher.c:878,1
    - Dst: rd_kafkap_Fetch_reply_tags_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:879,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:880,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 3
    argNames:
    - rkb
    - rkbuf
    - request
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 775
    functionDepth: 10
    functionLinenumber: 775
    functionLinenumberEnd: 885
    functionName: rd_kafka_fetch_reply_handle
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_remain
    - rd_kafka_buf_read_tags
    - rd_kafka_buf_skip_tags
    - rd_kafka_buf_ApiVersion
    - rd_kafkap_Fetch_reply_tags_set_topic
    - rd_kafka_topic_find0
    - RD_NOTREACHED
    - rd_kafka_topic_destroy0
    - rd_kafka_buf_read_arraycnt
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_check_len
    - rd_kafkap_Fetch_reply_tags_set_topic_cnt
    - rd_kafka_buf_read_i32
    - rd_kafka_handle_Fetch_metadata_update
    - rd_kafka_buf_read_uuid
    - rd_kafka_op_throttle_time
    - rd_kafka_fetch_reply_handle_partition
    - rd_kafka_buf_parse_fail
    - rd_rkb_dbg
    - rd_kafka_topic_find_by_topic_id
    - rd_kafkap_Fetch_reply_tags_destroy
    - rd_kafka_buf_read_str
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_fetch_reply_handle(rd_kafka_broker_t
      *rkb,\n                            rd_kafka_buf_t *rkbuf,\n                            rd_kafka_buf_t
      *request)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:904,1
    - Dst: rd_kafka_fetch_reply_handle
      Src: /src/librdkafka/src/rdkafka_fetcher.c:909,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:911,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:914,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:915,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_fetcher.c:924,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:925,1
    - Dst: rd_kafka_metadata_refresh_known_topics
      Src: /src/librdkafka/src/rdkafka_fetcher.c:926,1
    - Dst: rd_kafka_broker_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - reply
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 894
    functionDepth: 12
    functionLinenumber: 894
    functionLinenumberEnd: 944
    functionName: rd_kafka_broker_fetch_reply
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_fetch_backoff
    - rd_snprintf
    - rd_kafka_fetch_reply_handle
    - rd_kafka_err2str
    - rd_rkb_dbg
    - rd_kafka_metadata_refresh_known_topics
    - rd_kafka_assert
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_broker_fetch_reply(rd_kafka_t *rk,\n                                        rd_kafka_broker_t
      *rkb,\n                                        rd_kafka_resp_err_t err,\n                                        rd_kafka_buf_t
      *reply,\n                                        rd_kafka_buf_t *request,\n
      \                                       void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_fetcher.c:953,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_fetcher.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rkb
    argTypes:
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 960
    functionName: can_use_topic_ids
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_UUID_IS_ZERO
    - CIRCLEQ_LOOP_NEXT
    linkageType: ''
    returnType: rd_bool_t
    signature: rd_bool_t can_use_topic_ids(rd_kafka_broker_t *rkb)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:991,1
    - Dst: rd_kafka_broker_ApiVersion_supported
      Src: /src/librdkafka/src/rdkafka_fetcher.c:994,1
    - Dst: can_use_topic_ids
      Src: /src/librdkafka/src/rdkafka_fetcher.c:999,1
    - Dst: rd_kafka_buf_new_flexver_request
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1002,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1018,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1021,1
    - Dst: rd_kafka_buf_ApiVersion_set
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1024,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1029,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1031,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1034,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1036,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1038,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1040,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1043,1
    - Dst: rd_kafka_buf_write_i8
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1045,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1048,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1050,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1052,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1056,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1062,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1063,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1075,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1079,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1081,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1083,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1083,1
    - Dst: rd_kafka_buf_write_uuid
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1086,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1090,1
    - Dst: rd_kafka_buf_write_arraycnt_pos
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1098,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1105,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1107,1
    - Dst: rd_kafka_has_reliable_leader_epochs
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1110,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1119,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1121,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1126,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1128,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1130,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1131,1
    - Dst: rd_kafka_buf_write_i64
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1133,1
    - Dst: rd_kafka_buf_write_i32
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1136,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1139,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1141,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1145,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1152,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1155,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1156,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1160,1
    - Dst: rd_kafka_broker_active_toppar_next
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1165,1
    - Dst: CIRCLEQ_LOOP_NEXT
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1166,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1170,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1173,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1179,1
    - Dst: rd_kafka_buf_write_tags_empty
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1182,1
    - Dst: rd_kafka_buf_finalize_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1186,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1189,1
    - Dst: rd_kafka_buf_write_arraycnt
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1192,1
    - Dst: rd_kafka_buf_ApiVersion
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1194,1
    - Dst: rd_kafka_buf_write_kstr
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1196,1
    - Dst: rd_kafka_buf_set_timeout
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1204,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1210,1
    - Dst: rd_kafka_broker_buf_enq1
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1213,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 91
    argCount: 2
    argNames:
    - rkb
    - now
    argTypes:
    - rd_kafka_broker_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 970
    functionDepth: 9
    functionLinenumber: 970
    functionLinenumberEnd: 1216
    functionName: rd_kafka_broker_fetch_toppars
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_write_i8
    - rd_kafka_broker_ApiVersion_supported
    - rd_kafka_buf_ApiVersion
    - rd_kafka_buf_finalize_arraycnt
    - rd_kafka_buf_write_i32
    - rd_kafka_broker_buf_enq1
    - unlikely
    - rd_kafka_broker_active_toppar_next
    - rd_kafka_buf_set_timeout
    - rd_list_prealloc_elems
    - rd_kafka_buf_write_arraycnt
    - RD_KAFKA_UUID_IS_ZERO
    - rd_kafka_buf_new_flexver_request
    - rd_dassert
    - rd_kafka_buf_ApiVersion_set
    - RD_KAFKAP_STR_PR
    - rd_kafka_buf_write_tags_empty
    - rd_kafka_buf_write_arraycnt_pos
    - rd_kafka_has_reliable_leader_epochs
    - rd_list_sort
    - rd_list_add
    - CIRCLEQ_LOOP_NEXT
    - rd_kafka_buf_destroy
    - rd_list_new
    - rd_rkb_dbg
    - rd_kafka_buf_write_uuid
    - can_use_topic_ids
    - rd_kafka_buf_write_kstr
    - rd_kafka_toppar_keep
    - rd_kafka_buf_write_i64
    linkageType: ''
    returnType: int
    signature: int rd_kafka_broker_fetch_toppars(rd_kafka_broker_t *rkb, rd_ts_t now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fetch_pos_cmp
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1236
    functionName: rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 0
    functionsReached:
    - rd_kafka_fetch_pos_cmp
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_toppar_fetch_decide_start_from_next_fetch_start(\n
      \   rd_kafka_toppar_t *rktp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1250
    functionDepth: 4
    functionLinenumber: 1250
    functionLinenumberEnd: 1256
    functionName: rd_kafka_toppar_fetch_decide_next_fetch_start_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 1
    functionsReached:
    - rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
    linkageType: ''
    returnType: rd_kafka_fetch_pos_t
    signature: rd_kafka_fetch_pos_t rd_kafka_toppar_fetch_decide_next_fetch_start_pos(rd_kafka_toppar_t
      *rktp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1279,1
    - Dst: rd_interval
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1283,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1287,1
    - Dst: rd_kafka_toppar_delegate_to_leader
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1288,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1289,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1297,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1303,1
    - Dst: rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1318,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1326,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1334,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1335,1
    - Dst: rd_kafka_offset_stats_reset
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1337,1
    - Dst: rd_kafka_q_purge_toppar_version
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1349,1
    - Dst: RD_KAFKA_TOPPAR_IS_PAUSED
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1354,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1358,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1362,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1366,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1371,1
    - Dst: rd_kafka_q_size
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1375,1
    - Dst: rd_kafka_toppar_fetch_backoff
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1378,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1388,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1397,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1398,1
    - Dst: rd_kafka_q_size
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1400,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1406,1
    - Dst: rd_kafka_broker_active_toppar_add
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1407,1
    - Dst: rd_kafka_broker_active_toppar_del
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1410,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_fetcher.c:1414,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 3
    argNames:
    - rktp
    - rkb
    - force_remove
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_broker_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1270
    functionDepth: 7
    functionLinenumber: 1270
    functionLinenumberEnd: 1422
    functionName: rd_kafka_toppar_fetch_decide
    functionSourceFile: /src/librdkafka/src/rdkafka_fetcher.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_toppar_lock
    - rd_kafka_broker_active_toppar_del
    - RD_KAFKA_TOPPAR_IS_PAUSED
    - rd_kafka_q_purge_toppar_version
    - unlikely
    - rd_kafka_q_size
    - rd_kafka_broker_active_toppar_add
    - rd_kafka_toppar_fetch_backoff
    - rd_kafka_offset_stats_reset
    - rd_interval
    - rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
    - rd_kafka_toppar_delegate_to_leader
    - rd_dassert
    - rd_clock
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_rkb_dbg
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_ts_t
    signature: "rd_ts_t rd_kafka_toppar_fetch_decide(rd_kafka_toppar_t *rktp,\n                                     rd_kafka_broker_t
      *rkb,\n                                     int force_remove)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_background.c:48,1
    - Dst: rd_kafka_t*::rk_conf::background_event_cb
      Src: /src/librdkafka/src/rdkafka_background.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rk
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: rd_kafka_call_background_event_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_background.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_t*::rk_conf::background_event_cb
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_call_background_event_cb(rd_kafka_t *rk,\n                                                        rd_kafka_op_t
      *rko)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_background.c:77,1
    - Dst: rd_kafka_event_setup
      Src: /src/librdkafka/src/rdkafka_background.c:78,1
    - Dst: rd_kafka_call_background_event_cb
      Src: /src/librdkafka/src/rdkafka_background.c:79,1
    - Dst: rd_kafka_poll_cb
      Src: /src/librdkafka/src/rdkafka_background.c:90,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_background.c:95,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_background.c:98,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_background.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 66
    functionDepth: 13
    functionLinenumber: 66
    functionLinenumberEnd: 103
    functionName: rd_kafka_background_queue_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_background.c
    functionUses: 0
    functionsReached:
    - rd_kafka_log
    - rd_kafka_poll_cb
    - rd_kafka_call_background_event_cb
    - rd_kafka_op_destroy
    - rd_kafka_event_setup
    - likely
    - rd_kafka_op2str
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_background_queue_serve(rd_kafka_t *rk,\n
      \                               rd_kafka_q_t *rkq,\n                                rd_kafka_op_t
      *rko,\n                                rd_kafka_q_cb_type_t cb_type,\n                                void
      *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_set_thread_name
      Src: /src/librdkafka/src/rdkafka_background.c:112,1
    - Dst: rd_kafka_set_thread_sysname
      Src: /src/librdkafka/src/rdkafka_background.c:113,1
    - Dst: rd_kafka_interceptors_on_thread_start
      Src: /src/librdkafka/src/rdkafka_background.c:115,1
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_background.c:117,1
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_background.c:121,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_background.c:122,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_background.c:124,1
    - Dst: cnd_broadcast
      Src: /src/librdkafka/src/rdkafka_background.c:126,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_background.c:127,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_background.c:129,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_background.c:129,1
    - Dst: rd_kafka_q_serve
      Src: /src/librdkafka/src/rdkafka_background.c:130,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_background.c:137,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_background.c:138,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_background.c:140,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_background.c:141,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_background.c:142,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_background.c:144,1
    - Dst: rd_kafka_interceptors_on_thread_exit
      Src: /src/librdkafka/src/rdkafka_background.c:146,1
    - Dst: rd_atomic32_sub
      Src: /src/librdkafka/src/rdkafka_background.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 109
    functionDepth: 9
    functionLinenumber: 109
    functionLinenumberEnd: 151
    functionName: rd_kafka_background_thread_main
    functionSourceFile: /src/librdkafka/src/rdkafka_background.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_set_thread_sysname
    - rd_kafka_wrlock
    - rd_kafka_q_disable
    - cnd_broadcast
    - rd_atomic32_sub
    - rd_kafka_terminating
    - mtx_unlock
    - mtx_lock
    - rd_kafka_q_serve
    - rd_kafka_interceptors_on_thread_exit
    - rd_kafka_interceptors_on_thread_start
    - rd_kafka_set_thread_name
    - rd_kafka_log
    - rd_kafka_wrunlock
    - rd_atomic32_add
    - rd_kafka_q_purge
    - likely
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: int rd_kafka_background_thread_main(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_background.c:168,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_background.c:173,1
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_background.c:175,1
    - Dst: sigemptyset
      Src: /src/librdkafka/src/rdkafka_background.c:184,1
    - Dst: sigfillset
      Src: /src/librdkafka/src/rdkafka_background.c:185,1
    - Dst: sigaction
      Src: /src/librdkafka/src/rdkafka_background.c:189,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_background.c:191,1
    - Dst: thrd_create
      Src: /src/librdkafka/src/rdkafka_background.c:195,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_background.c:198,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_background.c:200,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_background.c:201,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_background.c:204,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_background.c:208,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_background.c:213,1
    - Dst: pthread_sigmask
      Src: /src/librdkafka/src/rdkafka_background.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - rk
    - errstr
    - errstr_size
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 221
    functionName: rd_kafka_background_thread_create
    functionSourceFile: /src/librdkafka/src/rdkafka_background.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_new
    - sigemptyset
    - mtx_lock
    - rd_snprintf
    - pthread_sigmask
    - thrd_create
    - rd_kafka_q_destroy_owner
    - rd_strerror
    - mtx_unlock
    - sigaction
    - sigfillset
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_background_thread_create(rd_kafka_t *rk,\n
      \                                                     char *errstr,\n                                                      size_t
      errstr_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/src/rdlog.c:44,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdlog.c:56,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdlog.c:59,1
    - Dst: isprint
      Src: /src/librdkafka/src/rdlog.c:60,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdlog.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - name
    - ptr
    - len
    argTypes:
    - FILE*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: rd_hexdump
    functionSourceFile: /src/librdkafka/src/rdlog.c
    functionUses: 1
    functionsReached:
    - fprintf
    - isprint
    - rd_snprintf
    linkageType: ''
    returnType: void
    signature: void rd_hexdump(FILE *fp, const char *name, const void *ptr, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/rdlog.c:71,1
    - Dst: rd_hexdump
      Src: /src/librdkafka/src/rdlog.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - what
    - iov_idx
    - iov
    - hexdump
    argTypes:
    - char*
    - int
    - struct iovec*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: rd_iov_print
    functionSourceFile: /src/librdkafka/src/rdlog.c
    functionUses: 0
    functionsReached:
    - printf
    - rd_hexdump
    linkageType: ''
    returnType: void
    signature: "void rd_iov_print(const char *what,\n                  int iov_idx,\n
      \                 const struct iovec *iov,\n                  int hexdump)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/src/rdlog.c:82,1
    - Dst: rd_iov_print
      Src: /src/librdkafka/src/rdlog.c:85,1
    - Dst: printf
      Src: /src/librdkafka/src/rdlog.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - what
    - msg
    - hexdump
    argTypes:
    - char*
    - struct msghdr*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 89
    functionName: rd_msghdr_print
    functionSourceFile: /src/librdkafka/src/rdlog.c
    functionUses: 0
    functionsReached:
    - rd_iov_print
    - printf
    linkageType: ''
    returnType: void
    signature: void rd_msghdr_print(const char *what, const struct msghdr *msg, int
      hexdump)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdunittest.c:71,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdunittest.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - file
    - func
    - line
    - covnr
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: rd_ut_coverage
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached:
    - rd_atomic64_add
    - rd_assert
    linkageType: ''
    returnType: void
    signature: void rd_ut_coverage(const char *file, const char *func, int line, int
      covnr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdunittest.c:80,1
    - Dst: rd_atomic64_get
      Src: /src/librdkafka/src/rdunittest.c:82,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdunittest.c:85,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdunittest.c:95,1
    - Dst: fprintf
      Src: /src/librdkafka/src/rdunittest.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - file
    - func
    - line
    - covnr
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: rd_ut_coverage_check
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_assert
    - rd_atomic64_get
    linkageType: ''
    returnType: int64_t
    signature: int64_t rd_ut_coverage_check(const char *file, const char *func, int
      line, int covnr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - head
    - val
    argTypes:
    - struct ut_tq_head*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: ut_tq_find_prev_pos
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct ut_tq
    signature: "struct ut_tq *ut_tq_find_prev_pos(const struct ut_tq_head *head,\n
      \                                        int val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(e, head, link)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:160,1
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdunittest.c:175,1
    - Dst: TAILQ_INIT
      Src: /src/librdkafka/src/rdunittest.c:176,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdunittest.c:179,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdunittest.c:181,1
    - Dst: ut_tq_find_prev_pos
      Src: /src/librdkafka/src/rdunittest.c:188,1
    - Dst: TAILQ_PREPEND
      Src: /src/librdkafka/src/rdunittest.c:192,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:198,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdunittest.c:198,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:200,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdunittest.c:200,1
    - Dst: memset
      Src: /src/librdkafka/src/rdunittest.c:202,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdunittest.c:203,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:206,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:206,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:208,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdunittest.c:212,1
    - Dst: TAILQ_INSERT_TAIL
      Src: /src/librdkafka/src/rdunittest.c:214,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:220,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:226,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:232,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:233,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:234,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:244,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:250,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:256,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:257,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:258,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:264,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:264,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:266,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdunittest.c:268,1
    - Dst: TAILQ_REMOVE
      Src: /src/librdkafka/src/rdunittest.c:269,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdunittest.c:270,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdunittest.c:273,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 1
    argNames:
    - args
    argTypes:
    - struct ut_tq_args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 276
    functionName: ut_tq_test
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached:
    - TAILQ_REMOVE
    - TAILQ_PREPEND
    - rd_free
    - TAILQ_EMPTY
    - TAILQ_LAST
    - ut_tq_find_prev_pos
    - RD_UT_WARN
    - rd_calloc
    - RD_UT_ASSERT
    - TAILQ_FIRST
    - rd_malloc
    - memset
    - TAILQ_INSERT_TAIL
    - TAILQ_INIT
    - RD_UT_SAY
    linkageType: ''
    returnType: int
    signature: int ut_tq_test(const struct ut_tq_args *args)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:220,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:226,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:232,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:233,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: TAILQ_FOREACH
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 70
    functionsReached:
    - RD_UT_WARN
    - TAILQ_LAST
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH(e, tqh[0], link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:244,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:250,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:256,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:257,1
    - Dst: TAILQ_LAST
      Src: /src/librdkafka/src/rdunittest.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: TAILQ_FOREACH_REVERSE
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 2
    functionsReached:
    - RD_UT_WARN
    - TAILQ_LAST
    linkageType: ''
    returnType: void
    signature: void TAILQ_FOREACH_REVERSE(e, tqh[0], ut_tq_head, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ut_tq_test
      Src: /src/librdkafka/src/rdunittest.c:343,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:345,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdunittest.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 348
    functionName: unittest_sysqueue
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached:
    - ut_tq_test
    - RD_UT_ASSERT
    - RD_UT_PASS
    linkageType: ''
    returnType: int
    signature: int unittest_sysqueue(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - LARGE_INTEGER *lpFrequency
    argTypes:
    - _Out_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: rd_ut_QueryPerformanceFrequency
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL rd_ut_QueryPerformanceFrequency(_Out_ LARGE_INTEGER *lpFrequency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - LARGE_INTEGER *lpPerformanceCount
    argTypes:
    - _Out_
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 379
    functionName: rd_ut_QueryPerformanceCounter
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL rd_ut_QueryPerformanceCounter(_Out_ LARGE_INTEGER *lpPerformanceCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdunittest.c:386,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdunittest.c:388,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:389,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdunittest.c:396,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:397,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdunittest.c:404,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdunittest.c:405,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdunittest.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 411
    functionName: unittest_rdclock
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 0
    functionsReached:
    - RD_UT_PASS
    - rd_clock
    - RD_UT_ASSERT
    linkageType: ''
    returnType: int
    signature: int unittest_rdclock(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdunittest.c:486,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdunittest.c:489,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdunittest.c:491,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:492,1
    - Dst: rd_strcmp
      Src: /src/librdkafka/src/rdunittest.c:496,1
    - Dst: rd_getenv
      Src: /src/librdkafka/src/rdunittest.c:496,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:497,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:503,1
    - Dst: rd_kafka_global_init
      Src: /src/librdkafka/src/rdunittest.c:507,1
    - Dst: rd_atomic64_init
      Src: /src/librdkafka/src/rdunittest.c:511,1
    - Dst: strstr
      Src: /src/librdkafka/src/rdunittest.c:517,1
    - Dst: call
      Src: /src/librdkafka/src/rdunittest.c:520,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:521,1
    - Dst: RD_UT_COVERAGE_CHECK
      Src: /src/librdkafka/src/rdunittest.c:535,1
    - Dst: RD_UT_SAY
      Src: /src/librdkafka/src/rdunittest.c:539,1
    - Dst: RD_UT_WARN
      Src: /src/librdkafka/src/rdunittest.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 549
    functionName: rd_unittest
    functionSourceFile: /src/librdkafka/src/rdunittest.c
    functionUses: 1
    functionsReached:
    - RD_UT_WARN
    - call
    - rd_atomic64_init
    - rd_strcmp
    - strstr
    - rd_kafka_global_init
    - RD_UT_COVERAGE_CHECK
    - RD_UT_SAY
    - rd_getenv
    linkageType: ''
    returnType: int
    signature: int rd_unittest(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:234,1
    - Dst: rd_kafka_broker_id
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:238,1
    - Dst: rd_kafka_q_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - msetr
    - rkbuf
    - rktp
    - tver
    - aborted_txns
    - par_rkq
    argTypes:
    - rd_kafka_msgset_reader_t*
    - rd_kafka_buf_t*
    - rd_kafka_toppar_t*
    - struct rd_kafka_toppar_ver*
    - rd_kafka_aborted_txns_t*
    - rd_kafka_q_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 260
    functionName: rd_kafka_msgset_reader_init
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_init
    - memset
    - rd_kafka_broker_id
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgset_reader_init(rd_kafka_msgset_reader_t *msetr,\n
      \                                       rd_kafka_buf_t *rkbuf,\n                                        rd_kafka_toppar_t
      *rktp,\n                                        const struct rd_kafka_toppar_ver
      *tver,\n                                        rd_kafka_aborted_txns_t *aborted_txns,\n
      \                                       rd_kafka_q_t *par_rkq)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rd_gz_decompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:290,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:292,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:293,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:323,1
    - Dst: memcmp
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:324,1
    - Dst: rd_kafka_snappy_java_uncompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:330,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:333,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:334,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:353,1
    - Dst: rd_kafka_snappy_uncompressed_length
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:353,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:355,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:368,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:369,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:370,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:378,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:384,1
    - Dst: rd_kafka_snappy_uncompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:384,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:386,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:393,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:394,1
    - Dst: rd_kafka_lz4_decompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:405,1
    - Dst: rd_kafka_zstd_decompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:418,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:427,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:439,1
    - Dst: rd_kafka_buf_new_shadow
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:448,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:450,1
    - Dst: rd_kafka_msgset_reader_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:463,1
    - Dst: rd_kafka_msgset_reader_run
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:487,1
    - Dst: rd_kafka_msgset_reader_msgs_v2
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:505,1
    - Dst: rd_kafka_buf_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:513,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:520,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:525,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 99
    argCount: 7
    argNames:
    - msetr
    - MsgVersion
    - Attributes
    - Timestamp
    - Offset
    - compressed
    - compressed_size
    argTypes:
    - rd_kafka_msgset_reader_t*
    - int
    - int
    - int64_t
    - int64_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 268
    functionDepth: 9
    functionLinenumber: 268
    functionLinenumberEnd: 528
    functionName: rd_kafka_msgset_reader_decompress
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - memcmp
    - rd_kafka_snappy_java_uncompress
    - rd_gz_decompress
    - unlikely
    - rd_kafka_err2str
    - rd_strerror
    - rd_kafka_msgset_reader_run
    - rd_kafka_broker_keep
    - rd_kafka_consumer_err
    - rd_kafka_lz4_decompress
    - rd_kafka_snappy_uncompressed_length
    - rd_kafka_msgset_reader_msgs_v2
    - rd_free
    - rd_kafka_buf_destroy
    - rd_kafka_zstd_decompress
    - rd_kafka_msgset_reader_init
    - rd_rkb_dbg
    - rd_malloc
    - rd_kafka_buf_new_shadow
    - rd_kafka_snappy_uncompress
    - likely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_msgset_reader_decompress(rd_kafka_msgset_reader_t
      *msetr,\n                                  int MsgVersion,\n                                  int
      Attributes,\n                                  int64_t Timestamp,\n                                  int64_t
      Offset,\n                                  const void *compressed,\n                                  size_t
      compressed_size)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:568,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:569,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:570,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:572,1
    - Dst: rd_slice_narrow_copy_relative
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:573,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:575,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:577,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:578,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:581,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:594,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:595,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:602,1
    - Dst: rd_slice_crc32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:608,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:609,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:609,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:611,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:614,1
    - Dst: rd_kafka_buf_skip_to
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:626,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:627,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:635,1
    - Dst: rd_kafka_buf_read_kbytes
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:638,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:639,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:660,1
    - Dst: rd_kafka_msgset_reader_decompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:661,1
    - Dst: rd_kafka_op_new_fetch_msg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:671,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:673,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:674,1
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:675,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:676,1
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:677,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:698,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:706,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 539
    functionDepth: 10
    functionLinenumber: 539
    functionLinenumberEnd: 708
    functionName: rd_kafka_msgset_reader_msg_v0_1
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_skip_to
    - rd_slice_remains
    - rd_atomic64_add
    - rd_kafka_buf_read_i64
    - rd_kafka_op_new_fetch_msg
    - rd_kafka_buf_read_i8
    - unlikely
    - rd_kafka_msgset_reader_decompress
    - rd_slice_offset
    - rd_slice_crc32
    - RD_KAFKAP_BYTES_IS_NULL
    - rd_kafka_consumer_err
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_q_enq
    - rd_slice_narrow_copy_relative
    - rd_dassert
    - rd_kafka_buf_read_i32
    - rd_kafka_buf_read_kbytes
    - RD_KAFKA_FETCH_POS
    - rd_kafka_buf_parse_fail
    - rd_kafka_buf_check_len
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader_msg_v0_1(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:739,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:741,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:742,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:744,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:745,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:747,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:756,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:762,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:763,1
    - Dst: rd_kafka_buf_skip_to
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:764,1
    - Dst: rd_kafka_buf_read_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:777,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:779,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:780,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:788,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:791,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:794,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:801,1
    - Dst: rd_kafka_buf_skip_to
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:802,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:807,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:808,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:816,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:819,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:822,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:824,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:836,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:837,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:849,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:857,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:861,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:862,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:875,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:883,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:893,1
    - Dst: rd_kafka_op_new_ctrl_msg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:897,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:899,1
    - Dst: rd_kafka_buf_read_kbytes_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:910,1
    - Dst: rd_kafka_buf_read_kbytes_varint
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:911,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:916,1
    - Dst: rd_kafka_buf_read_ptr
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:917,1
    - Dst: rd_kafka_op_new_fetch_msg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:920,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:922,1
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:923,1
    - Dst: RD_KAFKAP_BYTES_LEN
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:924,1
    - Dst: RD_KAFKAP_BYTES_IS_NULL
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:925,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:955,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:963,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 715
    functionDepth: 9
    functionLinenumber: 715
    functionLinenumberEnd: 965
    functionName: rd_kafka_msgset_reader_msg_v2
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_skip_to
    - rd_atomic64_add
    - rd_kafka_op_new_fetch_msg
    - rd_kafka_buf_read_i8
    - rd_kafka_aborted_txns_pop_offset
    - unlikely
    - rd_slice_offset
    - rd_kafka_buf_read_varint
    - RD_KAFKAP_BYTES_IS_NULL
    - rd_kafka_q_enq
    - RD_KAFKAP_BYTES_LEN
    - rd_kafka_buf_skip
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_ptr
    - rd_kafka_op_new_ctrl_msg
    - RD_KAFKA_FETCH_POS
    - rd_kafka_fetch_pos2str
    - rd_kafka_buf_parse_fail
    - rd_kafka_buf_read_kbytes_varint
    - rd_rkb_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader_msg_v2(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:988,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:994,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1005,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1007,1
    - Dst: rd_kafka_buf_read_remain
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1014,1
    - Dst: rd_kafka_msgset_reader_msg_v2
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1016,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1017,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1025,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 971
    functionDepth: 10
    functionLinenumber: 971
    functionLinenumberEnd: 1028
    functionName: rd_kafka_msgset_reader_msgs_v2
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_kafka_buf_read_remain
    - rd_slice_remains
    - rd_atomic64_add
    - rd_kafka_aborted_txns_get_offset
    - rd_kafka_buf_skip
    - rd_rkb_dbg
    - unlikely
    - rd_kafka_msgset_reader_msg_v2
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader_msgs_v2(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1051,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1052,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1053,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1055,1
    - Dst: rd_kafka_buf_parse_fail
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1056,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1066,1
    - Dst: rd_kafka_buf_read_i8
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1069,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1070,1
    - Dst: rd_slice_narrow_copy_relative
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1078,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1080,1
    - Dst: rd_slice_crc32c
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1082,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1084,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1087,1
    - Dst: rd_kafka_buf_skip_to
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1099,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1100,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1105,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1106,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1108,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1109,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1110,1
    - Dst: rd_kafka_buf_read_i16
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1111,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1112,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1113,1
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1117,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1119,1
    - Dst: rd_kafka_buf_read_remain
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1119,1
    - Dst: rd_kafka_buf_underflow_fail
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1120,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1130,1
    - Dst: rd_slice_ensure_contig
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1144,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1145,1
    - Dst: rd_kafka_msgset_reader_decompress
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1147,1
    - Dst: rd_slice_narrow_relative
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1160,1
    - Dst: rd_kafka_buf_check_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1162,1
    - Dst: rd_kafka_msgset_reader_msgs_v2
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1165,1
    - Dst: rd_slice_widen
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1168,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1170,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1035
    functionDepth: 11
    functionLinenumber: 1035
    functionLinenumberEnd: 1194
    functionName: rd_kafka_msgset_reader_v2
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_buf_read_remain
    - rd_assert
    - rd_kafka_buf_skip_to
    - rd_atomic64_add
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_read_i8
    - rd_slice_narrow_relative
    - unlikely
    - rd_kafka_msgset_reader_decompress
    - rd_slice_offset
    - rd_slice_ensure_contig
    - rd_slice_crc32c
    - rd_kafka_consumer_err
    - rd_slice_narrow_copy_relative
    - rd_kafka_buf_skip
    - rd_kafka_buf_read_i16
    - rd_kafka_buf_read_i32
    - rd_kafka_msgset_reader_msgs_v2
    - rd_kafka_buf_parse_fail
    - rd_slice_widen
    - rd_kafka_buf_underflow_fail
    - rd_kafka_buf_check_len
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader_v2(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_slice_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1215,1
    - Dst: rd_kafka_buf_peek_i8
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1217,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1219,1
    - Dst: rd_kafka_buf_read_i64
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1223,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1225,1
    - Dst: rd_slice_size
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1237,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1241,1
    - Dst: rd_kafka_buf_read_i32
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1256,1
    - Dst: rd_kafka_buf_skip
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - msetr
    - MagicBytep
    argTypes:
    - rd_kafka_msgset_reader_t*
    - int8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1205
    functionDepth: 3
    functionLinenumber: 1205
    functionLinenumberEnd: 1266
    functionName: rd_kafka_msgset_reader_peek_msg_version
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_slice_offset
    - rd_kafka_consumer_err
    - rd_slice_size
    - rd_kafka_buf_peek_i8
    - rd_kafka_buf_read_i64
    - rd_kafka_buf_skip
    - rd_rkb_dbg
    - rd_kafka_buf_read_i32
    - unlikely
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_msgset_reader_peek_msg_version(rd_kafka_msgset_reader_t
      *msetr,\n                                        int8_t *MagicBytep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgset_reader_peek_msg_version
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1292,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1293,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1272
    functionDepth: 4
    functionLinenumber: 1272
    functionLinenumberEnd: 1311
    functionName: rd_kafka_msgset_reader
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_slice_remains
    - unlikely
    - rd_kafka_msgset_reader_peek_msg_version
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_last
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1325,1
    - Dst: rd_kafka_q_fix_offsets
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - msetr
    - last_offsetp
    argTypes:
    - rd_kafka_msgset_reader_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1340
    functionName: rd_kafka_msgset_reader_postproc
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_last
    - rd_kafka_q_fix_offsets
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgset_reader_postproc(rd_kafka_msgset_reader_t *msetr,\n
      \                                           int64_t *last_offsetp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgset_reader
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1362,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1364,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1364,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1385,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1397,1
    - Dst: rd_kafka_msgset_reader_postproc
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1415,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1425,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1431,1
    - Dst: rd_kafka_q_len
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1433,1
    - Dst: rd_kafka_compression2str
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1437,1
    - Dst: rd_kafka_q_concat
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1442,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1445,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1456,1
    - Dst: rd_slice_read
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1460,1
    - Dst: rd_slice_remains
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1461,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - msetr
    argTypes:
    - rd_kafka_msgset_reader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1355
    functionDepth: 8
    functionLinenumber: 1355
    functionLinenumberEnd: 1463
    functionName: rd_kafka_msgset_reader_run
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_kafka_q_len
    - rd_kafka_consumer_err
    - rd_slice_remains
    - rd_kafka_compression2str
    - rd_kafka_msgset_reader
    - rd_kafka_q_concat
    - rd_rkb_dbg
    - rd_kafka_q_destroy_owner
    - rd_kafka_msgset_reader_postproc
    - likely
    - unlikely
    - rd_slice_read
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: rd_kafka_resp_err_t rd_kafka_msgset_reader_run(rd_kafka_msgset_reader_t
      *msetr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgset_reader_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1483,1
    - Dst: rd_kafka_msgset_reader_run
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1487,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1489,1
    - Dst: rd_atomic64_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1490,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1492,1
    - Dst: rd_avg_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - rkbuf
    - request
    - rktp
    - aborted_txns
    - tver
    argTypes:
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - rd_kafka_toppar_t*
    - rd_kafka_aborted_txns_t*
    - struct rd_kafka_toppar_ver*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1474
    functionDepth: 9
    functionLinenumber: 1474
    functionLinenumberEnd: 1498
    functionName: rd_kafka_msgset_parse
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_atomic64_add
    - rd_kafka_msgset_reader_init
    - rd_avg_add
    - rd_kafka_msgset_reader_run
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_msgset_parse(rd_kafka_buf_t *rkbuf,\n
      \                     rd_kafka_buf_t *request,\n                      rd_kafka_toppar_t
      *rktp,\n                      rd_kafka_aborted_txns_t *aborted_txns,\n                      const
      struct rd_kafka_toppar_ver *tver)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: rd_kafka_offset_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_offset_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1516
    functionName: rd_kafka_aborted_txn_cmp_by_pid
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rd_kafka_aborted_txn_cmp_by_pid(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1524,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _node_ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 3
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: rd_kafka_aborted_txn_node_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_list_destroy
    - rd_free
    linkageType: ''
    returnType: void
    signature: void rd_kafka_aborted_txn_node_destroy(void *_node_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1535,1
    - Dst: rd_avl_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1536,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - txn_cnt
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1533
    functionDepth: 3
    functionLinenumber: 1533
    functionLinenumberEnd: 1541
    functionName: rd_kafka_aborted_txns_new
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_malloc
    - rd_avl_init
    - rd_list_init
    linkageType: ''
    returnType: rd_kafka_aborted_txns_t
    signature: rd_kafka_aborted_txns_t *rd_kafka_aborted_txns_new(int32_t txn_cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1549,1
    - Dst: rd_avl_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1550,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - aborted_txns
    argTypes:
    - rd_kafka_aborted_txns_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1552
    functionName: rd_kafka_aborted_txns_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_list_destroy
    - rd_free
    - rd_avl_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_aborted_txns_destroy(rd_kafka_aborted_txns_t *aborted_txns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_AVL_FIND
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1565
    functionName: "rd_kafka_aborted_txn_start_offsets_t *\nrd_kafka_aborted_txns_offsets_for_pid(rd_kafka_aborted_txns_t
      *aborted_txns,\n                                      int64_t pid)"
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - RD_AVL_FIND
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_aborted_txn_start_offsets_t *\nrd_kafka_aborted_txns_offsets_for_pid(rd_kafka_aborted_txns_t
      *aborted_txns,\n                                      int64_t pid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_offsets_for_pid
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1590,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1595,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1595,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1599,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1601,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - aborted_txns
    - pid
    - increment_idx
    - max_offset
    argTypes:
    - rd_kafka_aborted_txns_t*
    - int64_t
    - rd_bool_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1583
    functionDepth: 1
    functionLinenumber: 1583
    functionLinenumberEnd: 1608
    functionName: rd_kafka_aborted_txns_next_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_list_elem
    - rd_list_cnt
    - rd_kafka_aborted_txns_offsets_for_pid
    - unlikely
    linkageType: ''
    returnType: int64_t
    signature: "int64_t rd_kafka_aborted_txns_next_offset(rd_kafka_aborted_txns_t
      *aborted_txns,\n                                  int64_t pid,\n                                  rd_bool_t
      increment_idx,\n                                  int64_t max_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_next_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - aborted_txns
    - pid
    - max_offset
    argTypes:
    - rd_kafka_aborted_txns_t*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1630
    functionName: rd_kafka_aborted_txns_pop_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_kafka_aborted_txns_next_offset
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_aborted_txns_pop_offset(rd_kafka_aborted_txns_t
      *aborted_txns,\n                                 int64_t pid,\n                                 int64_t
      max_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_next_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - aborted_txns
    - pid
    argTypes:
    - rd_kafka_aborted_txns_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1639
    functionDepth: 2
    functionLinenumber: 1639
    functionLinenumberEnd: 1644
    functionName: rd_kafka_aborted_txns_get_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_kafka_aborted_txns_next_offset
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_aborted_txns_get_offset(const rd_kafka_aborted_txns_t
      *aborted_txns,\n                                 int64_t pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_offsets_for_pid
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1656,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1659,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1662,1
    - Dst: rd_list_prealloc_elems
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1664,1
    - Dst: RD_AVL_INSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1666,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1667,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - aborted_txns
    - pid
    - first_offset
    argTypes:
    - rd_kafka_aborted_txns_t*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1651
    functionDepth: 3
    functionLinenumber: 1651
    functionLinenumberEnd: 1672
    functionName: rd_kafka_aborted_txns_add
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_list_add
    - rd_kafka_aborted_txns_offsets_for_pid
    - rd_list_prealloc_elems
    - rd_malloc
    - rd_list_init
    - RD_AVL_INSERT
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_aborted_txns_add(rd_kafka_aborted_txns_t *aborted_txns,\n
      \                              int64_t pid,\n                               int64_t
      first_offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1681,1
    - Dst: rd_list_elem
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1683,1
    - Dst: rd_list_sort
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - aborted_txns
    argTypes:
    - rd_kafka_aborted_txns_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1686
    functionName: rd_kafka_aborted_txns_sort
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 1
    functionsReached:
    - rd_list_elem
    - rd_list_sort
    - rd_list_cnt
    linkageType: ''
    returnType: void
    signature: void rd_kafka_aborted_txns_sort(rd_kafka_aborted_txns_t *aborted_txns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_aborted_txns_new
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1697,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1698,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1699,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1700,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1701,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1702,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1703,1
    - Dst: rd_kafka_aborted_txns_add
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1704,1
    - Dst: rd_kafka_aborted_txns_sort
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1705,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1707,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1708,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1714,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1715,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1722,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1723,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1729,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1730,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1736,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1737,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1743,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1745,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1746,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1752,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1754,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1755,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1761,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1762,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1768,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1770,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1771,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1778,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1779,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1785,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1786,1
    - Dst: rd_kafka_aborted_txns_pop_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1787,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1789,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1790,1
    - Dst: rd_kafka_aborted_txns_get_offset
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1796,1
    - Dst: RD_UT_ASSERT
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1797,1
    - Dst: rd_kafka_aborted_txns_destroy
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1803,1
    - Dst: RD_UT_PASS
      Src: /src/librdkafka/src/rdkafka_msgset_reader.c:1805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1693
    functionDepth: 4
    functionLinenumber: 1693
    functionLinenumberEnd: 1806
    functionName: unittest_aborted_txns
    functionSourceFile: /src/librdkafka/src/rdkafka_msgset_reader.c
    functionUses: 0
    functionsReached:
    - rd_kafka_aborted_txns_get_offset
    - RD_UT_ASSERT
    - rd_kafka_aborted_txns_new
    - rd_kafka_aborted_txns_destroy
    - RD_UT_PASS
    - rd_kafka_aborted_txns_add
    - rd_kafka_aborted_txns_sort
    - rd_kafka_aborted_txns_pop_offset
    linkageType: ''
    returnType: int
    signature: int unittest_aborted_txns(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_add
      Src: /src/librdkafka/src/rdkafka_partition.c:62,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rktp
    - func
    - line
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: rd_kafka_toppar_version_new_barrier0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_atomic32_add
    - rd_kafka_dbg
    linkageType: ''
    returnType: RD_INLINE
    signature: "RD_INLINE rd_kafka_toppar_version_new_barrier0(rd_kafka_toppar_t *rktp,\n
      \                                    const char *func,\n                                     int
      line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rktp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: rd_kafka_toppar_version_new_barrier
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rd_kafka_toppar_version_new_barrier(rktp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:88,1
    - Dst: rd_kafka_handle_ListOffsets
      Src: /src/librdkafka/src/rdkafka_partition.c:91,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:95,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:99,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:105,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:107,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:110,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 115
    functionName: rd_kafka_toppar_lag_handle_Offset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_handle_ListOffsets
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_lag_handle_Offset(rd_kafka_t *rk,\n                                              rd_kafka_broker_t
      *rkb,\n                                              rd_kafka_resp_err_t err,\n
      \                                             rd_kafka_buf_t *rkbuf,\n                                              rd_kafka_buf_t
      *request,\n                                              void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:132,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:141,1
    - Dst: rd_kafka_broker_ApiVersion_at_least
      Src: /src/librdkafka/src/rdkafka_partition.c:149,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:151,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:157,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:158,1
    - Dst: rd_kafka_topic_partition_set_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:161,1
    - Dst: rd_kafka_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka_partition.c:166,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:167,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:170,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:172,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 125
    functionDepth: 9
    functionLinenumber: 125
    functionLinenumberEnd: 175
    functionName: rd_kafka_toppar_consumer_lag_req
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_set_current_leader_epoch
    - rd_kafka_topic_partition_list_new
    - rd_kafka_broker_ApiVersion_at_least
    - rd_kafka_ListOffsetsRequest
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_toppar_keep
    - rd_kafka_toppar_unlock
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_consumer_lag_req(rd_kafka_toppar_t *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_consumer_lag_req
      Src: /src/librdkafka/src/rdkafka_partition.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 10
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: rd_kafka_toppar_consumer_lag_tmr_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_consumer_lag_req
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_consumer_lag_tmr_cb(rd_kafka_timers_t *rkts,\n
      \                                               void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:202,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:205,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - rktp
    - version
    argTypes:
    - rd_kafka_toppar_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 9
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: rd_kafka_toppar_op_version_bump
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_toppar_keep
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_op_version_bump(rd_kafka_toppar_t *rktp, int32_t
      version)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.c:222,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_partition.c:229,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_partition.c:230,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_partition.c:231,1
    - Dst: rd_interval_init
      Src: /src/librdkafka/src/rdkafka_partition.c:232,1
    - Dst: rd_kafka_offset_stats_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:241,1
    - Dst: rd_kafka_offset_stats_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:242,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:246,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:247,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:248,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:249,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:250,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:251,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:252,1
    - Dst: rd_kafka_fetch_pos_init
      Src: /src/librdkafka/src/rdkafka_partition.c:253,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_partition.c:254,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_partition.c:255,1
    - Dst: mtx_init
      Src: /src/librdkafka/src/rdkafka_partition.c:256,1
    - Dst: rd_refcnt_init
      Src: /src/librdkafka/src/rdkafka_partition.c:258,1
    - Dst: rd_kafka_consume_q_new
      Src: /src/librdkafka/src/rdkafka_partition.c:259,1
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_partition.c:260,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_partition.c:263,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_partition.c:264,1
    - Dst: rd_atomic32_init
      Src: /src/librdkafka/src/rdkafka_partition.c:266,1
    - Dst: rd_kafka_pid_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:267,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_partition.c:284,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:289,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka_partition.c:291,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:292,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 4
    argNames:
    - rkt
    - partition
    - func
    - line
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 298
    functionName: rd_kafka_toppar_new0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_new
    - rd_refcnt_init
    - rd_interval_init
    - rd_kafka_q_fwd_set
    - rd_kafka_topic_keep
    - rd_atomic32_init
    - rd_calloc
    - rd_kafka_pid_reset
    - rd_kafka_msgq_init
    - rd_atomic32_get
    - rd_kafka_consume_q_new
    - rd_kafka_fetch_pos_init
    - mtx_init
    - rd_kafka_timer_start
    - rd_kafka_offset_stats_reset
    - rd_kafka_toppar_keep
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_new0(rd_kafka_topic_t *rkt,\n                                        int32_t
      partition,\n                                        const char *func,\n                                        int
      line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:308,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:313,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:315,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:317,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka_partition.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 307
    functionDepth: 2
    functionLinenumber: 307
    functionLinenumberEnd: 321
    functionName: rd_kafka_toppar_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_fwd_set
    - rd_kafka_timer_stop
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_remove(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_remove
      Src: /src/librdkafka/src/rdkafka_partition.c:329,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:331,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:337,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_partition.c:338,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:339,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_partition.c:341,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_partition.c:342,1
    - Dst: rd_kafka_replyq_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:344,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:346,1
    - Dst: mtx_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:348,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:351,1
    - Dst: rd_refcnt_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:353,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:355,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 357
    functionName: rd_kafka_toppar_destroy_final
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_broker_destroy
    - rd_kafka_topic_destroy0
    - rd_kafka_dr_msgq
    - rd_kafka_q_destroy_owner
    - rd_kafka_replyq_destroy
    - mtx_destroy
    - rd_refcnt_destroy
    - rd_kafka_assert
    - rd_kafka_msgq_len
    - rd_kafka_toppar_remove
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_destroy_final(rd_kafka_toppar_t *rktp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:370,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:373,1
    - Dst: rd_kafka_broker_wakeup
      Src: /src/librdkafka/src/rdkafka_partition.c:384,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:387,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:391,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:393,1
    - Dst: rd_kafka_toppar_fetch_decide_next_fetch_start_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - rktp
    - fetch_state
    argTypes:
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 366
    functionDepth: 5
    functionLinenumber: 366
    functionLinenumberEnd: 397
    functionName: rd_kafka_toppar_set_fetch_state
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_wakeup
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_fetch_decide_next_fetch_start_pos
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_set_fetch_state(rd_kafka_toppar_t *rktp, int fetch_state)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_keep_fl
      Src: /src/librdkafka/src/rdkafka_partition.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - func
    - line
    - rkt
    - partition
    - ua_on_miss
    argTypes:
    - char*
    - int
    - rd_kafka_topic_t*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 429
    functionName: rd_kafka_toppar_get0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_keep_fl
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_get0(const char *func,\n                                        int
      line,\n                                        const rd_kafka_topic_t *rkt,\n
      \                                       int32_t partition,\n                                        int
      ua_on_miss)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_partition.c:447,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:450,1
    - Dst: rd_kafka_topic_find
      Src: /src/librdkafka/src/rdkafka_partition.c:450,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:452,1
    - Dst: rd_kafka_topic_new0
      Src: /src/librdkafka/src/rdkafka_partition.c:455,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:457,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_partition.c:458,1
    - Dst: rd_strerror
      Src: /src/librdkafka/src/rdkafka_partition.c:460,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:465,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_partition.c:467,1
    - Dst: rd_kafka_toppar_desired_add
      Src: /src/librdkafka/src/rdkafka_partition.c:468,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:469,1
    - Dst: rd_kafka_topic_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - rk
    - topic
    - partition
    - ua_on_miss
    - create_on_miss
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 439
    functionDepth: 5
    functionLinenumber: 439
    functionLinenumberEnd: 474
    functionName: rd_kafka_toppar_get2
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 6
    functionsReached:
    - rd_kafka_log
    - rd_kafka_wrlock
    - rd_kafka_wrunlock
    - rd_kafka_topic_destroy0
    - rd_kafka_toppar_desired_add
    - rd_kafka_topic_find
    - rd_strerror
    - rd_kafka_topic_wrlock
    - rd_kafka_topic_new0
    - rd_kafka_topic_wrunlock
    - unlikely
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_get2(rd_kafka_t *rk,\n                                        const
      char *topic,\n                                        int32_t partition,\n                                        int
      ua_on_miss,\n                                        int create_on_miss)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:514,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:527,1
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_partition.c:532,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - rkt
    - partition
    - ua_on_miss
    - errp
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    - int
    - rd_kafka_resp_err_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 545
    functionName: rd_kafka_toppar_get_avail
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_assert
    - unlikely
    - rd_kafka_toppar_get
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_get_avail(const rd_kafka_topic_t
      *rkt,\n                                             int32_t partition,\n                                             int
      ua_on_miss,\n                                             rd_kafka_resp_err_t
      *errp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_LIST_FOREACH
      Src: /src/librdkafka/src/rdkafka_partition.c:567,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rkt
    - partition
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 573
    functionName: rd_kafka_toppar_desired_get
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 6
    functionsReached:
    - RD_LIST_FOREACH
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_desired_get(rd_kafka_topic_t *rkt,\n
      \                                              int32_t partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:586,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:587,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 3
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: rd_kafka_toppar_desired_link
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_interval_reset
    - rd_list_add
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_desired_link(rd_kafka_toppar_t *rktp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_remove
      Src: /src/librdkafka/src/rdkafka_partition.c:602,1
    - Dst: rd_interval_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:603,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: rd_kafka_toppar_desired_unlink
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_interval_reset
    - rd_list_remove
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_desired_unlink(rd_kafka_toppar_t *rktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:619,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:630,1
    - Dst: rd_kafka_toppar_desired_link
      Src: /src/librdkafka/src/rdkafka_partition.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 615
    functionDepth: 4
    functionLinenumber: 615
    functionLinenumberEnd: 636
    functionName: rd_kafka_toppar_desired_add0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_desired_link
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_desired_add0(rd_kafka_toppar_t *rktp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_get
      Src: /src/librdkafka/src/rdkafka_partition.c:649,1
    - Dst: rd_kafka_toppar_desired_get
      Src: /src/librdkafka/src/rdkafka_partition.c:652,1
    - Dst: rd_kafka_toppar_new
      Src: /src/librdkafka/src/rdkafka_partition.c:655,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:657,1
    - Dst: rd_kafka_toppar_desired_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:658,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - rkt
    - partition
    argTypes:
    - rd_kafka_topic_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 645
    functionDepth: 5
    functionLinenumber: 645
    functionLinenumberEnd: 662
    functionName: rd_kafka_toppar_desired_add
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_new
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_get
    - rd_kafka_toppar_desired_add0
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_desired_get
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *rd_kafka_toppar_desired_add(rd_kafka_topic_t *rkt,\n
      \                                              int32_t partition)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_desired_unlink
      Src: /src/librdkafka/src/rdkafka_partition.c:677,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:679,1
    - Dst: rd_kafka_toppar_broker_leave_for_remove
      Src: /src/librdkafka/src/rdkafka_partition.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 688
    functionName: rd_kafka_toppar_desired_del
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_toppar_desired_unlink
    - rd_kafka_toppar_broker_leave_for_remove
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_desired_del(rd_kafka_toppar_t *rktp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:700,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:709,1
    - Dst: rd_kafka_msgq_enq_sorted
      Src: /src/librdkafka/src/rdkafka_partition.c:711,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:714,1
    - Dst: rd_kafka_msgq_may_wakeup
      Src: /src/librdkafka/src/rdkafka_partition.c:715,1
    - Dst: rd_kafka_q_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:719,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:722,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:724,1
    - Dst: rd_kafka_q_yield
      Src: /src/librdkafka/src/rdkafka_partition.c:725,1
    - Dst: rd_kafka_q_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - rktp
    - rkm
    - now
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_msg_t*
    - rd_ts_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 728
    functionName: rd_kafka_toppar_enq_msg
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_keep
    - rd_kafka_toppar_lock
    - rd_kafka_q_destroy
    - rd_kafka_msgq_may_wakeup
    - rd_kafka_q_yield
    - rd_kafka_toppar_unlock
    - rd_kafka_msgq_enq_sorted
    - rd_kafka_msgq_enq
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_enq_msg(rd_kafka_toppar_t *rktp,\n                             rd_kafka_msg_t
      *rkm,\n                             rd_ts_t now)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_msgq_concat
      Src: /src/librdkafka/src/rdkafka_partition.c:749,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:750,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_partition.c:754,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:755,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:757,1
    - Dst: rd_kafka_msgq_find_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:769,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:771,1
    - Dst: rd_kafka_msgq_split
      Src: /src/librdkafka/src/rdkafka_partition.c:774,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:776,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:777,1
    - Dst: rd_kafka_msgq_init
      Src: /src/librdkafka/src/rdkafka_partition.c:779,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:784,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:784,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:785,1
    - Dst: TAILQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:785,1
    - Dst: TAILQ_INSERT_LIST_BEFORE
      Src: /src/librdkafka/src/rdkafka_partition.c:786,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:794,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:795,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_partition.c:798,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 3
    argNames:
    - destq
    - insert_before
    - srcq
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msg_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 801
    functionName: rd_kafka_msgq_insert_msgq_before
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - TAILQ_INSERT_LIST_BEFORE
    - rd_assert
    - cmp
    - TAILQ_EMPTY
    - rd_kafka_msgq_move
    - rd_kafka_msgq_concat
    - rd_kafka_msgq_verify_order
    - rd_dassert
    - rd_kafka_msgq_find_pos
    - rd_kafka_msgq_init
    - rd_kafka_msgq_split
    - rd_kafka_msgq_last
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_insert_msgq_before(rd_kafka_msgq_t *destq,\n                                             rd_kafka_msg_t
      *insert_before,\n                                             rd_kafka_msgq_t
      *srcq,\n                                             int (*cmp)(const void *a,\n
      \                                                       const void *b))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:813,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:813,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:818,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:818,1
    - Dst: rd_kafka_msgq_move
      Src: /src/librdkafka/src/rdkafka_partition.c:820,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:821,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:834,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:835,1
    - Dst: rd_kafka_msgq_last
      Src: /src/librdkafka/src/rdkafka_partition.c:837,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_partition.c:838,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_partition.c:841,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:841,1
    - Dst: rd_kafka_msgq_concat
      Src: /src/librdkafka/src/rdkafka_partition.c:842,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:844,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:846,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:846,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_partition.c:852,1
    - Dst: rd_kafka_msgq_find_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:856,1
    - Dst: rd_kafka_msgq_insert_msgq_before
      Src: /src/librdkafka/src/rdkafka_partition.c:860,1
    - Dst: rd_kafka_msgq_first
      Src: /src/librdkafka/src/rdkafka_partition.c:869,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:871,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:872,1
    - Dst: rd_kafka_msgq_verify_order
      Src: /src/librdkafka/src/rdkafka_partition.c:875,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:877,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - destq
    - srcq
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 808
    functionDepth: 3
    functionLinenumber: 808
    functionLinenumberEnd: 878
    functionName: rd_kafka_msgq_insert_msgq
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_assert
    - likely
    - cmp
    - rd_kafka_msgq_first
    - rd_kafka_msgq_insert_msgq_before
    - rd_kafka_msgq_move
    - rd_kafka_msgq_concat
    - rd_kafka_msgq_verify_order
    - RD_KAFKA_MSGQ_EMPTY
    - rd_kafka_msgq_find_pos
    - rd_kafka_msgq_last
    - unlikely
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_msgq_insert_msgq(rd_kafka_msgq_t *destq,\n                               rd_kafka_msgq_t
      *srcq,\n                               int (*cmp)(const void *a, const void
      *b))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_partition.c:907,1
    - Dst: rd_jitter
      Src: /src/librdkafka/src/rdkafka_partition.c:910,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_partition.c:924,1
    - Dst: TAILQ_FOREACH_SAFE
      Src: /src/librdkafka/src/rdkafka_partition.c:925,1
    - Dst: rd_kafka_msgq_deq
      Src: /src/librdkafka/src/rdkafka_partition.c:929,1
    - Dst: rd_kafka_msgq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:930,1
    - Dst: likely
      Src: /src/librdkafka/src/rdkafka_partition.c:956,1
    - Dst: RD_KAFKA_MSGQ_EMPTY
      Src: /src/librdkafka/src/rdkafka_partition.c:963,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 9
    argNames:
    - destq
    - srcq
    - incr_retry
    - max_retries
    - backoff
    - status
    - exponential_backoff
    - retry_ms
    - retry_max_ms
    argTypes:
    - rd_kafka_msgq_t*
    - rd_kafka_msgq_t*
    - int
    - int
    - rd_ts_t
    - rd_kafka_msg_status_t
    - rd_bool_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 897
    functionDepth: 4
    functionLinenumber: 897
    functionLinenumberEnd: 970
    functionName: rd_kafka_retry_msgq
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - likely
    - TAILQ_FOREACH_SAFE
    - rd_jitter
    - RD_KAFKA_MSGQ_EMPTY
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_msgq_insert_msgq
    - rd_kafka_msgq_deq
    - rd_kafka_msgq_enq
    - rd_clock
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_retry_msgq(rd_kafka_msgq_t *destq,\n                        rd_kafka_msgq_t
      *srcq,\n                        int incr_retry,\n                        int
      max_retries,\n                        rd_ts_t backoff,\n                        rd_kafka_msg_status_t
      status,\n                        int (*cmp)(const void *a, const void *b),\n
      \                       rd_bool_t exponential_backoff,\n                        int
      retry_ms,\n                        int retry_max_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_partition.c:994,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:997,1
    - Dst: rd_kafka_retry_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:999,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rktp
    - rkmq
    - incr_retry
    - status
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    - int
    - rd_kafka_msg_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 985
    functionDepth: 5
    functionLinenumber: 985
    functionLinenumberEnd: 1007
    functionName: rd_kafka_toppar_retry_msgq
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_terminating
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_retry_msgq
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_retry_msgq(rd_kafka_toppar_t *rktp,\n                               rd_kafka_msgq_t
      *rkmq,\n                               int incr_retry,\n                               rd_kafka_msg_status_t
      status)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1016,1
    - Dst: rd_kafka_msgq_insert_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:1017,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rktp
    - rkmq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_msgq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1014
    functionDepth: 4
    functionLinenumber: 1014
    functionLinenumberEnd: 1020
    functionName: rd_kafka_toppar_insert_msgq
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    - rd_kafka_msgq_insert_msgq
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_insert_msgq(rd_kafka_toppar_t *rktp,\n                                 rd_kafka_msgq_t
      *rkmq)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mtx_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1037,1
    - Dst: TAILQ_FIRST
      Src: /src/librdkafka/src/rdkafka_partition.c:1047,1
    - Dst: rd_kafka_log
      Src: /src/librdkafka/src/rdkafka_partition.c:1051,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1056,1
    - Dst: TAILQ_NEXT
      Src: /src/librdkafka/src/rdkafka_partition.c:1066,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1071,1
    - Dst: rd_kafka_q_purge0
      Src: /src/librdkafka/src/rdkafka_partition.c:1078,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1080,1
    - Dst: mtx_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1085,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1034
    functionDepth: 7
    functionLinenumber: 1034
    functionLinenumberEnd: 1086
    functionName: rd_kafka_toppar_purge_internal_fetch_queue_maybe
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_log
    - mtx_lock
    - rd_kafka_q_purge0
    - TAILQ_FIRST
    - TAILQ_NEXT
    - mtx_unlock
    - rd_kafka_op2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_purge_internal_fetch_queue_maybe(rd_kafka_toppar_t
      *rktp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_partition.c:1093,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_partition.c:1094,1
    - Dst: rd_kafka_q_disable
      Src: /src/librdkafka/src/rdkafka_partition.c:1095,1
    - Dst: rd_kafka_q_purge
      Src: /src/librdkafka/src/rdkafka_partition.c:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1097
    functionName: rd_kafka_toppar_purge_and_disable_queues
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_disable
    - rd_kafka_q_purge
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_purge_and_disable_queues(rd_kafka_toppar_t *rktp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:1115,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1119,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1121,1
    - Dst: rd_kafka_toppar_offset_retry
      Src: /src/librdkafka/src/rdkafka_partition.c:1136,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1143,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1147,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1151,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1153,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1158,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1159,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1160,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1161,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1161,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - rktp
    - old_rkb
    - new_rkb
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_broker_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1108
    functionDepth: 9
    functionLinenumber: 1108
    functionLinenumberEnd: 1164
    functionName: rd_kafka_toppar_broker_migrate
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_toppar_offset_retry
    - rd_assert
    - rd_kafka_q_enq
    - rd_kafka_broker_destroy
    - rd_kafka_op_new
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_keep
    - rd_kafka_broker_name
    - rd_kafka_op2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_broker_migrate(rd_kafka_toppar_t *rktp,\n                                           rd_kafka_broker_t
      *old_rkb,\n                                           rd_kafka_broker_t *new_rkb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1184,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1188,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1200,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1203,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1204,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1206,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1209,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1210,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1173
    functionDepth: 9
    functionLinenumber: 1173
    functionLinenumberEnd: 1213
    functionName: rd_kafka_toppar_broker_leave_for_remove
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_op_new
    - rd_kafka_toppar_set_fetch_state
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_keep
    - rd_kafka_broker_name
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_broker_leave_for_remove(rd_kafka_toppar_t *rktp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1227,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_partition.c:1233,1
    - Dst: rd_refcnt_get
      Src: /src/librdkafka/src/rdkafka_partition.c:1234,1
    - Dst: rd_kafka_terminating
      Src: /src/librdkafka/src/rdkafka_partition.c:1238,1
    - Dst: rd_kafka_broker_termination_in_progress
      Src: /src/librdkafka/src/rdkafka_partition.c:1239,1
    - Dst: rd_kafka_broker_internal
      Src: /src/librdkafka/src/rdkafka_partition.c:1240,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1245,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1249,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1251,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1254,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1259,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1263,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1265,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1269,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1274,1
    - Dst: rd_kafka_broker_name
      Src: /src/librdkafka/src/rdkafka_partition.c:1275,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1281,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1283,1
    - Dst: rd_kafka_toppar_broker_migrate
      Src: /src/librdkafka/src/rdkafka_partition.c:1288,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1291,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - rktp
    - rkb
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1222
    functionDepth: 10
    functionLinenumber: 1222
    functionLinenumberEnd: 1292
    functionName: rd_kafka_toppar_broker_delegate
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_broker_destroy
    - rd_kafka_terminating
    - rd_kafka_toppar_broker_migrate
    - RD_KAFKAP_STR_PR
    - rd_kafka_broker_termination_in_progress
    - rd_refcnt_get
    - rd_kafka_broker_internal
    - rd_kafka_broker_name
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_broker_delegate(rd_kafka_toppar_t *rktp,\n                                     rd_kafka_broker_t
      *rkb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_partition.c:1301,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1306,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1308,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:1311,1
    - Dst: rd_kafka_toppar_fetch_stopped
      Src: /src/librdkafka/src/rdkafka_partition.c:1316,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rktp
    - err
    - offsets
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1319
    functionName: rd_kafka_toppar_offset_commit_result
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_consumer_err
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_fetch_stopped
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_err2str
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_offset_commit_result(\n    rd_kafka_toppar_t
      *rktp,\n    rd_kafka_resp_err_t err,\n    rd_kafka_topic_partition_list_t *offsets)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_partition.c:1334,1
    - Dst: rd_kafka_toppar_set_next_fetch_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1341,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:1343,1
    - Dst: llabs
      Src: /src/librdkafka/src/rdkafka_partition.c:1351,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1359,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1367,1
    - Dst: rd_kafka_toppar_set_next_fetch_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1370,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rktp
    - next_pos
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1331
    functionDepth: 6
    functionLinenumber: 1331
    functionLinenumberEnd: 1373
    functionName: rd_kafka_toppar_next_offset_handle
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - llabs
    - rd_kafka_toppar_set_next_fetch_position
    - rd_kafka_offset_reset
    - rd_kafka_toppar_set_fetch_state
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_next_offset_handle(rd_kafka_toppar_t *rktp,\n
      \                                       rd_kafka_fetch_pos_t next_pos)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1388,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1392,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1395,1
    - Dst: rd_kafka_topic_partition_list_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:1396,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1400,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1401,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - rktp
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1382
    functionDepth: 9
    functionLinenumber: 1382
    functionLinenumberEnd: 1410
    functionName: rd_kafka_toppar_offset_fetch
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_topic_partition_list_new
    - rd_kafka_op_new
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_add0
    - rd_kafka_toppar_keep
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_offset_fetch(rd_kafka_toppar_t *rktp,\n                                  rd_kafka_replyq_t
      replyq)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1431,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1435,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1437,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1439,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1442,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:1446,1
    - Dst: rd_kafka_buf_version_outdated
      Src: /src/librdkafka/src/rdkafka_partition.c:1448,1
    - Dst: rd_kafka_handle_ListOffsets
      Src: /src/librdkafka/src/rdkafka_partition.c:1455,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:1458,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1467,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1470,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1472,1
    - Dst: rd_kafka_actions2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1473,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1475,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1482,1
    - Dst: rd_kafka_toppar_offset_retry
      Src: /src/librdkafka/src/rdkafka_partition.c:1483,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1485,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1489,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1496,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:1503,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_partition.c:1507,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1516,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1517,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:1523,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1526,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1527,1
    - Dst: rd_kafka_toppar_offset_retry
      Src: /src/librdkafka/src/rdkafka_partition.c:1529,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1532,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1534,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1539,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1540,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1544,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1545,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1546,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:1548,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_partition.c:1551,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_partition.c:1552,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:1554,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1555,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1557,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1559,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - rk
    - rkb
    - err
    - rkbuf
    - request
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_broker_t*
    - rd_kafka_resp_err_t
    - rd_kafka_buf_t*
    - rd_kafka_buf_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1420
    functionDepth: 7
    functionLinenumber: 1420
    functionLinenumberEnd: 1560
    functionName: rd_kafka_toppar_handle_Offset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_offset_retry
    - rd_kafka_toppar_lock
    - rd_snprintf
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_actions2str
    - rd_kafka_buf_version_outdated
    - rd_kafka_toppar_destroy
    - rd_kafka_err2str
    - rd_kafka_consumer_err
    - rd_kafka_topic_partition_list_new
    - rd_dassert
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_find
    - rd_kafka_toppar_unlock
    - RD_KAFKA_FETCH_POS
    - rd_kafka_handle_ListOffsets
    - rd_kafka_offset2str
    - rd_kafka_offset_reset
    - rd_rkb_dbg
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_handle_Offset(rd_kafka_t *rk,\n                                          rd_kafka_broker_t
      *rkb,\n                                          rd_kafka_resp_err_t err,\n
      \                                         rd_kafka_buf_t *rkbuf,\n                                          rd_kafka_buf_t
      *request,\n                                          void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_timer_next
      Src: /src/librdkafka/src/rdkafka_partition.c:1580,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_partition.c:1584,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1586,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1592,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1594,1
    - Dst: rd_kafka_timer_start
      Src: /src/librdkafka/src/rdkafka_partition.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - rktp
    - backoff_ms
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1572
    functionDepth: 6
    functionLinenumber: 1572
    functionLinenumberEnd: 1602
    functionName: rd_kafka_toppar_offset_retry
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_timer_next
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_timer_start
    - rd_clock
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_offset_retry(rd_kafka_toppar_t *rktp,\n                                         int
      backoff_ms,\n                                         const char *reason)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:1620,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_partition.c:1621,1
    - Dst: rd_kafka_toppar_offset_retry
      Src: /src/librdkafka/src/rdkafka_partition.c:1629,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:1636,1
    - Dst: rd_kafka_toppar_offset_fetch
      Src: /src/librdkafka/src/rdkafka_partition.c:1647,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:1649,1
    - Dst: rd_rkb_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1659,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1663,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1665,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1668,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1673,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:1674,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:1677,1
    - Dst: rd_kafka_topic_partition_set_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:1678,1
    - Dst: rd_kafka_ListOffsetsRequest
      Src: /src/librdkafka/src/rdkafka_partition.c:1681,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:1683,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:1688,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - rktp
    - query_pos
    - backoff_ms
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1615
    functionDepth: 10
    functionLinenumber: 1615
    functionLinenumberEnd: 1693
    functionName: rd_kafka_toppar_offset_request
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_offset_retry
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_kafka_offset2str
    - rd_kafka_topic_partition_set_current_leader_epoch
    - rd_kafka_topic_partition_list_new
    - rd_rkb_dbg
    - thrd_is_current
    - rd_kafka_ListOffsetsRequest
    - rd_kafka_topic_partition_list_add
    - rd_kafka_toppar_offset_fetch
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_timer_stop
    - rd_kafka_toppar_keep
    - rd_kafka_assert
    - RD_KAFKA_REPLYQ
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_offset_request(rd_kafka_toppar_t *rktp,\n                                    rd_kafka_fetch_pos_t
      query_pos,\n                                    int backoff_ms)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1709,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1711,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1715,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1718,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1722,1
    - Dst: rd_kafka_toppar_op_version_bump
      Src: /src/librdkafka/src/rdkafka_partition.c:1726,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:1729,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_partition.c:1732,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_partition.c:1740,1
    - Dst: rd_kafka_offset_store_init
      Src: /src/librdkafka/src/rdkafka_partition.c:1743,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:1746,1
    - Dst: rd_kafka_toppar_set_next_fetch_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1752,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1754,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1760,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1767,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1770,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1772,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - rktp
    - pos
    - rko_orig
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1702
    functionDepth: 10
    functionLinenumber: 1702
    functionLinenumberEnd: 1774
    functionName: rd_kafka_toppar_fetch_start
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_toppar_set_next_fetch_position
    - rd_kafka_cgrp_op
    - rd_kafka_offset_reset
    - rd_kafka_op_new
    - rd_kafka_replyq_enq
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_op_version_bump
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_toppar_keep
    - rd_kafka_assert
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_kafka_offset_store_init
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_fetch_start(rd_kafka_toppar_t *rktp,\n                                        rd_kafka_fetch_pos_t
      pos,\n                                        rd_kafka_op_t *rko_orig)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1789,1
    - Dst: rd_kafka_cgrp_op
      Src: /src/librdkafka/src/rdkafka_partition.c:1796,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1805,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1807,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - rktp
    - err
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1785
    functionDepth: 10
    functionLinenumber: 1785
    functionLinenumberEnd: 1811
    functionName: rd_kafka_toppar_fetch_stopped
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_cgrp_op
    - rd_kafka_op_new
    - rd_kafka_replyq_enq
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_fetch_stopped(rd_kafka_toppar_t *rktp,\n                                   rd_kafka_resp_err_t
      err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1824,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1826,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1828,1
    - Dst: rd_kafka_toppar_op_version_bump
      Src: /src/librdkafka/src/rdkafka_partition.c:1832,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:1836,1
    - Dst: rd_kafka_q_fwd_set
      Src: /src/librdkafka/src/rdkafka_partition.c:1840,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:1843,1
    - Dst: rd_kafka_replyq_clear
      Src: /src/librdkafka/src/rdkafka_partition.c:1845,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1847,1
    - Dst: rd_kafka_offset_store_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:1852,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - rktp
    - rko_orig
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1820
    functionDepth: 10
    functionLinenumber: 1820
    functionLinenumberEnd: 1855
    functionName: rd_kafka_toppar_fetch_stop
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_q_fwd_set
    - rd_kafka_offset_store_stop
    - rd_kafka_replyq_clear
    - rd_kafka_toppar_op_version_bump
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_timer_stop
    - rd_kafka_assert
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_fetch_stop(rd_kafka_toppar_t *rktp,\n                                rd_kafka_op_t
      *rko_orig)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1870,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1872,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:1874,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1875,1
    - Dst: RD_KAFKA_TOPPAR_FETCH_IS_STARTED
      Src: /src/librdkafka/src/rdkafka_partition.c:1882,1
    - Dst: rd_kafka_toppar_op_version_bump
      Src: /src/librdkafka/src/rdkafka_partition.c:1890,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:1900,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_partition.c:1904,1
    - Dst: rd_kafka_toppar_set_fetch_state
      Src: /src/librdkafka/src/rdkafka_partition.c:1906,1
    - Dst: rd_kafka_toppar_set_next_fetch_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1908,1
    - Dst: rd_kafka_toppar_set_offset_validation_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1909,1
    - Dst: rd_kafka_offset_validate
      Src: /src/librdkafka/src/rdkafka_partition.c:1910,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1915,1
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:1920,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:1924,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:1926,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - rktp
    - pos
    - rko_orig
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1864
    functionDepth: 10
    functionLinenumber: 1864
    functionLinenumberEnd: 1928
    functionName: rd_kafka_toppar_seek
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_fetch_pos2str
    - rd_kafka_offset_validate
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_toppar_set_next_fetch_position
    - rd_kafka_op_new
    - rd_kafka_replyq_enq
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_op_version_bump
    - rd_kafka_toppar_set_fetch_state
    - rd_kafka_toppar_set_offset_validation_position
    - rd_kafka_timer_stop
    - rd_kafka_toppar_keep
    - rd_kafka_toppar_unlock
    - RD_KAFKA_TOPPAR_FETCH_IS_STARTED
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_seek(rd_kafka_toppar_t *rktp,\n                          rd_kafka_fetch_pos_t
      pos,\n                          rd_kafka_op_t *rko_orig)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:1945,1
    - Dst: rd_kafka_toppar_op_version_bump
      Src: /src/librdkafka/src/rdkafka_partition.c:1947,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1950,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:1958,1
    - Dst: rd_kafka_toppar_set_next_fetch_position
      Src: /src/librdkafka/src/rdkafka_partition.c:1973,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1976,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:1982,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:1986,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2002,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2011,1
    - Dst: RD_KAFKA_TOPPAR_IS_PAUSED
      Src: /src/librdkafka/src/rdkafka_partition.c:2022,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_partition.c:2029,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2033,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2042,1
    - Dst: rd_kafka_q_purge_toppar_version
      Src: /src/librdkafka/src/rdkafka_partition.c:2046,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - rktp
    - rko_orig
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2049
      start: 1938
    functionDepth: 10
    functionLinenumber: 1938
    functionLinenumberEnd: 2049
    functionName: rd_kafka_toppar_pause_resume
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_toppar_set_next_fetch_position
    - rd_kafka_toppar_op_version_bump
    - rd_kafka_q_purge_toppar_version
    - RD_KAFKA_TOPPAR_IS_PAUSED
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_pause_resume(rd_kafka_toppar_t *rktp,\n                                         rd_kafka_op_t
      *rko_orig)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_fetch_decide
      Src: /src/librdkafka/src/rdkafka_partition.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkb
    - rktp
    argTypes:
    - rd_kafka_broker_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2063
    functionDepth: 8
    functionLinenumber: 2063
    functionLinenumberEnd: 2066
    functionName: rd_kafka_broker_consumer_toppar_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_toppar_fetch_decide
    linkageType: ''
    returnType: rd_ts_t
    signature: "rd_ts_t rd_kafka_broker_consumer_toppar_serve(rd_kafka_broker_t *rkb,\n
      \                                             rd_kafka_toppar_t *rktp)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_version_outdated
      Src: /src/librdkafka/src/rdkafka_partition.c:2093,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2095,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2099,1
    - Dst: rd_kafka_op2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2101,1
    - Dst: rd_kafka_op_print
      Src: /src/librdkafka/src/rdkafka_partition.c:2107,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_partition.c:2109,1
    - Dst: rd_kafka_toppar_fetch_start
      Src: /src/librdkafka/src/rdkafka_partition.c:2116,1
    - Dst: rd_kafka_toppar_fetch_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:2121,1
    - Dst: rd_kafka_toppar_seek
      Src: /src/librdkafka/src/rdkafka_partition.c:2125,1
    - Dst: rd_kafka_toppar_pause_resume
      Src: /src/librdkafka/src/rdkafka_partition.c:2129,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:2133,1
    - Dst: rd_kafka_op_t*::rko_u::offset_commit::cb
      Src: /src/librdkafka/src/rdkafka_partition.c:2134,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_partition.c:2145,1
    - Dst: rd_kafka_topic_partition_get_fetch_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:2152,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2156,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:2159,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:2162,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2166,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2170,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2172,1
    - Dst: rd_kafka_toppar_offset_retry
      Src: /src/librdkafka/src/rdkafka_partition.c:2175,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2177,1
    - Dst: rd_kafka_handle_OffsetFetch_err_action
      Src: /src/librdkafka/src/rdkafka_partition.c:2180,1
    - Dst: rd_kafka_consumer_err
      Src: /src/librdkafka/src/rdkafka_partition.c:2189,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2195,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2198,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2203,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2205,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2206,1
    - Dst: rd_kafka_toppar_next_offset_handle
      Src: /src/librdkafka/src/rdkafka_partition.c:2212,1
    - Dst: rd_kafka_offset_reset
      Src: /src/librdkafka/src/rdkafka_partition.c:2214,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2218,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2221,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:2225,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_partition.c:2229,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 5
    argNames:
    - rk
    - rkq
    - rko
    - cb_type
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    - rd_kafka_q_cb_type_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2232
      start: 2080
    functionDepth: 11
    functionLinenumber: 2080
    functionLinenumberEnd: 2232
    functionName: rd_kafka_toppar_op_serve
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_offset_retry
    - rd_kafka_toppar_lock
    - rd_kafka_topic_partition_get_fetch_pos
    - rd_kafka_toppar_next_offset_handle
    - rd_kafka_op_t*::rko_u::offset_commit::cb
    - rd_kafka_op2str
    - rd_kafka_toppar_destroy
    - rd_kafka_err2str
    - rd_kafka_op_print
    - rd_kafka_timer_stop
    - rd_kafka_op_reply
    - rd_kafka_consumer_err
    - rd_kafka_toppar_fetch_start
    - rd_kafka_topic_partition_get_toppar
    - RD_KAFKAP_STR_PR
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_handle_OffsetFetch_err_action
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_kafka_toppar_seek
    - rd_kafka_toppar_pause_resume
    - rd_kafka_offset_reset
    - rd_kafka_toppar_fetch_stop
    - rd_kafka_assert
    - rd_kafka_op_version_outdated
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_toppar_op_serve(rd_kafka_t *rk,\n                                                  rd_kafka_q_t
      *rkq,\n                                                  rd_kafka_op_t *rko,\n
      \                                                 rd_kafka_q_cb_type_t cb_type,\n
      \                                                 void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:2244,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:2247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rktp
    - rko
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_op_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2241
    functionDepth: 9
    functionLinenumber: 2241
    functionLinenumberEnd: 2248
    functionName: rd_kafka_toppar_op0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_q_enq
    - rd_kafka_toppar_keep
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_op0(rd_kafka_toppar_t *rktp,\n                                rd_kafka_op_t
      *rko,\n                                rd_kafka_replyq_t replyq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:2264,1
    - Dst: rd_kafka_toppar_op0
      Src: /src/librdkafka/src/rdkafka_partition.c:2272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - rktp
    - type
    - version
    - pos
    - rkcg
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_op_type_t
    - int32_t
    - rd_kafka_fetch_pos_t
    - rd_kafka_cgrp_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2273
      start: 2256
    functionDepth: 10
    functionLinenumber: 2256
    functionLinenumberEnd: 2273
    functionName: rd_kafka_toppar_op
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_op0
    - rd_kafka_op_new
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_op(rd_kafka_toppar_t *rktp,\n                               rd_kafka_op_type_t
      type,\n                               int32_t version,\n                               rd_kafka_fetch_pos_t
      pos,\n                               rd_kafka_cgrp_t *rkcg,\n                               rd_kafka_replyq_t
      replyq)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:2292,1
    - Dst: rd_kafka_q_fwd_set0
      Src: /src/librdkafka/src/rdkafka_partition.c:2294,1
    - Dst: rd_kafka_q_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2296,1
    - Dst: rd_kafka_toppar_version_new_barrier
      Src: /src/librdkafka/src/rdkafka_partition.c:2299,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2301,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2303,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2304,1
    - Dst: rd_kafka_toppar_op
      Src: /src/librdkafka/src/rdkafka_partition.c:2307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rktp
    - pos
    - fwdq
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - rd_kafka_q_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2286
    functionDepth: 11
    functionLinenumber: 2286
    functionLinenumberEnd: 2311
    functionName: rd_kafka_toppar_op_fetch_start
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_fwd_set0
    - rd_kafka_toppar_version_new_barrier
    - rd_kafka_q_unlock
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_op
    - rd_kafka_q_lock
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_toppar_op_fetch_start(rd_kafka_toppar_t
      *rktp,\n                                                   rd_kafka_fetch_pos_t
      pos,\n                                                   rd_kafka_q_t *fwdq,\n
      \                                                  rd_kafka_replyq_t replyq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_version_new_barrier
      Src: /src/librdkafka/src/rdkafka_partition.c:2325,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2327,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2329,1
    - Dst: rd_kafka_toppar_op
      Src: /src/librdkafka/src/rdkafka_partition.c:2332,1
    - Dst: RD_KAFKA_FETCH_POS
      Src: /src/librdkafka/src/rdkafka_partition.c:2333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rktp
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2320
    functionDepth: 11
    functionLinenumber: 2320
    functionLinenumberEnd: 2336
    functionName: rd_kafka_toppar_op_fetch_stop
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_toppar_version_new_barrier
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_op
    - RD_KAFKA_FETCH_POS
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_toppar_op_fetch_stop(rd_kafka_toppar_t
      *rktp,\n                                                  rd_kafka_replyq_t
      replyq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_version_new_barrier
      Src: /src/librdkafka/src/rdkafka_partition.c:2354,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2356,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2358,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2359,1
    - Dst: rd_kafka_toppar_op
      Src: /src/librdkafka/src/rdkafka_partition.c:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - rktp
    - pos
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_fetch_pos_t
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2348
    functionDepth: 11
    functionLinenumber: 2348
    functionLinenumberEnd: 2365
    functionName: rd_kafka_toppar_op_seek
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 4
    functionsReached:
    - rd_kafka_toppar_version_new_barrier
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_op
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_toppar_op_seek(rd_kafka_toppar_t *rktp,\n
      \                                           rd_kafka_fetch_pos_t pos,\n                                            rd_kafka_replyq_t
      replyq)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:2382,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:2389,1
    - Dst: RD_KAFKA_TOPPAR_IS_PAUSED
      Src: /src/librdkafka/src/rdkafka_partition.c:2390,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2391,1
    - Dst: rd_kafka_op_reply
      Src: /src/librdkafka/src/rdkafka_partition.c:2394,1
    - Dst: rd_kafka_toppar_version_new_barrier
      Src: /src/librdkafka/src/rdkafka_partition.c:2400,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2402,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2405,1
    - Dst: rd_kafka_toppar_op0
      Src: /src/librdkafka/src/rdkafka_partition.c:2412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - rktp
    - pause
    - flag
    - replyq
    argTypes:
    - rd_kafka_toppar_t*
    - int
    - int
    - rd_kafka_replyq_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2377
    functionDepth: 10
    functionLinenumber: 2377
    functionLinenumberEnd: 2415
    functionName: rd_kafka_toppar_op_pause_resume
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_toppar_lock
    - rd_kafka_op_new
    - rd_kafka_toppar_version_new_barrier
    - rd_kafka_dbg
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_TOPPAR_IS_PAUSED
    - rd_kafka_toppar_op0
    - rd_kafka_toppar_unlock
    - rd_kafka_op_reply
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_toppar_op_pause_resume(rd_kafka_toppar_t
      *rktp,\n                                                    int pause,\n                                                    int
      flag,\n                                                    rd_kafka_replyq_t
      replyq)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_op_pause_resume
      Src: /src/librdkafka/src/rdkafka_partition.c:2428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktp
    - flag
    argTypes:
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2427
    functionDepth: 11
    functionLinenumber: 2427
    functionLinenumberEnd: 2430
    functionName: rd_kafka_toppar_pause
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_op_pause_resume
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_pause(rd_kafka_toppar_t *rktp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_op_pause_resume
      Src: /src/librdkafka/src/rdkafka_partition.c:2442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rktp
    - flag
    argTypes:
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2441
    functionDepth: 11
    functionLinenumber: 2441
    functionLinenumberEnd: 2444
    functionName: rd_kafka_toppar_resume
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_toppar_op_pause_resume
    linkageType: ''
    returnType: void
    signature: void rd_kafka_toppar_resume(rd_kafka_toppar_t *rktp, int flag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_q_new
      Src: /src/librdkafka/src/rdkafka_partition.c:2473,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2475,1
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_partition.c:2485,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2487,1
    - Dst: rd_kafka_toppar_op_pause_resume
      Src: /src/librdkafka/src/rdkafka_partition.c:2498,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:2499,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2504,1
    - Dst: rd_kafka_q_wait_result
      Src: /src/librdkafka/src/rdkafka_partition.c:2511,1
    - Dst: rd_kafka_q_destroy_owner
      Src: /src/librdkafka/src/rdkafka_partition.c:2513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - rk
    - pause
    - async
    - flag
    - partitions
    argTypes:
    - rd_kafka_t*
    - rd_bool_t
    - rd_async_t
    - int
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2517
      start: 2462
    functionDepth: 11
    functionLinenumber: 2462
    functionLinenumberEnd: 2517
    functionName: rd_kafka_toppars_pause_resume
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 4
    functionsReached:
    - rd_kafka_q_new
    - rd_kafka_toppar_op_pause_resume
    - rd_kafka_topic_partition_get_toppar
    - rd_kafka_q_destroy_owner
    - rd_kafka_q_wait_result
    - rd_kafka_toppar_destroy
    - RD_KAFKA_REPLYQ
    - rd_kafka_dbg
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_toppars_pause_resume(rd_kafka_t *rk,\n
      \                             rd_bool_t pause,\n                              rd_async_t
      async,\n                              int flag,\n                              rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_op_new
      Src: /src/librdkafka/src/rdkafka_partition.c:2530,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:2532,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:2534,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:2535,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2536,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_partition.c:2538,1
    - Dst: rd_kafka_q_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:2540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - rktp
    - err
    - reason
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_resp_err_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2524
    functionDepth: 9
    functionLinenumber: 2524
    functionLinenumberEnd: 2541
    functionName: rd_kafka_toppar_enq_error
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_q_enq
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_op_new
    - RD_KAFKAP_STR_PR
    - rd_kafka_toppar_keep
    - rd_strdup
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_enq_error(rd_kafka_toppar_t *rktp,\n                               rd_kafka_resp_err_t
      err,\n                               const char *reason)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:2557,1
    - Dst: rd_kafka_broker_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:2563,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2565,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - rktp
    - proper_broker
    argTypes:
    - rd_kafka_toppar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2554
    functionDepth: 1
    functionLinenumber: 2554
    functionLinenumberEnd: 2568
    functionName: rd_kafka_toppar_broker
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_broker_keep
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_unlock
    linkageType: ''
    returnType: rd_kafka_broker_t
    signature: "rd_kafka_broker_t *rd_kafka_toppar_broker(rd_kafka_toppar_t *rktp,\n
      \                                         int proper_broker)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:2584,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:2587,1
    - Dst: rd_kafka_topic_wrlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2589,1
    - Dst: rd_kafka_topic_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:2591,1
    - Dst: rd_kafka_topic_fast_leader_query
      Src: /src/librdkafka/src/rdkafka_partition.c:2593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - rktp
    - reason
    - err
    argTypes:
    - rd_kafka_toppar_t*
    - char*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2595
    functionName: rd_kafka_toppar_leader_unavailable
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_err2str
    - rd_kafka_topic_wrlock
    - rd_kafka_topic_wrunlock
    - rd_kafka_topic_fast_leader_query
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_leader_unavailable(rd_kafka_toppar_t *rktp,\n
      \                                       const char *reason,\n                                        rd_kafka_resp_err_t
      err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2602
    functionName: rd_kafka_topic_partition_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rd_kafka_topic_partition_topic(const rd_kafka_topic_partition_t *rktpar)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2604
    functionDepth: 0
    functionLinenumber: 2604
    functionLinenumberEnd: 2608
    functionName: rd_kafka_topic_partition_partition
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t rd_kafka_topic_partition_partition(const rd_kafka_topic_partition_t
      *rktpar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rktpar
    - name
    - partition
    argTypes:
    - rd_kafka_topic_partition_t*
    - char**
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2616
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2616
    functionName: rd_kafka_topic_partition_get
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_get(const rd_kafka_topic_partition_t
      *rktpar,\n                                  const char **name,\n                                  int32_t
      *partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAX
      Src: /src/librdkafka/src/rdkafka_partition.c:2631,1
    - Dst: rd_realloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktparlist
    - add_size
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2627
    functionDepth: 1
    functionLinenumber: 2627
    functionLinenumberEnd: 2636
    functionName: rd_kafka_topic_partition_list_grow
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_realloc
    - RD_MAX
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_grow(rd_kafka_topic_partition_list_t
      *rktparlist,\n                                   int add_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_partition.c:2645,1
    - Dst: rd_kafka_topic_partition_list_grow
      Src: /src/librdkafka/src/rdkafka_partition.c:2648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rktparlist
    - size
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2649
      start: 2642
    functionDepth: 2
    functionLinenumber: 2642
    functionLinenumberEnd: 2649
    functionName: rd_kafka_topic_partition_list_init
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - memset
    - rd_kafka_topic_partition_list_grow
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_init(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2658,1
    - Dst: rd_kafka_topic_partition_list_grow
      Src: /src/librdkafka/src/rdkafka_partition.c:2661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2664
      start: 2655
    functionDepth: 2
    functionLinenumber: 2655
    functionLinenumberEnd: 2664
    functionName: rd_kafka_topic_partition_list_new
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 149
    functionsReached:
    - rd_calloc
    - rd_kafka_topic_partition_list_grow
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: rd_kafka_topic_partition_list_t *rd_kafka_topic_partition_list_new(int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2670,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - topic_id
    - partition
    argTypes:
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2666
    functionDepth: 3
    functionLinenumber: 2666
    functionLinenumberEnd: 2676
    functionName: rd_kafka_topic_partition_new_with_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_private
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *\nrd_kafka_topic_partition_new_with_topic_id(rd_kafka_Uuid_t
      topic_id,\n                                           int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2680,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_partition.c:2682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2686
    functionName: rd_kafka_topic_partition_new
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_strdup
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_new(const char
      *topic,\n                                                         int32_t partition)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:2697,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.c:2697,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:2698,1
    - Dst: rd_dassert
      Src: /src/librdkafka/src/rdkafka_partition.c:2699,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2706,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_partition.c:2709,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2713,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:2715,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:2717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2691
    functionDepth: 3
    functionLinenumber: 2691
    functionLinenumberEnd: 2731
    functionName: rd_kafka_topic_partition_update
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_assert
    - rd_kafka_topic_partition_get_private
    - strcmp
    - rd_dassert
    - rd_malloc
    - rd_kafka_toppar_keep
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_update(rd_kafka_topic_partition_t *dst,\n
      \                               const rd_kafka_topic_partition_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_new
      Src: /src/librdkafka/src/rdkafka_partition.c:2737,1
    - Dst: rd_kafka_topic_partition_update
      Src: /src/librdkafka/src/rdkafka_partition.c:2739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2734
    functionDepth: 4
    functionLinenumber: 2734
    functionLinenumberEnd: 2742
    functionName: rd_kafka_topic_partition_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 14
    functionsReached:
    - rd_kafka_topic_partition_new
    - rd_kafka_topic_partition_update
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: 'rd_kafka_topic_partition_t *

      rd_kafka_topic_partition_copy(const rd_kafka_topic_partition_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:2747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - src
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2748
      start: 2746
    functionDepth: 5
    functionLinenumber: 2746
    functionLinenumberEnd: 2748
    functionName: rd_kafka_topic_partition_copy_void
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_copy
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_topic_partition_copy_void(const void *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_calloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2753,1
    - Dst: RD_KAFKAP_STR_DUP
      Src: /src/librdkafka/src/rdkafka_partition.c:2755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rktp
    argTypes:
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2759
    functionName: rd_kafka_topic_partition_new_from_rktp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - RD_KAFKAP_STR_DUP
    - rd_calloc
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: 'rd_kafka_topic_partition_t *

      rd_kafka_topic_partition_new_from_rktp(rd_kafka_toppar_t *rktp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2767,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - parpriv
    argTypes:
    - rd_kafka_topic_partition_private_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2769
      start: 2764
    functionDepth: 1
    functionLinenumber: 2764
    functionLinenumberEnd: 2769
    functionName: rd_kafka_topic_partition_private_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_private_destroy(\n    rd_kafka_topic_partition_private_t
      *parpriv)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2775,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2777,1
    - Dst: rd_kafka_topic_partition_private_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2779,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - rktpar
    - do_free
    argTypes:
    - rd_kafka_topic_partition_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2771
    functionDepth: 2
    functionLinenumber: 2771
    functionLinenumberEnd: 2784
    functionName: rd_kafka_topic_partition_destroy0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_private_destroy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_destroy0(rd_kafka_topic_partition_t
      *rktpar,\n                                  int do_free)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2795
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2795
    functionName: rd_kafka_topic_partition_get_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_topic_partition_get_leader_epoch(\n    const rd_kafka_topic_partition_t
      *rktpar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rktpar
    - leader_epoch
    argTypes:
    - rd_kafka_topic_partition_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2809
      start: 2797
    functionDepth: 3
    functionLinenumber: 2797
    functionLinenumberEnd: 2809
    functionName: rd_kafka_topic_partition_set_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 11
    functionsReached:
    - rd_kafka_topic_partition_get_private
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_set_leader_epoch(\n    rd_kafka_topic_partition_t
      *rktpar,\n    int32_t leader_epoch)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2811
    functionDepth: 0
    functionLinenumber: 2811
    functionLinenumberEnd: 2819
    functionName: rd_kafka_topic_partition_get_current_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: "int32_t rd_kafka_topic_partition_get_current_leader_epoch(\n    const
      rd_kafka_topic_partition_t *rktpar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rktpar
    - topic_id
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2827
    functionDepth: 3
    functionLinenumber: 2827
    functionLinenumberEnd: 2832
    functionName: rd_kafka_topic_partition_set_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_kafka_topic_partition_get_private
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_set_topic_id(rd_kafka_topic_partition_t
      *rktpar,\n                                           rd_kafka_Uuid_t topic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2848
    functionName: rd_kafka_topic_partition_get_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_Uuid_t
    signature: "rd_kafka_Uuid_t rd_kafka_topic_partition_get_topic_id(\n    const
      rd_kafka_topic_partition_t *rktpar)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2859,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - rktpar
    - current_leader_epoch
    argTypes:
    - rd_kafka_topic_partition_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2850
    functionDepth: 3
    functionLinenumber: 2850
    functionLinenumberEnd: 2862
    functionName: rd_kafka_topic_partition_set_current_leader_epoch
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 4
    functionsReached:
    - rd_kafka_topic_partition_get_private
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_set_current_leader_epoch(\n    rd_kafka_topic_partition_t
      *rktpar,\n    int32_t current_leader_epoch)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:2871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rktpar
    - fetchpos
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2873
      start: 2867
    functionDepth: 4
    functionLinenumber: 2867
    functionLinenumberEnd: 2873
    functionName: rd_kafka_topic_partition_set_from_fetch_pos
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 5
    functionsReached:
    - rd_kafka_topic_partition_set_leader_epoch
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_set_from_fetch_pos(\n    rd_kafka_topic_partition_t
      *rktpar,\n    const rd_kafka_fetch_pos_t fetchpos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_partition.c:2883,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_partition.c:2884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - rktpar
    - rktp
    argTypes:
    - rd_kafka_topic_partition_t*
    - rd_kafka_toppar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2887
      start: 2878
    functionDepth: 1
    functionLinenumber: 2878
    functionLinenumberEnd: 2887
    functionName: rd_kafka_topic_partition_set_metadata_from_rktp_stored
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_malloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_set_metadata_from_rktp_stored(\n    rd_kafka_topic_partition_t
      *rktpar,\n    const rd_kafka_toppar_t *rktp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:2900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2895
    functionDepth: 3
    functionLinenumber: 2895
    functionLinenumberEnd: 2903
    functionName: rd_kafka_topic_partition_list_clear
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_destroy0
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_clear(\n    rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:2907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2906
    functionDepth: 3
    functionLinenumber: 2906
    functionLinenumberEnd: 2908
    functionName: rd_kafka_topic_partition_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_destroy0
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_partition_destroy_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:2911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2910
    functionDepth: 3
    functionLinenumber: 2910
    functionLinenumberEnd: 2912
    functionName: rd_kafka_topic_partition_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_kafka_topic_partition_destroy0
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_partition_destroy(rd_kafka_topic_partition_t *rktpar)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:2924,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2927,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:2929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2919
    functionDepth: 3
    functionLinenumber: 2919
    functionLinenumberEnd: 2930
    functionName: rd_kafka_topic_partition_list_destroy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 198
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_destroy0
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_destroy(\n    rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:2938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2937
    functionDepth: 4
    functionLinenumber: 2937
    functionLinenumberEnd: 2940
    functionName: rd_kafka_topic_partition_list_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_topic_partition_list_destroy_free(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_grow
      Src: /src/librdkafka/src/rdkafka_partition.c:2961,1
    - Dst: rd_kafka_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:2962,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_partition.c:2965,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_partition.c:2967,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2973,1
    - Dst: rd_kafka_toppar_keep_fl
      Src: /src/librdkafka/src/rdkafka_partition.c:2976,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:2984,1
    - Dst: rd_kafka_toppar_keep_fl
      Src: /src/librdkafka/src/rdkafka_partition.c:2985,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - func
    - line
    - rktparlist
    - topic
    - partition
    - rktp
    - parpriv
    argTypes:
    - char*
    - int
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    - rd_kafka_toppar_t*
    - rd_kafka_topic_partition_private_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2951
    functionDepth: 3
    functionLinenumber: 2951
    functionLinenumberEnd: 2989
    functionName: rd_kafka_topic_partition_list_add0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_grow
    - rd_kafka_topic_partition_get_private
    - memset
    - rd_kafka_assert
    - rd_strdup
    - rd_kafka_toppar_keep_fl
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_add0(\n
      \   const char *func,\n    int line,\n    rd_kafka_topic_partition_list_t *rktparlist,\n
      \   const char *topic,\n    int32_t partition,\n    rd_kafka_toppar_t *rktp,\n
      \   const rd_kafka_topic_partition_private_t *parpriv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:2996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2992
    functionDepth: 4
    functionLinenumber: 2992
    functionLinenumberEnd: 2998
    functionName: rd_kafka_topic_partition_list_add
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 138
    functionsReached:
    - rd_kafka_topic_partition_list_add0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *\nrd_kafka_topic_partition_list_add(rd_kafka_topic_partition_list_t
      *rktparlist,\n                                  const char *topic,\n                                  int32_t
      partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:3006,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:3009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rktparlist
    - topic_id
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 3001
    functionDepth: 4
    functionLinenumber: 3001
    functionLinenumberEnd: 3012
    functionName: rd_kafka_topic_partition_list_add_with_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_get_private
    - rd_kafka_topic_partition_list_add0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_add_with_topic_id(\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    rd_kafka_Uuid_t topic_id,\n
      \   int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:3022,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:3025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rktparlist
    - topic_id
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3015
    functionDepth: 4
    functionLinenumber: 3015
    functionLinenumberEnd: 3028
    functionName: rd_kafka_topic_partition_list_add_with_topic_name_and_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_get_private
    - rd_kafka_topic_partition_list_add0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *\nrd_kafka_topic_partition_list_add_with_topic_name_and_id(\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    rd_kafka_Uuid_t topic_id,\n
      \   const char *topic,\n    int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:3041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - rktparlist
    - topic
    - start
    - stop
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 3034
    functionDepth: 5
    functionLinenumber: 3034
    functionLinenumberEnd: 3042
    functionName: rd_kafka_topic_partition_list_add_range
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_list_add
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_add_range(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    const char *topic,\n    int32_t start,\n    int32_t stop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:3051,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:3055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3045
    functionDepth: 5
    functionLinenumber: 3045
    functionLinenumberEnd: 3056
    functionName: rd_kafka_topic_partition_list_upsert
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_upsert(\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    const char *topic,\n    int32_t
      partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_add0
      Src: /src/librdkafka/src/rdkafka_partition.c:3072,1
    - Dst: rd_kafka_topic_partition_update
      Src: /src/librdkafka/src/rdkafka_partition.c:3075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rktparlist
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 3067
    functionDepth: 4
    functionLinenumber: 3067
    functionLinenumberEnd: 3077
    functionName: rd_kafka_topic_partition_list_add_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 11
    functionsReached:
    - rd_kafka_topic_partition_list_add0
    - rd_kafka_topic_partition_update
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_add_copy(\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    const rd_kafka_topic_partition_t
      *rktpar)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:3089,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:3092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3094
      start: 3084
    functionDepth: 5
    functionLinenumber: 3084
    functionLinenumberEnd: 3094
    functionName: rd_kafka_topic_partition_list_copy
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 59
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: 'rd_kafka_topic_partition_list_t *

      rd_kafka_topic_partition_list_copy(const rd_kafka_topic_partition_list_t *src)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:3101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 3100
    functionDepth: 6
    functionLinenumber: 3100
    functionLinenumberEnd: 3102
    functionName: rd_kafka_topic_partition_list_copy_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: void *rd_kafka_topic_partition_list_copy_opaque(const void *src, void
      *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_grow
      Src: /src/librdkafka/src/rdkafka_partition.c:3117,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:3120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3108
    functionDepth: 5
    functionLinenumber: 3108
    functionLinenumberEnd: 3121
    functionName: rd_kafka_topic_partition_list_add_list
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_topic_partition_list_grow
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_add_list(\n    rd_kafka_topic_partition_list_t
      *dst,\n    const rd_kafka_topic_partition_list_t *src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3158
    functionName: rd_kafka_topic_partition_list_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 6
    functionsReached:
    - cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_cmp(const void *_a,\n                                      const
      void *_b,\n                                      int (*cmp)(const void *, const
      void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:3173,1
    - Dst: rd_kafka_toppar_get2
      Src: /src/librdkafka/src/rdkafka_partition.c:3176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rktpar
    - create_on_miss
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3167
    functionDepth: 6
    functionLinenumber: 3167
    functionLinenumberEnd: 3181
    functionName: rd_kafka_topic_partition_ensure_toppar
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 5
    functionsReached:
    - rd_kafka_toppar_get2
    - rd_kafka_topic_partition_get_private
    linkageType: ''
    returnType: rd_kafka_toppar_t
    signature: "rd_kafka_toppar_t *\nrd_kafka_topic_partition_ensure_toppar(rd_kafka_t
      *rk,\n                                       rd_kafka_topic_partition_t *rktpar,\n
      \                                      rd_bool_t create_on_miss)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3187,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_partition.c:3191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3184
    functionDepth: 1
    functionLinenumber: 3184
    functionLinenumberEnd: 3192
    functionName: rd_kafka_topic_partition_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 5
    functionsReached:
    - strcmp
    - RD_CMP
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_partition_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3201,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3202,1
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3203,1
    - Dst: RD_CMP
      Src: /src/librdkafka/src/rdkafka_partition.c:3204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3198
    functionDepth: 1
    functionLinenumber: 3198
    functionLinenumberEnd: 3205
    functionName: rd_kafka_topic_partition_by_id_cmp
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_cmp
    - RD_CMP
    - rd_kafka_topic_partition_get_topic_id
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_partition_by_id_cmp(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_by_id_cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _a
    - _b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3207
    functionDepth: 2
    functionLinenumber: 3207
    functionLinenumberEnd: 3211
    functionName: rd_kafka_topic_partition_by_id_cmp_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_by_id_cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_by_id_cmp_opaque(const void *_a,\n                                                     const
      void *_b,\n                                                     void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3218
    functionName: rd_kafka_topic_partition_cmp_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_partition_cmp_topic(const void *_a, const void *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_Uuid_cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3224,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3224,1
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _a
    - _b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3226
      start: 3221
    functionDepth: 1
    functionLinenumber: 3221
    functionLinenumberEnd: 3226
    functionName: rd_kafka_topic_partition_cmp_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_get_topic_id
    - rd_kafka_Uuid_cmp
    linkageType: ''
    returnType: int
    signature: int rd_kafka_topic_partition_cmp_topic_id(const void *_a, const void
      *_b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - _a
    - _b
    - opaque
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3232
      start: 3228
    functionDepth: 2
    functionLinenumber: 3228
    functionLinenumberEnd: 3232
    functionName: rd_kafka_topic_partition_cmp_opaque
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_cmp_opaque(const void *_a,\n                                               const
      void *_b,\n                                               void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_string_hash
      Src: /src/librdkafka/src/rdkafka_partition.c:3238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3235
    functionDepth: 1
    functionLinenumber: 3235
    functionLinenumberEnd: 3239
    functionName: rd_kafka_topic_partition_hash
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_string_hash
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_kafka_topic_partition_hash(const void *_a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3245,1
    - Dst: rd_kafka_Uuid_hash
      Src: /src/librdkafka/src/rdkafka_partition.c:3247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - _a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3248
      start: 3242
    functionDepth: 2
    functionLinenumber: 3242
    functionLinenumberEnd: 3248
    functionName: rd_kafka_topic_partition_hash_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Uuid_hash
    - rd_kafka_topic_partition_get_topic_id
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rd_kafka_topic_partition_hash_by_id(const void *_a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3256
    functionDepth: 0
    functionLinenumber: 3256
    functionLinenumberEnd: 3273
    functionName: rd_kafka_topic_partition_list_find0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_find0(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    const char *topic,\n    int32_t partition,\n    int (*cmp)(const
      void *, const void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_new_with_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:3287,1
    - Dst: cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3290,1
    - Dst: rd_kafka_topic_partition_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - rktparlist
    - topic_id
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3280
    functionDepth: 4
    functionLinenumber: 3280
    functionLinenumberEnd: 3298
    functionName: rd_kafka_topic_partition_list_find_by_id0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_destroy
    - rd_kafka_topic_partition_new_with_topic_id
    - cmp
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_find_by_id0(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    rd_kafka_Uuid_t topic_id,\n    int32_t partition,\n    int
      (*cmp)(const void *, const void *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find0
      Src: /src/librdkafka/src/rdkafka_partition.c:3304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3310
    functionName: rd_kafka_topic_partition_list_find
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 36
    functionsReached:
    - rd_kafka_topic_partition_list_find0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_find(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    const char *topic,\n
      \   int32_t partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find_by_id0
      Src: /src/librdkafka/src/rdkafka_partition.c:3320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rktparlist
    - topic_id
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3327
      start: 3316
    functionDepth: 5
    functionLinenumber: 3316
    functionLinenumberEnd: 3327
    functionName: rd_kafka_topic_partition_list_find_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_find_by_id0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_find_by_id(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    rd_kafka_Uuid_t
      topic_id,\n    int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find0
      Src: /src/librdkafka/src/rdkafka_partition.c:3333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3329
    functionDepth: 1
    functionLinenumber: 3329
    functionLinenumberEnd: 3335
    functionName: rd_kafka_topic_partition_list_find_idx
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_partition_list_find0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_find_idx(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    const char *topic,\n    int32_t partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find_by_id0
      Src: /src/librdkafka/src/rdkafka_partition.c:3345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rktparlist
    - topic_id
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3341
    functionDepth: 5
    functionLinenumber: 3341
    functionLinenumberEnd: 3348
    functionName: rd_kafka_topic_partition_list_find_idx_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_find_by_id0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_find_idx_by_id(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    rd_kafka_Uuid_t topic_id,\n    int32_t partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find0
      Src: /src/librdkafka/src/rdkafka_partition.c:3357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rktparlist
    - topic
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3354
    functionDepth: 1
    functionLinenumber: 3354
    functionLinenumberEnd: 3364
    functionName: rd_kafka_topic_partition_list_find_topic_by_name
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_find0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_find_topic_by_name(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    const char *topic)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find_by_id0
      Src: /src/librdkafka/src/rdkafka_partition.c:3372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rktparlist
    - topic_id
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_Uuid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3379
      start: 3369
    functionDepth: 5
    functionLinenumber: 3369
    functionLinenumberEnd: 3379
    functionName: rd_kafka_topic_partition_list_find_topic_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_find_by_id0
    linkageType: ''
    returnType: rd_kafka_topic_partition_t
    signature: "rd_kafka_topic_partition_t *rd_kafka_topic_partition_list_find_topic_by_id(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    const rd_kafka_Uuid_t
      topic_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:3385,1
    - Dst: rd_kafka_topic_partition_destroy0
      Src: /src/librdkafka/src/rdkafka_partition.c:3388,1
    - Dst: memmove
      Src: /src/librdkafka/src/rdkafka_partition.c:3389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - rktparlist
    - idx
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3382
    functionDepth: 3
    functionLinenumber: 3382
    functionLinenumberEnd: 3394
    functionName: rd_kafka_topic_partition_list_del_by_idx
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 8
    functionsReached:
    - unlikely
    - memmove
    - rd_kafka_topic_partition_destroy0
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_del_by_idx(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    int idx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find0
      Src: /src/librdkafka/src/rdkafka_partition.c:3401,1
    - Dst: rd_kafka_topic_partition_list_del_by_idx
      Src: /src/librdkafka/src/rdkafka_partition.c:3406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rktparlist
    - topic
    - partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3397
    functionDepth: 4
    functionLinenumber: 3397
    functionLinenumberEnd: 3407
    functionName: rd_kafka_topic_partition_list_del
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 14
    functionsReached:
    - rd_kafka_topic_partition_list_find0
    - rd_kafka_topic_partition_list_del_by_idx
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_del(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    const char *topic,\n    int32_t partition)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_regex_match
      Src: /src/librdkafka/src/rdkafka_partition.c:3425,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:3428,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:3431,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - rk
    - rkgm
    - rktpar
    - topic
    - matched_by_regex
    argTypes:
    - rd_kafka_t*
    - rd_kafka_group_member_t*
    - rd_kafka_topic_partition_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3415
    functionDepth: 13
    functionLinenumber: 3415
    functionLinenumberEnd: 3448
    functionName: rd_kafka_topic_partition_match
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_regex_match
    - RD_KAFKAP_STR_PR
    - strcmp
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_match(rd_kafka_t *rk,\n                                   const
      rd_kafka_group_member_t *rkgm,\n                                   const rd_kafka_topic_partition_t
      *rktpar,\n                                   const char *topic,\n                                   int
      *matched_by_regex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_qsort_r
      Src: /src/librdkafka/src/rdkafka_partition.c:3460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rktparlist
    - opaque
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3462
      start: 3452
    functionDepth: 1
    functionLinenumber: 3452
    functionLinenumberEnd: 3462
    functionName: rd_kafka_topic_partition_list_sort
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 8
    functionsReached:
    - rd_qsort_r
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_sort(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    int (*cmp)(const void *, const void *, void *),\n    void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_partition.c:3467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3469
      start: 3465
    functionDepth: 2
    functionLinenumber: 3465
    functionLinenumberEnd: 3469
    functionName: rd_kafka_topic_partition_list_sort_by_topic
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 12
    functionsReached:
    - rd_kafka_topic_partition_list_sort
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_sort_by_topic(\n    rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort
      Src: /src/librdkafka/src/rdkafka_partition.c:3473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3471
    functionDepth: 2
    functionLinenumber: 3471
    functionLinenumberEnd: 3475
    functionName: rd_kafka_topic_partition_list_sort_by_topic_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_sort
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_sort_by_topic_id(\n    rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:3484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rktparlist
    - topic
    - partition
    - offset
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3477
    functionDepth: 2
    functionLinenumber: 3477
    functionLinenumberEnd: 3491
    functionName: rd_kafka_topic_partition_list_set_offset
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_list_find
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_topic_partition_list_set_offset(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    const char *topic,\n    int32_t partition,\n    int64_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rktparlist
    - offset
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3504
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3504
    functionName: rd_kafka_topic_partition_list_reset_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_reset_offsets(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    int64_t offset)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_partition.c:3534,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:3536,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:3540,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:3542,1
    - Dst: rd_kafka_fetch_pos2str
      Src: /src/librdkafka/src/rdkafka_partition.c:3544,1
    - Dst: rd_kafka_fetch_pos_cmp
      Src: /src/librdkafka/src/rdkafka_partition.c:3547,1
    - Dst: rd_kafka_topic_partition_set_from_fetch_pos
      Src: /src/librdkafka/src/rdkafka_partition.c:3551,1
    - Dst: rd_kafka_topic_partition_set_metadata_from_rktp_stored
      Src: /src/librdkafka/src/rdkafka_partition.c:3553,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:3558,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_partition.c:3560,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:3563,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:3570,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:3577,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:3583,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:3584,1
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_partition.c:3587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - rk
    - rktparlist
    - from_rktp
    - def_value
    - is_commit
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3516
    functionDepth: 7
    functionLinenumber: 3516
    functionLinenumberEnd: 3592
    functionName: rd_kafka_topic_partition_list_set_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_set_from_fetch_pos
    - rd_kafka_toppar_lock
    - rd_snprintf
    - rd_kafka_offset2str
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_fetch_pos_cmp
    - rd_kafka_topic_partition_ensure_toppar
    - rd_kafka_topic_partition_set_metadata_from_rktp_stored
    - rd_kafka_topic_partition_set_leader_epoch
    - RD_KAFKA_OFFSET_IS_LOGICAL
    - rd_kafka_toppar_unlock
    - rd_kafka_fetch_pos2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_set_offsets(\n    rd_kafka_t *rk,\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    int from_rktp,\n    int64_t
      def_value,\n    int is_commit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OFFSET_IS_LOGICAL
      Src: /src/librdkafka/src/rdkafka_partition.c:3604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3598
    functionDepth: 1
    functionLinenumber: 3598
    functionLinenumberEnd: 3608
    functionName: rd_kafka_topic_partition_list_count_abs_offsets
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - RD_KAFKA_OFFSET_IS_LOGICAL
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_count_abs_offsets(\n    const rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_ensure_toppar
      Src: /src/librdkafka/src/rdkafka_partition.c:3625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rktparlist
    - create_on_miss
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3628
      start: 3617
    functionDepth: 7
    functionLinenumber: 3617
    functionLinenumberEnd: 3628
    functionName: rd_kafka_topic_partition_list_update_toppars
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_ensure_toppar
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_update_toppars(\n    rd_kafka_t
      *rk,\n    rd_kafka_topic_partition_list_t *rktparlist,\n    rd_bool_t create_on_miss)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wrlock
      Src: /src/librdkafka/src/rdkafka_partition.c:3674,1
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_partition.c:3676,1
    - Dst: rd_kafka_metadata_cache_topic_partition_get
      Src: /src/librdkafka/src/rdkafka_partition.c:3689,1
    - Dst: RD_KAFKA_METADATA_CACHE_ERR_IS_TEMPORARY
      Src: /src/librdkafka/src/rdkafka_partition.c:3695,1
    - Dst: rd_kafka_broker_find_by_nodeid0
      Src: /src/librdkafka/src/rdkafka_partition.c:3714,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:3730,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:3732,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_partition.c:3733,1
    - Dst: memset
      Src: /src/librdkafka/src/rdkafka_partition.c:3741,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:3744,1
    - Dst: rd_kafka_partition_leader_new
      Src: /src/librdkafka/src/rdkafka_partition.c:3748,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:3749,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:3752,1
    - Dst: rd_kafka_topic_partition_update
      Src: /src/librdkafka/src/rdkafka_partition.c:3756,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:3759,1
    - Dst: rd_kafka_topic_partition_set_current_leader_epoch
      Src: /src/librdkafka/src/rdkafka_partition.c:3762,1
    - Dst: rd_kafka_broker_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3767,1
    - Dst: rd_kafka_metadata_cache_wait_state_change_async
      Src: /src/librdkafka/src/rdkafka_partition.c:3775,1
    - Dst: rd_kafka_wrunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:3778,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:3780,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 6
    argNames:
    - rk
    - rktparlist
    - leaders
    - query_topics
    - query_unknown
    - eonce
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    - rd_list_t*
    - rd_bool_t
    - rd_kafka_enq_once_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3662
    functionDepth: 5
    functionLinenumber: 3662
    functionLinenumberEnd: 3783
    functionName: rd_kafka_topic_partition_list_get_leaders
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_broker_find_by_nodeid0
    - rd_kafka_topic_partition_list_add_copy
    - rd_kafka_wrlock
    - rd_list_add
    - rd_kafka_rdunlock
    - rd_kafka_broker_destroy
    - rd_kafka_wrunlock
    - rd_kafka_topic_partition_set_current_leader_epoch
    - rd_kafka_metadata_cache_topic_partition_get
    - memset
    - RD_KAFKA_METADATA_CACHE_ERR_IS_TEMPORARY
    - rd_list_find
    - rd_kafka_partition_leader_new
    - rd_kafka_topic_partition_list_find
    - rd_kafka_topic_partition_update
    - rd_kafka_metadata_cache_wait_state_change_async
    - rd_strdup
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_partition_list_get_leaders(\n    rd_kafka_t
      *rk,\n    rd_kafka_topic_partition_list_t *rktparlist,\n    rd_list_t *leaders,\n
      \   rd_list_t *query_topics,\n    rd_bool_t query_unknown,\n    rd_kafka_enq_once_t
      *eonce)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_partition.c:3793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3789
    functionDepth: 11
    functionLinenumber: 3789
    functionLinenumberEnd: 3795
    functionName: rd_kafka_partition_leader_query_eonce_timeout_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_partition_leader_query_eonce_timeout_cb(rd_kafka_timers_t
      *rkts,\n                                                 void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_enq_once_trigger
      Src: /src/librdkafka/src/rdkafka_partition.c:3805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rkts
    - arg
    argTypes:
    - rd_kafka_timers_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3807
      start: 3801
    functionDepth: 11
    functionLinenumber: 3801
    functionLinenumberEnd: 3807
    functionName: rd_kafka_partition_leader_query_eonce_timer_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_enq_once_trigger
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_partition_leader_query_eonce_timer_cb(rd_kafka_timers_t
      *rkts,\n                                               void *arg)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OP_TYPE_ASSERT
      Src: /src/librdkafka/src/rdkafka_partition.c:3823,1
    - Dst: rd_kafka_enq_once_reenable
      Src: /src/librdkafka/src/rdkafka_partition.c:3832,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:3833,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_partition.c:3844,1
    - Dst: rd_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:3847,1
    - Dst: rd_kafka_topic_partition_list_get_leaders
      Src: /src/librdkafka/src/rdkafka_partition.c:3850,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3857,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_partition.c:3861,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3864,1
    - Dst: rd_kafka_timer_is_started
      Src: /src/librdkafka/src/rdkafka_partition.c:3869,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_partition.c:3875,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_partition.c:3877,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_partition.c:3884,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3890,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3891,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:3899,1
    - Dst: rd_kafka_enq_once_del_source
      Src: /src/librdkafka/src/rdkafka_partition.c:3901,1
    - Dst: rd_kafka_timer_stop
      Src: /src/librdkafka/src/rdkafka_partition.c:3903,1
    - Dst: rd_kafka_enq_once_del_source
      Src: /src/librdkafka/src/rdkafka_partition.c:3905,1
    - Dst: rd_kafka_enq_once_disable
      Src: /src/librdkafka/src/rdkafka_partition.c:3909,1
    - Dst: rd_list_cnt
      Src: /src/librdkafka/src/rdkafka_partition.c:3914,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:3917,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_partition.c:3923,1
    - Dst: rd_kafka_op_get_reply_version
      Src: /src/librdkafka/src/rdkafka_partition.c:3925,1
    - Dst: rd_kafka_replyq_enq
      Src: /src/librdkafka/src/rdkafka_partition.c:3936,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 1
    argNames:
    - rko
    argTypes:
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3940
      start: 3817
    functionDepth: 11
    functionLinenumber: 3817
    functionLinenumberEnd: 3940
    functionName: rd_kafka_topic_partition_list_query_leaders_async_worker
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_refresh_topics
    - rd_kafka_enq_once_disable
    - rd_kafka_replyq_enq
    - rd_kafka_enq_once_del_source
    - rd_list_destroy
    - rd_kafka_timer_start_oneshot
    - rd_kafka_timer_stop
    - rd_list_init
    - RD_KAFKA_REPLYQ
    - rd_kafka_timer_is_started
    - rd_kafka_op_get_reply_version
    - RD_KAFKA_OP_TYPE_ASSERT
    - rd_kafka_topic_partition_list_get_leaders
    - rd_list_cnt
    - rd_list_new
    - rd_kafka_enq_once_add_source
    - rd_kafka_op_new_cb
    - rd_kafka_enq_once_reenable
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: rd_kafka_op_res_t rd_kafka_topic_partition_list_query_leaders_async_worker(rd_kafka_op_t
      *rko)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_query_leaders_async_worker
      Src: /src/librdkafka/src/rdkafka_partition.c:3948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - rkq
    - rko
    argTypes:
    - rd_kafka_t*
    - rd_kafka_q_t*
    - rd_kafka_op_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3943
    functionDepth: 12
    functionLinenumber: 3943
    functionLinenumberEnd: 3949
    functionName: rd_kafka_topic_partition_list_query_leaders_async_worker_op_cb
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_query_leaders_async_worker
    linkageType: ''
    returnType: rd_kafka_op_res_t
    signature: "rd_kafka_op_res_t rd_kafka_topic_partition_list_query_leaders_async_worker_op_cb(\n
      \   rd_kafka_t *rk,\n    rd_kafka_q_t *rkq,\n    rd_kafka_op_t *rko)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:3975,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:3976,1
    - Dst: rd_kafka_op_new_cb
      Src: /src/librdkafka/src/rdkafka_partition.c:3978,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:3983,1
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_partition.c:3984,1
    - Dst: rd_kafka_enq_once_new
      Src: /src/librdkafka/src/rdkafka_partition.c:3991,1
    - Dst: RD_KAFKA_REPLYQ
      Src: /src/librdkafka/src/rdkafka_partition.c:3991,1
    - Dst: rd_kafka_enq_once_add_source
      Src: /src/librdkafka/src/rdkafka_partition.c:3993,1
    - Dst: rd_kafka_timer_start_oneshot
      Src: /src/librdkafka/src/rdkafka_partition.c:3994,1
    - Dst: rd_timeout_remains_us
      Src: /src/librdkafka/src/rdkafka_partition.c:3996,1
    - Dst: rd_kafka_topic_partition_list_query_leaders_async_worker
      Src: /src/librdkafka/src/rdkafka_partition.c:4000,1
    - Dst: rd_kafka_op_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - rk
    - rktparlist
    - timeout_ms
    - replyq
    - cb
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - int
    - rd_kafka_replyq_t
    - rd_kafka_op_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4003
      start: 3966
    functionDepth: 12
    functionLinenumber: 3966
    functionLinenumberEnd: 4003
    functionName: rd_kafka_topic_partition_list_query_leaders_async
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_timeout_remains_us
    - RD_KAFKA_REPLYQ
    - rd_kafka_op_destroy
    - rd_kafka_enq_once_new
    - rd_kafka_enq_once_add_source
    - rd_kafka_op_new_cb
    - rd_kafka_topic_partition_list_query_leaders_async_worker
    - rd_kafka_timer_start_oneshot
    - rd_timeout_init
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_query_leaders_async(\n    rd_kafka_t
      *rk,\n    const rd_kafka_topic_partition_list_t *rktparlist,\n    int timeout_ms,\n
      \   rd_kafka_replyq_t replyq,\n    rd_kafka_op_cb_t *cb,\n    void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_timeout_init
      Src: /src/librdkafka/src/rdkafka_partition.c:4025,1
    - Dst: rd_list_init
      Src: /src/librdkafka/src/rdkafka_partition.c:4040,1
    - Dst: rd_kafka_topic_partition_list_get_leaders
      Src: /src/librdkafka/src/rdkafka_partition.c:4042,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_partition.c:4049,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4051,1
    - Dst: rd_list_empty
      Src: /src/librdkafka/src/rdkafka_partition.c:4055,1
    - Dst: rd_clock
      Src: /src/librdkafka/src/rdkafka_partition.c:4061,1
    - Dst: rd_kafka_metadata_refresh_topics
      Src: /src/librdkafka/src/rdkafka_partition.c:4073,1
    - Dst: rd_timeout_remains_limit
      Src: /src/librdkafka/src/rdkafka_partition.c:4085,1
    - Dst: rd_kafka_metadata_cache_wait_change
      Src: /src/librdkafka/src/rdkafka_partition.c:4086,1
    - Dst: rd_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4089,1
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_partition.c:4097,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - rk
    - rktparlist
    - leaders
    - timeout_ms
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4020
    functionDepth: 11
    functionLinenumber: 4020
    functionLinenumberEnd: 4101
    functionName: rd_kafka_topic_partition_list_query_leaders
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_timeout_remains_limit
    - rd_kafka_metadata_cache_wait_change
    - rd_list_destroy
    - rd_kafka_metadata_refresh_topics
    - rd_atomic32_get
    - rd_kafka_topic_partition_list_get_leaders
    - rd_list_init
    - rd_clock
    - rd_timeout_init
    - rd_list_empty
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_topic_partition_list_query_leaders(\n
      \   rd_kafka_t *rk,\n    rd_kafka_topic_partition_list_t *rktparlist,\n    rd_list_t
      *leaders,\n    int timeout_ms)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_toppar
      Src: /src/librdkafka/src/rdkafka_partition.c:4122,1
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:4128,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:4130,1
    - Dst: rd_kafka_topic_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:4130,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - rk
    - rktparlist
    - rkts
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4138
      start: 4110
    functionDepth: 4
    functionLinenumber: 4110
    functionLinenumberEnd: 4138
    functionName: rd_kafka_topic_partition_list_get_topics
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_list_add
    - rd_kafka_topic_keep
    - rd_kafka_topic_partition_get_toppar
    - rd_list_find
    - rd_kafka_toppar_destroy
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_get_topics(\n    rd_kafka_t *rk,\n
      \   rd_kafka_topic_partition_list_t *rktparlist,\n    rd_list_t *rkts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:4163,1
    - Dst: rd_list_add
      Src: /src/librdkafka/src/rdkafka_partition.c:4164,1
    - Dst: rd_strdup
      Src: /src/librdkafka/src/rdkafka_partition.c:4164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - rktparlist
    - topics
    - include_regex
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4170
      start: 4149
    functionDepth: 3
    functionLinenumber: 4149
    functionLinenumberEnd: 4170
    functionName: rd_kafka_topic_partition_list_get_topic_names
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 4
    functionsReached:
    - rd_strdup
    - rd_list_find
    - rd_list_add
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_get_topic_names(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    rd_list_t *topics,\n    int include_regex)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4188,1
    - Dst: match
      Src: /src/librdkafka/src/rdkafka_partition.c:4194,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:4197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - rktparlist
    - opaque
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4181
    functionDepth: 5
    functionLinenumber: 4181
    functionLinenumberEnd: 4201
    functionName: rd_kafka_topic_partition_list_match
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - match
    - rd_kafka_topic_partition_list_new
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_topic_partition_list_match(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist,\n    int (*match)(const
      void *elem, const void *opaque),\n    void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4210,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4215,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4218,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - fac
    - dbg
    - rktparlist
    argTypes:
    - rd_kafka_t*
    - char*
    - int
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4203
    functionDepth: 1
    functionLinenumber: 4203
    functionLinenumberEnd: 4222
    functionName: rd_kafka_topic_partition_list_log
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 4
    functionsReached:
    - rd_kafka_offset2str
    - rd_kafka_err2str
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_log(\n    rd_kafka_t *rk,\n    const
      char *fac,\n    int dbg,\n    const rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_get_topic_id
      Src: /src/librdkafka/src/rdkafka_partition.c:4244,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:4251,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4252,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:4257,1
    - Dst: RD_KAFKA_UUID_IS_ZERO
      Src: /src/librdkafka/src/rdkafka_partition.c:4263,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/src/rdkafka_partition.c:4264,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:4266,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:4277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - rktparlist
    - dest
    - dest_size
    - fmt_flags
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4227
    functionDepth: 3
    functionLinenumber: 4227
    functionLinenumberEnd: 4285
    functionName: rd_kafka_topic_partition_list_str
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 8
    functionsReached:
    - RD_KAFKA_UUID_IS_ZERO
    - rd_kafka_topic_partition_get_topic_id
    - rd_snprintf
    - rd_kafka_err2str
    - rd_kafka_Uuid_base64str
    linkageType: ''
    returnType: char
    signature: "char *rd_kafka_topic_partition_list_str(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    char *dest,\n    size_t dest_size,\n    int fmt_flags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/src/rdkafka_partition.c:4312,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:4320,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_partition.c:4325,1
    - Dst: memcpy
      Src: /src/librdkafka/src/rdkafka_partition.c:4327,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:4331,1
    - Dst: rd_kafka_topic_partition_get_private
      Src: /src/librdkafka/src/rdkafka_partition.c:4332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4337
      start: 4302
    functionDepth: 3
    functionLinenumber: 4302
    functionLinenumberEnd: 4337
    functionName: rd_kafka_topic_partition_list_update
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_free
    - rd_kafka_topic_partition_get_private
    - rd_malloc
    - rd_kafka_topic_partition_list_find
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_update(\n    rd_kafka_topic_partition_list_t
      *dst,\n    const rd_kafka_topic_partition_list_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/librdkafka/src/rdkafka_partition.c:4353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - rktparlist
    - opaque
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4357
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4357
    functionName: rd_kafka_topic_partition_list_sum
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - cb
    linkageType: ''
    returnType: size_t
    signature: "size_t rd_kafka_topic_partition_list_sum(\n    const rd_kafka_topic_partition_list_t
      *rktparlist,\n    size_t (*cb)(const rd_kafka_topic_partition_t *rktpar, void
      *opaque),\n    void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_sort_by_topic
      Src: /src/librdkafka/src/rdkafka_partition.c:4375,1
    - Dst: strcmp
      Src: /src/librdkafka/src/rdkafka_partition.c:4383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - rktparlist
    - ignore_partition
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4389
      start: 4366
    functionDepth: 3
    functionLinenumber: 4366
    functionLinenumberEnd: 4389
    functionName: rd_kafka_topic_partition_list_has_duplicates
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 5
    functionsReached:
    - strcmp
    - rd_kafka_topic_partition_list_sort_by_topic
    linkageType: ''
    returnType: rd_bool_t
    signature: "rd_bool_t rd_kafka_topic_partition_list_has_duplicates(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    rd_bool_t ignore_partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rktparlist
    - err
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_resp_err_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4402
      start: 4395
    functionDepth: 0
    functionLinenumber: 4395
    functionLinenumberEnd: 4402
    functionName: rd_kafka_topic_partition_list_set_err
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_topic_partition_list_set_err(\n    rd_kafka_topic_partition_list_t
      *rktparlist,\n    rd_kafka_resp_err_t err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4416
      start: 4407
    functionDepth: 0
    functionLinenumber: 4407
    functionLinenumberEnd: 4416
    functionName: rd_kafka_topic_partition_list_get_err
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t rd_kafka_topic_partition_list_get_err(\n    const
      rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4433
      start: 4422
    functionDepth: 0
    functionLinenumber: 4422
    functionLinenumberEnd: 4433
    functionName: rd_kafka_topic_partition_list_regex_cnt
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_list_regex_cnt(\n    const rd_kafka_topic_partition_list_t
      *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - elem
    - opaque
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4443
      start: 4439
    functionDepth: 0
    functionLinenumber: 4439
    functionLinenumberEnd: 4443
    functionName: rd_kafka_topic_partition_not_regex
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_topic_partition_not_regex(const void *elem,\n                                              const
      void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_match
      Src: /src/librdkafka/src/rdkafka_partition.c:4452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4454
      start: 4450
    functionDepth: 6
    functionLinenumber: 4450
    functionLinenumberEnd: 4454
    functionName: rd_kafka_topic_partition_list_remove_regexes
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_topic_partition_list_match
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_topic_partition_list_remove_regexes(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/src/rdkafka_partition.c:4475,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4481,1
    - Dst: rd_malloc
      Src: /src/librdkafka/src/rdkafka_partition.c:4488,1
    - Dst: rd_kafkap_str_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4513,1
    - Dst: rd_free
      Src: /src/librdkafka/src/rdkafka_partition.c:4514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - rktparlist
    argTypes:
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4516
      start: 4460
    functionDepth: 2
    functionLinenumber: 4460
    functionLinenumberEnd: 4516
    functionName: rd_kafka_topic_partition_list_combine_regexes
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - strlen
    - rd_malloc
    - rd_free
    - rd_kafkap_str_new
    linkageType: ''
    returnType: rd_kafkap_str_t
    signature: "rd_kafkap_str_t *rd_kafka_topic_partition_list_combine_regexes(\n
      \   const rd_kafka_topic_partition_list_t *rktparlist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4531,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:4536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rktp
    - new_base_msgid
    argTypes:
    - rd_kafka_toppar_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4542
      start: 4529
    functionDepth: 1
    functionLinenumber: 4529
    functionLinenumberEnd: 4542
    functionName: rd_kafka_toppar_reset_base_msgid
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - RD_KAFKAP_STR_PR
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: "void rd_kafka_toppar_reset_base_msgid(rd_kafka_toppar_t *rktp,\n                                             uint64_t
      new_base_msgid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_atomic32_get
      Src: /src/librdkafka/src/rdkafka_partition.c:4568,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:4570,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4571,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:4577,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4578,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4579,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:4583,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:4587,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4588,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:4592,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4593,1
    - Dst: rd_kafka_pid2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4594,1
    - Dst: rd_kafka_toppar_reset_base_msgid
      Src: /src/librdkafka/src/rdkafka_partition.c:4597,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - rktp
    - pid
    - base_msgid
    argTypes:
    - rd_kafka_toppar_t*
    - rd_kafka_pid_t
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4602
      start: 4565
    functionDepth: 2
    functionLinenumber: 4565
    functionLinenumberEnd: 4602
    functionName: rd_kafka_toppar_pid_change
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_pid2str
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_toppar_reset_base_msgid
    - rd_kafka_toppar_unlock
    - rd_atomic32_get
    - RD_KAFKAP_STR_PR
    - unlikely
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_pid_change(rd_kafka_toppar_t *rktp,\n                               rd_kafka_pid_t
      pid,\n                               uint64_t base_msgid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_MSGQ_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_partition.c:4625,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:4628,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4630,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:4643,1
    - Dst: rd_assert
      Src: /src/librdkafka/src/rdkafka_partition.c:4644,1
    - Dst: thrd_is_current
      Src: /src/librdkafka/src/rdkafka_partition.c:4644,1
    - Dst: rd_kafka_msgq_concat
      Src: /src/librdkafka/src/rdkafka_partition.c:4645,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:4648,1
    - Dst: rd_kafka_msgq_concat
      Src: /src/librdkafka/src/rdkafka_partition.c:4649,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_partition.c:4650,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4658,1
    - Dst: RD_KAFKAP_STR_PR
      Src: /src/librdkafka/src/rdkafka_partition.c:4663,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4667,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:4669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - rktp
    - purge_flags
    - include_xmit_msgq
    argTypes:
    - rd_kafka_toppar_t*
    - int
    - rd_bool_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4621
    functionDepth: 2
    functionLinenumber: 4621
    functionLinenumberEnd: 4672
    functionName: rd_kafka_toppar_purge_queues
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_assert
    - rd_kafka_toppar_lock
    - rd_kafka_dr_msgq
    - rd_kafka_msgq_concat
    - thrd_is_current
    - RD_KAFKAP_STR_PR
    - RD_KAFKA_MSGQ_INITIALIZER
    - rd_kafka_msgq_len
    - rd_kafka_toppar_unlock
    - rd_kafka_dbg
    linkageType: ''
    returnType: int
    signature: "int rd_kafka_toppar_purge_queues(rd_kafka_toppar_t *rktp,\n                                 int
      purge_flags,\n                                 rd_bool_t include_xmit_msgq)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rdlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4685,1
    - Dst: TAILQ_FOREACH
      Src: /src/librdkafka/src/rdkafka_partition.c:4686,1
    - Dst: rd_kafka_topic_rdlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4690,1
    - Dst: rd_kafka_toppar_keep
      Src: /src/librdkafka/src/rdkafka_partition.c:4693,1
    - Dst: rd_kafka_topic_rdunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4694,1
    - Dst: unlikely
      Src: /src/librdkafka/src/rdkafka_partition.c:4696,1
    - Dst: rd_kafka_toppar_lock
      Src: /src/librdkafka/src/rdkafka_partition.c:4700,1
    - Dst: rd_kafka_msgq_len
      Src: /src/librdkafka/src/rdkafka_partition.c:4702,1
    - Dst: rd_kafka_dr_msgq
      Src: /src/librdkafka/src/rdkafka_partition.c:4703,1
    - Dst: rd_kafka_toppar_unlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4705,1
    - Dst: rd_kafka_toppar_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4706,1
    - Dst: rd_kafka_rdunlock
      Src: /src/librdkafka/src/rdkafka_partition.c:4713,1
    - Dst: rd_kafka_dbg
      Src: /src/librdkafka/src/rdkafka_partition.c:4715,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4718
      start: 4681
    functionDepth: 1
    functionLinenumber: 4681
    functionLinenumberEnd: 4718
    functionName: rd_kafka_purge_ua_toppar_queues
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 1
    functionsReached:
    - rd_kafka_rdlock
    - rd_kafka_topic_rdlock
    - rd_kafka_toppar_lock
    - rd_kafka_rdunlock
    - rd_kafka_topic_rdunlock
    - rd_kafka_dr_msgq
    - rd_kafka_toppar_unlock
    - rd_kafka_toppar_keep
    - rd_kafka_msgq_len
    - unlikely
    - TAILQ_FOREACH
    - rd_kafka_toppar_destroy
    - rd_kafka_dbg
    linkageType: ''
    returnType: void
    signature: void rd_kafka_purge_ua_toppar_queues(rd_kafka_t *rk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_partition_leader_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4724
      start: 4721
    functionDepth: 2
    functionLinenumber: 4721
    functionLinenumberEnd: 4724
    functionName: rd_kafka_partition_leader_destroy_free
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_partition_leader_destroy
    linkageType: ''
    returnType: void
    signature: void rd_kafka_partition_leader_destroy_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_snprintf
      Src: /src/librdkafka/src/rdkafka_partition.c:4733,1
    - Dst: rd_kafka_offset2str
      Src: /src/librdkafka/src/rdkafka_partition.c:4735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fetchpos
    argTypes:
    - rd_kafka_fetch_pos_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4738
      start: 4727
    functionDepth: 1
    functionLinenumber: 4727
    functionLinenumberEnd: 4738
    functionName: rd_kafka_fetch_pos2str
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 21
    functionsReached:
    - rd_kafka_offset2str
    - rd_snprintf
    linkageType: ''
    returnType: char
    signature: char *rd_kafka_fetch_pos2str(const rd_kafka_fetch_pos_t fetchpos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4755,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_partition.c:4758,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_partition.c:4760,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_partition.c:4763,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:4764,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_partition.c:4767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4769
      start: 4747
    functionDepth: 5
    functionLinenumber: 4747
    functionLinenumberEnd: 4769
    functionName: rd_kafka_topic_partition_list_intersection0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_new
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_intersection0(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b,\n    int(cmp)(const void *_a, const void *_b),\n    unsigned int(hash)(const
      void *_a))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_partition.c:4760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4761
      start: 4759
    functionDepth: 1
    functionLinenumber: 4759
    functionLinenumberEnd: 4761
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - RD_MAP_SET
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_partition.c:4763,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:4764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4766
      start: 4762
    functionDepth: 5
    functionLinenumber: 4762
    functionLinenumberEnd: 4766
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4783,1
    - Dst: RD_MAP_INITIALIZER
      Src: /src/librdkafka/src/rdkafka_partition.c:4785,1
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_partition.c:4787,1
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_partition.c:4790,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:4791,1
    - Dst: RD_MAP_DESTROY
      Src: /src/librdkafka/src/rdkafka_partition.c:4794,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4775
    functionDepth: 5
    functionLinenumber: 4775
    functionLinenumberEnd: 4796
    functionName: rd_kafka_topic_partition_list_difference0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - RD_MAP_SET
    - rd_kafka_topic_partition_list_new
    - RD_MAP_DESTROY
    - RD_MAP_GET
    - RD_MAP_INITIALIZER
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_difference0(rd_kafka_topic_partition_list_t
      *a,\n                                          rd_kafka_topic_partition_list_t
      *b,\n                                          int(cmp)(const void *_a,\n                                                   const
      void *_b),\n                                          unsigned int(hash)(const
      void *_a))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_SET
      Src: /src/librdkafka/src/rdkafka_partition.c:4787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4786
    functionDepth: 1
    functionLinenumber: 4786
    functionLinenumberEnd: 4788
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - RD_MAP_SET
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD_MAP_GET
      Src: /src/librdkafka/src/rdkafka_partition.c:4790,1
    - Dst: rd_kafka_topic_partition_list_add_copy
      Src: /src/librdkafka/src/rdkafka_partition.c:4791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4793
      start: 4789
    functionDepth: 5
    functionLinenumber: 4789
    functionLinenumberEnd: 4793
    functionName: RD_KAFKA_TPLIST_FOREACH
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 7
    functionsReached:
    - rd_kafka_topic_partition_list_add_copy
    - RD_MAP_GET
    linkageType: ''
    returnType: void
    signature: void RD_KAFKA_TPLIST_FOREACH(rktpar, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_difference0
      Src: /src/librdkafka/src/rdkafka_partition.c:4811,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src/rdkafka_partition.c:4813,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_partition.c:4815,1
    - Dst: rd_kafka_topic_partition_list_add_list
      Src: /src/librdkafka/src/rdkafka_partition.c:4816,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src/rdkafka_partition.c:4818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4820
      start: 4804
    functionDepth: 6
    functionLinenumber: 4804
    functionLinenumberEnd: 4820
    functionName: rd_kafka_topic_partition_list_union0
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_add_list
    - rd_kafka_topic_partition_list_difference0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_union0(rd_kafka_topic_partition_list_t
      *a,\n                                     rd_kafka_topic_partition_list_t *b,\n
      \                                    int(cmp)(const void *_a, const void *_b),\n
      \                                    unsigned int(hash)(const void *_a))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_intersection0
      Src: /src/librdkafka/src/rdkafka_partition.c:4830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4832
      start: 4826
    functionDepth: 6
    functionLinenumber: 4826
    functionLinenumberEnd: 4832
    functionName: rd_kafka_topic_partition_list_intersection_by_name
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_intersection0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_intersection_by_name(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_difference0
      Src: /src/librdkafka/src/rdkafka_partition.c:4842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4844
      start: 4838
    functionDepth: 6
    functionLinenumber: 4838
    functionLinenumberEnd: 4844
    functionName: rd_kafka_topic_partition_list_difference_by_name
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_difference0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_difference_by_name(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_union0
      Src: /src/librdkafka/src/rdkafka_partition.c:4855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4857
      start: 4852
    functionDepth: 7
    functionLinenumber: 4852
    functionLinenumberEnd: 4857
    functionName: rd_kafka_topic_partition_list_union_by_name
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_union0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_topic_partition_list_union_by_name(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_intersection0
      Src: /src/librdkafka/src/rdkafka_partition.c:4867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4870
      start: 4863
    functionDepth: 6
    functionLinenumber: 4863
    functionLinenumberEnd: 4870
    functionName: rd_kafka_topic_partition_list_intersection_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 2
    functionsReached:
    - rd_kafka_topic_partition_list_intersection0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_intersection_by_id(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_difference0
      Src: /src/librdkafka/src/rdkafka_partition.c:4879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4882
      start: 4876
    functionDepth: 6
    functionLinenumber: 4876
    functionLinenumberEnd: 4882
    functionName: rd_kafka_topic_partition_list_difference_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_difference0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *rd_kafka_topic_partition_list_difference_by_id(\n
      \   rd_kafka_topic_partition_list_t *a,\n    rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_union0
      Src: /src/librdkafka/src/rdkafka_partition.c:4893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4896
      start: 4890
    functionDepth: 7
    functionLinenumber: 4890
    functionLinenumberEnd: 4896
    functionName: rd_kafka_topic_partition_list_union_by_id
    functionSourceFile: /src/librdkafka/src/rdkafka_partition.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_list_union0
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *\nrd_kafka_topic_partition_list_union_by_id(rd_kafka_topic_partition_list_t
      *a,\n                                          rd_kafka_topic_partition_list_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: pb_encode_delimited
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_encode_delimited(s,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: pb_encode_nullterminated
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_encode_nullterminated(s,f,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/nanopb/pb_decode.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - stream
    - buf
    - count
    argTypes:
    - pb_istream_t*
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: checkreturn::buf_read
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool checkreturn buf_read(pb_istream_t *stream, pb_byte_t *buf, size_t
      count)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:93,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:99,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:104,1
    - Dst: pb_istream_t*::callback
      Src: /src/librdkafka/src/nanopb/pb_decode.c:107,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:108,1
    - Dst: checkreturn::buf_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:110,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - stream
    - buf
    - count
    argTypes:
    - pb_istream_t*
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 120
    functionName: checkreturn::pb_read
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_istream_t*::callback
    - PB_RETURN_ERROR
    - checkreturn::pb_read
    - checkreturn::buf_read
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_read(pb_istream_t *stream, pb_byte_t *buf, size_t
      count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:127,1
    - Dst: pb_istream_t*::callback
      Src: /src/librdkafka/src/nanopb/pb_decode.c:130,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - buf
    argTypes:
    - pb_istream_t*
    - pb_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 140
    functionName: checkreturn::pb_readbyte
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_istream_t*::callback
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_readbyte(pb_istream_t *stream, pb_byte_t *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - msglen
    argTypes:
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: pb_istream_from_buffer
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pb_istream_t
    signature: pb_istream_t pb_istream_from_buffer(const pb_byte_t *buf, size_t msglen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_readbyte
      Src: /src/librdkafka/src/nanopb/pb_decode.c:175,1
    - Dst: checkreturn::pb_readbyte
      Src: /src/librdkafka/src/nanopb/pb_decode.c:201,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:213,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:220,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - stream
    - dest
    - eof
    argTypes:
    - pb_istream_t*
    - uint32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 234
    functionName: checkreturn::pb_decode_varint32_eof
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_readbyte
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_varint32_eof(pb_istream_t *stream, uint32_t
      *dest, bool *eof)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32_eof
      Src: /src/librdkafka/src/nanopb/pb_decode.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: checkreturn::pb_decode_varint32
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_decode_varint32_eof
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_varint32(pb_istream_t *stream, uint32_t
      *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_readbyte
      Src: /src/librdkafka/src/nanopb/pb_decode.c:250,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 262
    functionName: checkreturn::pb_decode_varint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_readbyte
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_varint(pb_istream_t *stream, uint64_t *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - pb_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: checkreturn::pb_skip_varint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_read
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_skip_varint(pb_istream_t *stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:279,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:284,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - stream
    argTypes:
    - pb_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 4
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: checkreturn::pb_skip_string
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - PB_RETURN_ERROR
    - checkreturn::pb_read
    - checkreturn::pb_decode_varint32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_skip_string(pb_istream_t *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32_eof
      Src: /src/librdkafka/src/nanopb/pb_decode.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - wire_type
    - tag
    - eof
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t*
    - uint32_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: checkreturn::pb_decode_tag
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_decode_varint32_eof
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_tag(pb_istream_t *stream, pb_wire_type_t
      *wire_type, uint32_t *tag, bool *eof)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_skip_varint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:311,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:312,1
    - Dst: checkreturn::pb_skip_string
      Src: /src/librdkafka/src/nanopb/pb_decode.c:313,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:314,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - wire_type
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: checkreturn::pb_skip_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_skip_string
    - PB_RETURN_ERROR
    - checkreturn::pb_read
    - checkreturn::pb_skip_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_skip_field(pb_istream_t *stream, pb_wire_type_t
      wire_type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:333,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:335,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:342,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:346,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 4
    argNames:
    - stream
    - wire_type
    - buf
    - size
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_byte_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 356
    functionName: checkreturn::read_raw_value
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - PB_RETURN_ERROR
    - checkreturn::pb_read
    linkageType: ''
    returnType: bool
    signature: bool checkreturn read_raw_value(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_byte_t *buf, size_t *size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:364,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - substream
    argTypes:
    - pb_istream_t*
    - pb_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 4
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: checkreturn::pb_make_string_substream
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - PB_RETURN_ERROR
    - checkreturn::pb_decode_varint32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_make_string_substream(pb_istream_t *stream, pb_istream_t
      *substream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - stream
    - substream
    argTypes:
    - pb_istream_t*
    - pb_istream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 389
    functionName: checkreturn::pb_close_string_substream
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_read
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_close_string_substream(pb_istream_t *stream, pb_istream_t
      *substream)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:397,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:401,1
    - Dst: checkreturn::pb_dec_bool
      Src: /src/librdkafka/src/nanopb/pb_decode.c:403,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:409,1
    - Dst: checkreturn::pb_dec_varint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:411,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:415,1
    - Dst: pb_decode_fixed32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:417,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:421,1
    - Dst: pb_decode_double_as_float
      Src: /src/librdkafka/src/nanopb/pb_decode.c:426,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:431,1
    - Dst: pb_decode_fixed64
      Src: /src/librdkafka/src/nanopb/pb_decode.c:433,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:438,1
    - Dst: checkreturn::pb_dec_bytes
      Src: /src/librdkafka/src/nanopb/pb_decode.c:440,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:444,1
    - Dst: checkreturn::pb_dec_string
      Src: /src/librdkafka/src/nanopb/pb_decode.c:446,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:451,1
    - Dst: checkreturn::pb_dec_submessage
      Src: /src/librdkafka/src/nanopb/pb_decode.c:453,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:457,1
    - Dst: checkreturn::pb_dec_fixed_length_bytes
      Src: /src/librdkafka/src/nanopb/pb_decode.c:459,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:462,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - stream
    - wire_type
    - field
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 464
    functionName: checkreturn::decode_basic_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_dec_bytes
    - checkreturn::pb_dec_submessage
    - pb_decode_double_as_float
    - pb_decode_fixed64
    - PB_RETURN_ERROR
    - checkreturn::pb_dec_varint
    - checkreturn::pb_dec_string
    - PB_LTYPE
    - checkreturn::pb_dec_fixed_length_bytes
    - checkreturn::pb_dec_bool
    - pb_decode_fixed32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn decode_basic_field(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_field_iter_t *field)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:468,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:471,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:476,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:480,1
    - Dst: checkreturn::pb_make_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:488,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:493,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:503,1
    - Dst: checkreturn::pb_close_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:504,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:516,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:518,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_decode.c:522,1
    - Dst: memset
      Src: /src/librdkafka/src/nanopb/pb_decode.c:532,1
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_decode.c:540,1
    - Dst: pb_message_set_to_defaults
      Src: /src/librdkafka/src/nanopb/pb_decode.c:542,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:543,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:549,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:552,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - stream
    - wire_type
    - field
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 554
    functionName: checkreturn::decode_static_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_message_set_to_defaults
    - checkreturn::decode_basic_field
    - PB_HTYPE
    - pb_field_iter_begin
    - PB_RETURN_ERROR
    - memset
    - checkreturn::pb_close_string_substream
    - PB_LTYPE
    - PB_LTYPE_IS_SUBMSG
    - checkreturn::pb_make_string_substream
    linkageType: ''
    returnType: bool
    signature: bool checkreturn decode_static_field(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_field_iter_t *field)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:566,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:590,1
    - Dst: pb_realloc
      Src: /src/librdkafka/src/nanopb/pb_decode.c:598,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - stream
    - pData
    - data_size
    - array_size
    argTypes:
    - pb_istream_t*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 604
    functionName: checkreturn::allocate_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_realloc
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn allocate_field(pb_istream_t *stream, void *pData,
      size_t data_size, size_t array_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:609,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:610,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_decode.c:614,1
    - Dst: memset
      Src: /src/librdkafka/src/nanopb/pb_decode.c:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pItem
    - field
    argTypes:
    - void*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 620
    functionName: initialize_pointer_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - memset
    - PB_LTYPE
    - PB_LTYPE_IS_SUBMSG
    linkageType: ''
    returnType: void
    signature: void initialize_pointer_field(void *pItem, pb_field_iter_t *field)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: PB_UNUSED
      Src: /src/librdkafka/src/nanopb/pb_decode.c:626,1
    - Dst: PB_UNUSED
      Src: /src/librdkafka/src/nanopb/pb_decode.c:627,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:628,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:630,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_decode.c:635,1
    - Dst: pb_release_single_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:639,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:642,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:647,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:648,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:652,1
    - Dst: checkreturn::allocate_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:656,1
    - Dst: initialize_pointer_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:660,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:661,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:666,1
    - Dst: checkreturn::pb_make_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:674,1
    - Dst: checkreturn::allocate_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:699,1
    - Dst: initialize_pointer_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:714,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:715,1
    - Dst: checkreturn::pb_close_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:723,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:734,1
    - Dst: checkreturn::allocate_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:736,1
    - Dst: initialize_pointer_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:741,1
    - Dst: checkreturn::decode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:742,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:746,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - stream
    - wire_type
    - field
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 623
    functionDepth: 5
    functionLinenumber: 623
    functionLinenumberEnd: 749
    functionName: checkreturn::decode_pointer_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::decode_basic_field
    - PB_UNUSED
    - PB_HTYPE
    - PB_RETURN_ERROR
    - initialize_pointer_field
    - checkreturn::pb_close_string_substream
    - PB_LTYPE_IS_SUBMSG
    - pb_release_single_field
    - PB_LTYPE
    - checkreturn::pb_make_string_substream
    - checkreturn::allocate_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn decode_pointer_field(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_field_iter_t *field)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_skip_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:754,1
    - Dst: checkreturn::pb_make_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:761,1
    - Dst: pb_field_iter_t*::descriptor::field_callback
      Src: /src/librdkafka/src/nanopb/pb_decode.c:767,1
    - Dst: PB_SET_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:769,1
    - Dst: checkreturn::pb_close_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:774,1
    - Dst: checkreturn::read_raw_value
      Src: /src/librdkafka/src/nanopb/pb_decode.c:789,1
    - Dst: pb_istream_from_buffer
      Src: /src/librdkafka/src/nanopb/pb_decode.c:791,1
    - Dst: pb_field_iter_t*::descriptor::field_callback
      Src: /src/librdkafka/src/nanopb/pb_decode.c:793,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - stream
    - wire_type
    - field
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 751
    functionDepth: 6
    functionLinenumber: 751
    functionLinenumberEnd: 795
    functionName: checkreturn::decode_callback_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_skip_field
    - pb_istream_from_buffer
    - checkreturn::pb_close_string_substream
    - checkreturn::read_raw_value
    - pb_field_iter_t*::descriptor::field_callback
    - checkreturn::pb_make_string_substream
    - PB_SET_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn decode_callback_field(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_field_iter_t *field)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:802,1
    - Dst: pb_release_union_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:804,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:809,1
    - Dst: checkreturn::decode_static_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:812,1
    - Dst: checkreturn::decode_pointer_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:815,1
    - Dst: checkreturn::decode_callback_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:818,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - wire_type
    - field
    argTypes:
    - pb_istream_t*
    - pb_wire_type_t
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 797
    functionDepth: 7
    functionLinenumber: 797
    functionLinenumberEnd: 823
    functionName: checkreturn::decode_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_release_union_field
    - checkreturn::decode_callback_field
    - PB_HTYPE
    - PB_RETURN_ERROR
    - PB_ATYPE
    - checkreturn::decode_pointer_field
    - checkreturn::decode_static_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn decode_field(pb_istream_t *stream, pb_wire_type_t
      wire_type, pb_field_iter_t *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin_extension
      Src: /src/librdkafka/src/nanopb/pb_decode.c:833,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:834,1
    - Dst: checkreturn::decode_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - extension
    - tag
    - wire_type
    argTypes:
    - pb_istream_t*
    - pb_extension_t*
    - uint32_t
    - pb_wire_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 828
    functionDepth: 8
    functionLinenumber: 828
    functionLinenumberEnd: 841
    functionName: checkreturn::default_extension_decoder
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::decode_field
    - PB_RETURN_ERROR
    - pb_field_iter_begin_extension
    linkageType: ''
    returnType: bool
    signature: "bool checkreturn default_extension_decoder(pb_istream_t *stream,\n
      \   pb_extension_t *extension, uint32_t tag, pb_wire_type_t wire_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_extension_t*::type::decode
      Src: /src/librdkafka/src/nanopb/pb_decode.c:854,1
    - Dst: checkreturn::default_extension_decoder
      Src: /src/librdkafka/src/nanopb/pb_decode.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - stream
    - tag
    - wire_type
    - extension
    argTypes:
    - pb_istream_t*
    - uint32_t
    - pb_wire_type_t
    - pb_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 845
    functionDepth: 9
    functionLinenumber: 845
    functionLinenumberEnd: 865
    functionName: checkreturn::decode_extension
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_extension_t*::type::decode
    - checkreturn::default_extension_decoder
    linkageType: ''
    returnType: bool
    signature: "bool checkreturn decode_extension(pb_istream_t *stream,\n    uint32_t
      tag, pb_wire_type_t wire_type, pb_extension_t *extension)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:873,1
    - Dst: pb_field_iter_begin_extension
      Src: /src/librdkafka/src/nanopb/pb_decode.c:879,1
    - Dst: pb_message_set_to_defaults
      Src: /src/librdkafka/src/nanopb/pb_decode.c:882,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:888,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:891,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:897,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:898,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_decode.c:908,1
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_decode.c:917,1
    - Dst: pb_message_set_to_defaults
      Src: /src/librdkafka/src/nanopb/pb_decode.c:919,1
    - Dst: memset
      Src: /src/librdkafka/src/nanopb/pb_decode.c:926,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:930,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:936,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:937,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:942,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 1
    argNames:
    - field
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 948
    functionName: pb_field_set_to_default
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_message_set_to_defaults
    - PB_HTYPE
    - PB_ATYPE
    - memset
    - PB_LTYPE
    - PB_LTYPE_IS_SUBMSG
    - pb_field_iter_begin_extension
    - pb_field_iter_begin
    linkageType: ''
    returnType: bool
    signature: bool pb_field_set_to_default(pb_field_iter_t *field)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pb_istream_from_buffer
      Src: /src/librdkafka/src/nanopb/pb_decode.c:959,1
    - Dst: pb_decode_tag
      Src: /src/librdkafka/src/nanopb/pb_decode.c:960,1
    - Dst: pb_field_set_to_default
      Src: /src/librdkafka/src/nanopb/pb_decode.c:966,1
    - Dst: decode_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:972,1
    - Dst: pb_decode_tag
      Src: /src/librdkafka/src/nanopb/pb_decode.c:974,1
    - Dst: pb_field_iter_next
      Src: /src/librdkafka/src/nanopb/pb_decode.c:980,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - iter
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 983
    functionName: pb_message_set_to_defaults
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 2
    functionsReached:
    - decode_field
    - pb_decode_tag
    - pb_field_iter_next
    - pb_istream_from_buffer
    - pb_field_set_to_default
    linkageType: ''
    returnType: bool
    signature: bool pb_message_set_to_defaults(pb_field_iter_t *iter)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1006,1
    - Dst: pb_message_set_to_defaults
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1010,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1011,1
    - Dst: checkreturn::pb_decode_tag
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1021,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1037,1
    - Dst: pb_field_iter_find
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1041,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1041,1
    - Dst: pb_field_iter_find_extension
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1046,1
    - Dst: checkreturn::decode_extension
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1062,1
    - Dst: checkreturn::pb_skip_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1073,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1081,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1091,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1102,1
    - Dst: checkreturn::decode_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1109,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1117,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1135,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1144,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 76
    argCount: 4
    argNames:
    - stream
    - fields
    - dest_struct
    - flags
    argTypes:
    - pb_istream_t*
    - pb_msgdesc_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 989
    functionDepth: 10
    functionLinenumber: 989
    functionLinenumberEnd: 1151
    functionName: checkreturn::pb_decode_inner
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_message_set_to_defaults
    - checkreturn::pb_decode_tag
    - pb_field_iter_find
    - checkreturn::pb_skip_field
    - checkreturn::decode_field
    - PB_HTYPE
    - PB_RETURN_ERROR
    - PB_LTYPE
    - pb_field_iter_find_extension
    - pb_field_iter_begin
    - checkreturn::decode_extension
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_inner(pb_istream_t *stream, const pb_msgdesc_t
      *fields, void *dest_struct, unsigned int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_inner
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1159,1
    - Dst: checkreturn::pb_make_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1164,1
    - Dst: checkreturn::pb_decode_inner
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1167,1
    - Dst: checkreturn::pb_close_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1169,1
    - Dst: pb_release
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - stream
    - fields
    - dest_struct
    - flags
    argTypes:
    - pb_istream_t*
    - pb_msgdesc_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1153
    functionDepth: 11
    functionLinenumber: 1153
    functionLinenumberEnd: 1179
    functionName: checkreturn::pb_decode_ex
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_make_string_substream
    - checkreturn::pb_close_string_substream
    - pb_release
    - checkreturn::pb_decode_inner
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode_ex(pb_istream_t *stream, const pb_msgdesc_t
      *fields, void *dest_struct, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_inner
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1185,1
    - Dst: pb_release
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - fields
    - dest_struct
    argTypes:
    - pb_istream_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1181
    functionDepth: 11
    functionLinenumber: 1181
    functionLinenumberEnd: 1193
    functionName: checkreturn::pb_decode
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_release
    - checkreturn::pb_decode_inner
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_decode(pb_istream_t *stream, const pb_msgdesc_t
      *fields, void *dest_struct)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_find
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1212,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1213,1
    - Dst: pb_release_single_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1215,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1226
    functionName: pb_release_union_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - PB_ATYPE
    - PB_RETURN_ERROR
    - pb_release_single_field
    - pb_field_iter_find
    linkageType: ''
    returnType: bool
    signature: bool pb_release_union_field(pb_istream_t *stream, pb_field_iter_t *field)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1233,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1242,1
    - Dst: pb_field_iter_begin_extension
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1249,1
    - Dst: pb_release_single_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1251,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1256,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1256,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1261,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1270,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1274,1
    - Dst: pb_release
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1285,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1291,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1293,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1294,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1295,1
    - Dst: pb_free
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1302,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1307,1
    - Dst: pb_free
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1314,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - field
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1228
    functionDepth: 1
    functionLinenumber: 1228
    functionLinenumberEnd: 1317
    functionName: pb_release_single_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 3
    functionsReached:
    - pb_release
    - PB_HTYPE
    - PB_ATYPE
    - PB_LTYPE_IS_SUBMSG
    - PB_LTYPE
    - pb_release_single_field
    - pb_free
    - pb_field_iter_begin_extension
    linkageType: ''
    returnType: void
    signature: void pb_release_single_field(pb_field_iter_t *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1326,1
    - Dst: pb_release_single_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1331,1
    - Dst: pb_field_iter_next
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - fields
    - dest_struct
    argTypes:
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1319
    functionDepth: 2
    functionLinenumber: 1319
    functionLinenumberEnd: 1333
    functionName: pb_release
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 3
    functionsReached:
    - pb_field_iter_begin
    - pb_release_single_field
    - pb_field_iter_next
    linkageType: ''
    returnType: void
    signature: void pb_release(const pb_msgdesc_t *fields, void *dest_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PB_UNUSED
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1338,1
    - Dst: PB_UNUSED
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fields
    - dest_struct
    argTypes:
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    functionName: pb_release
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 3
    functionsReached:
    - PB_UNUSED
    linkageType: ''
    returnType: void
    signature: void pb_release(const pb_msgdesc_t *fields, void *dest_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1353
    functionName: pb_decode_bool
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_decode_varint32
    linkageType: ''
    returnType: bool
    signature: bool pb_decode_bool(pb_istream_t *stream, bool *dest)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode_varint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1358,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - pb_int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1367
    functionName: pb_decode_svarint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 0
    functionsReached:
    - pb_decode_varint
    linkageType: ''
    returnType: bool
    signature: bool pb_decode_svarint(pb_istream_t *stream, pb_int64_t *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1389
    functionName: pb_decode_fixed32
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_read
    linkageType: ''
    returnType: bool
    signature: bool pb_decode_fixed32(pb_istream_t *stream, void *dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1416
    functionName: pb_decode_fixed64
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_read
    linkageType: ''
    returnType: bool
    signature: bool pb_decode_fixed64(pb_istream_t *stream, void *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode_bool
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1419
    functionDepth: 1
    functionLinenumber: 1419
    functionLinenumberEnd: 1422
    functionName: checkreturn::pb_dec_bool
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_decode_bool
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_bool(pb_istream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1426,1
    - Dst: checkreturn::pb_decode_varint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1429,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1442,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1445,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1455,1
    - Dst: pb_decode_svarint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1457,1
    - Dst: checkreturn::pb_decode_varint
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1462,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1487,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1490,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1424
    functionDepth: 3
    functionLinenumber: 1424
    functionLinenumberEnd: 1494
    functionName: checkreturn::pb_dec_varint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_decode_svarint
    - checkreturn::pb_decode_varint
    - PB_LTYPE
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_varint(pb_istream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1502,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1506,1
    - Dst: PB_BYTES_ARRAY_T_ALLOCSIZE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1508,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1510,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1512,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1515,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1518,1
    - Dst: checkreturn::allocate_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1520,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1528,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1534
    functionName: checkreturn::pb_dec_bytes
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - PB_BYTES_ARRAY_T_ALLOCSIZE
    - checkreturn::pb_read
    - PB_RETURN_ERROR
    - PB_ATYPE
    - checkreturn::pb_decode_varint32
    - checkreturn::allocate_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_bytes(pb_istream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1542,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1546,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1552,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1554,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1557,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1560,1
    - Dst: checkreturn::allocate_field
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1562,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1570,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1575,1
    - Dst: pb_validate_utf8
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1579,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1536
    functionDepth: 4
    functionLinenumber: 1536
    functionLinenumberEnd: 1584
    functionName: checkreturn::pb_dec_string
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_read
    - PB_RETURN_ERROR
    - PB_ATYPE
    - pb_validate_utf8
    - checkreturn::pb_decode_varint32
    - checkreturn::allocate_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_string(pb_istream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_make_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1592,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1596,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1601,1
    - Dst: pb_callback_t*::funcs::decode
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1607,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1623,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1624,1
    - Dst: checkreturn::pb_decode_inner
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1629,1
    - Dst: checkreturn::pb_close_string_substream
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1632,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1586
    functionDepth: 11
    functionLinenumber: 1586
    functionLinenumberEnd: 1636
    functionName: checkreturn::pb_dec_submessage
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_decode_inner
    - PB_HTYPE
    - PB_RETURN_ERROR
    - PB_ATYPE
    - checkreturn::pb_close_string_substream
    - PB_LTYPE
    - checkreturn::pb_make_string_substream
    - pb_callback_t*::funcs::decode
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_submessage(pb_istream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_decode_varint32
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1642,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1646,1
    - Dst: memset
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1651,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1656,1
    - Dst: checkreturn::pb_read
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_istream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1638
    functionDepth: 4
    functionLinenumber: 1638
    functionLinenumberEnd: 1659
    functionName: checkreturn::pb_dec_fixed_length_bytes
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - memset
    - PB_RETURN_ERROR
    - checkreturn::pb_read
    - checkreturn::pb_decode_varint32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_dec_fixed_length_bytes(pb_istream_t *stream, const
      pb_field_iter_t *field)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pb_decode_fixed64
      Src: /src/librdkafka/src/nanopb/pb_decode.c:1670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - stream
    - dest
    argTypes:
    - pb_istream_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1726
    functionName: pb_decode_double_as_float
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.c
    functionUses: 1
    functionsReached:
    - pb_decode_fixed64
    linkageType: ''
    returnType: bool
    signature: bool pb_decode_double_as_float(pb_istream_t *stream, float *dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/librdkafka/src/nanopb/pb_encode.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - buf
    - count
    argTypes:
    - pb_ostream_t*
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: checkreturn::buf_write
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool checkreturn buf_write(pb_ostream_t *stream, const pb_byte_t *buf,
      size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - bufsize
    argTypes:
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 81
    functionName: pb_ostream_from_buffer
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pb_ostream_t
    signature: pb_ostream_t pb_ostream_from_buffer(pb_byte_t *buf, size_t bufsize)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:90,1
    - Dst: checkreturn::buf_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:94,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:95,1
    - Dst: pb_ostream_t*::callback
      Src: /src/librdkafka/src/nanopb/pb_encode.c:97,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - stream
    - buf
    - count
    argTypes:
    - pb_ostream_t*
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 104
    functionName: checkreturn::pb_write
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::buf_write
    - pb_ostream_t*::callback
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_write(pb_ostream_t *stream, const pb_byte_t *buf,
      size_t count)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pSize
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: safe_read_bool
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool safe_read_bool(const void *pSize)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:140,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:141,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:145,1
    - Dst: checkreturn::pb_encode_tag
      Src: /src/librdkafka/src/nanopb/pb_encode.c:147,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:151,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:155,1
    - Dst: checkreturn::pb_enc_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:165,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:166,1
    - Dst: PB_GET_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:166,1
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:173,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:177,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:182,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:182,1
    - Dst: checkreturn::pb_enc_fixed
      Src: /src/librdkafka/src/nanopb/pb_encode.c:184,1
    - Dst: checkreturn::pb_enc_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:189,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:205,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:206,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:207,1
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:216,1
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:217,1
    - Dst: checkreturn::encode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:221,1
    - Dst: checkreturn::encode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:231,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 239
    functionName: checkreturn::encode_array
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - pb_encode_tag_for_field
    - checkreturn::pb_write
    - PB_RETURN_ERROR
    - PB_ATYPE
    - PB_LTYPE
    - checkreturn::pb_encode_tag
    - checkreturn::pb_enc_fixed
    - checkreturn::encode_basic_field
    - checkreturn::pb_encode_varint
    - PB_GET_ERROR
    - checkreturn::pb_enc_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn encode_array(pb_ostream_t *stream, pb_field_iter_t
      *field)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:247,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:249,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:254,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:259,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:264,1
    - Dst: safe_read_bool
      Src: /src/librdkafka/src/nanopb/pb_encode.c:268,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:281,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:296,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:301,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:305,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_encode.c:312,1
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_encode.c:321,1
    - Dst: checkreturn::pb_check_proto3_default_value
      Src: /src/librdkafka/src/nanopb/pb_encode.c:325,1
    - Dst: pb_field_iter_next
      Src: /src/librdkafka/src/nanopb/pb_encode.c:329,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:334,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:338,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:340,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - field
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 357
    functionName: checkreturn::pb_check_proto3_default_value
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - PB_HTYPE
    - PB_ATYPE
    - pb_field_iter_next
    - safe_read_bool
    - checkreturn::pb_check_proto3_default_value
    - PB_LTYPE_IS_SUBMSG
    - PB_LTYPE
    - pb_field_iter_begin
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_check_proto3_default_value(const pb_field_iter_t
      *field)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_tag_for_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:369,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:372,1
    - Dst: checkreturn::pb_enc_bool
      Src: /src/librdkafka/src/nanopb/pb_encode.c:375,1
    - Dst: checkreturn::pb_enc_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:380,1
    - Dst: checkreturn::pb_enc_fixed
      Src: /src/librdkafka/src/nanopb/pb_encode.c:384,1
    - Dst: checkreturn::pb_enc_bytes
      Src: /src/librdkafka/src/nanopb/pb_encode.c:387,1
    - Dst: checkreturn::pb_enc_string
      Src: /src/librdkafka/src/nanopb/pb_encode.c:390,1
    - Dst: checkreturn::pb_enc_submessage
      Src: /src/librdkafka/src/nanopb/pb_encode.c:394,1
    - Dst: checkreturn::pb_enc_fixed_length_bytes
      Src: /src/librdkafka/src/nanopb/pb_encode.c:397,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 402
    functionName: checkreturn::encode_basic_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_enc_bytes
    - pb_encode_tag_for_field
    - checkreturn::pb_enc_string
    - PB_RETURN_ERROR
    - checkreturn::pb_enc_bool
    - checkreturn::pb_enc_submessage
    - PB_LTYPE
    - checkreturn::pb_enc_fixed
    - checkreturn::pb_enc_fixed_length_bytes
    - checkreturn::pb_enc_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn encode_basic_field(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_t*::descriptor::field_callback
      Src: /src/librdkafka/src/nanopb/pb_encode.c:410,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 414
    functionName: checkreturn::encode_callback_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - PB_RETURN_ERROR
    - pb_field_iter_t*::descriptor::field_callback
    linkageType: ''
    returnType: bool
    signature: bool checkreturn encode_callback_field(pb_ostream_t *stream, const
      pb_field_iter_t *field)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:420,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:428,1
    - Dst: safe_read_bool
      Src: /src/librdkafka/src/nanopb/pb_encode.c:432,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:438,1
    - Dst: checkreturn::pb_check_proto3_default_value
      Src: /src/librdkafka/src/nanopb/pb_encode.c:441,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:448,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:449,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:456,1
    - Dst: checkreturn::encode_callback_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:458,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:460,1
    - Dst: checkreturn::encode_array
      Src: /src/librdkafka/src/nanopb/pb_encode.c:462,1
    - Dst: checkreturn::encode_basic_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 468
    functionName: checkreturn::encode_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::encode_callback_field
    - PB_HTYPE
    - PB_RETURN_ERROR
    - PB_ATYPE
    - checkreturn::encode_array
    - safe_read_bool
    - checkreturn::pb_check_proto3_default_value
    - checkreturn::encode_basic_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn encode_field(pb_ostream_t *stream, pb_field_iter_t
      *field)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin_extension_const
      Src: /src/librdkafka/src/nanopb/pb_encode.c:477,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:478,1
    - Dst: checkreturn::encode_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - extension
    argTypes:
    - pb_ostream_t*
    - pb_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 4
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: checkreturn::default_extension_encoder
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::encode_field
    - PB_RETURN_ERROR
    - pb_field_iter_begin_extension_const
    linkageType: ''
    returnType: bool
    signature: bool checkreturn default_extension_encoder(pb_ostream_t *stream, const
      pb_extension_t *extension)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pb_extension_t*::type::encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:494,1
    - Dst: checkreturn::default_extension_encoder
      Src: /src/librdkafka/src/nanopb/pb_encode.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 5
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: checkreturn::encode_extension_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - pb_extension_t*::type::encode
    - checkreturn::default_extension_encoder
    linkageType: ''
    returnType: bool
    signature: bool checkreturn encode_extension_field(pb_ostream_t *stream, const
      pb_field_iter_t *field)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin_const
      Src: /src/librdkafka/src/nanopb/pb_encode.c:514,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:518,1
    - Dst: checkreturn::encode_extension_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:521,1
    - Dst: checkreturn::encode_field
      Src: /src/librdkafka/src/nanopb/pb_encode.c:527,1
    - Dst: pb_field_iter_next
      Src: /src/librdkafka/src/nanopb/pb_encode.c:530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - stream
    - fields
    - src_struct
    argTypes:
    - pb_ostream_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 511
    functionDepth: 6
    functionLinenumber: 511
    functionLinenumberEnd: 533
    functionName: checkreturn::pb_encode
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - pb_field_iter_next
    - PB_LTYPE
    - pb_field_iter_begin_const
    - checkreturn::encode_field
    - checkreturn::encode_extension_field
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode(pb_ostream_t *stream, const pb_msgdesc_t
      *fields, const void *src_struct)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_submessage
      Src: /src/librdkafka/src/nanopb/pb_encode.c:539,1
    - Dst: checkreturn::pb_encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:545,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:548,1
    - Dst: checkreturn::pb_encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - stream
    - fields
    - src_struct
    - flags
    argTypes:
    - pb_ostream_t*
    - pb_msgdesc_t*
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 535
    functionDepth: 7
    functionLinenumber: 535
    functionLinenumberEnd: 554
    functionName: checkreturn::pb_encode_ex
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_encode_submessage
    - checkreturn::pb_write
    - checkreturn::pb_encode
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_ex(pb_ostream_t *stream, const pb_msgdesc_t
      *fields, const void *src_struct, unsigned int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - size
    - fields
    - src_struct
    argTypes:
    - size_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 565
    functionName: pb_get_encoded_size
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - pb_encode
    linkageType: ''
    returnType: bool
    signature: bool pb_get_encoded_size(size_t *size, const pb_msgdesc_t *fields,
      const void *src_struct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - stream
    - low
    - high
    argTypes:
    - pb_ostream_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 572
    functionDepth: 2
    functionLinenumber: 572
    functionLinenumberEnd: 604
    functionName: checkreturn::pb_encode_varint_32
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_write
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_varint_32(pb_ostream_t *stream, uint32_t
      low, uint32_t high)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:612,1
    - Dst: checkreturn::pb_encode_varint_32
      Src: /src/librdkafka/src/nanopb/pb_encode.c:617,1
    - Dst: checkreturn::pb_encode_varint_32
      Src: /src/librdkafka/src/nanopb/pb_encode.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - value
    argTypes:
    - pb_ostream_t*
    - pb_uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 622
    functionName: checkreturn::pb_encode_varint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_write
    - checkreturn::pb_encode_varint_32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_varint(pb_ostream_t *stream, pb_uint64_t
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - value
    argTypes:
    - pb_ostream_t*
    - pb_int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 4
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: checkreturn::pb_encode_svarint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_encode_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_svarint(pb_ostream_t *stream, pb_int64_t
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:640,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - value
    argTypes:
    - pb_ostream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 650
    functionName: checkreturn::pb_encode_fixed32
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_write
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_fixed32(pb_ostream_t *stream, const void
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:657,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - stream
    - value
    argTypes:
    - pb_ostream_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 671
    functionName: checkreturn::pb_encode_fixed64
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_write
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_fixed64(pb_ostream_t *stream, const void
      *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - wiretype
    - field_number
    argTypes:
    - pb_ostream_t*
    - pb_wire_type_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: checkreturn::pb_encode_tag
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_encode_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_tag(pb_ostream_t *stream, pb_wire_type_t
      wiretype, uint32_t field_number)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:683,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:709,1
    - Dst: pb_encode_tag
      Src: /src/librdkafka/src/nanopb/pb_encode.c:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 713
    functionName: pb_encode_tag_for_field
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 9
    functionsReached:
    - PB_LTYPE
    - PB_RETURN_ERROR
    - pb_encode_tag
    linkageType: ''
    returnType: bool
    signature: bool pb_encode_tag_for_field ( pb_ostream_t* stream, const pb_field_iter_t*
      field )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:717,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - stream
    - buffer
    - size
    argTypes:
    - pb_ostream_t*
    - pb_byte_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 721
    functionName: checkreturn::pb_encode_string
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 0
    functionsReached:
    - checkreturn::pb_write
    - checkreturn::pb_encode_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_string(pb_ostream_t *stream, const pb_byte_t
      *buffer, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:730,1
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:740,1
    - Dst: checkreturn::pb_write
      Src: /src/librdkafka/src/nanopb/pb_encode.c:744,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:747,1
    - Dst: checkreturn::pb_encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:759,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - fields
    - src_struct
    argTypes:
    - pb_ostream_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 723
    functionDepth: 7
    functionLinenumber: 723
    functionLinenumberEnd: 771
    functionName: checkreturn::pb_encode_submessage
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_write
    - checkreturn::pb_encode_varint
    - PB_RETURN_ERROR
    - checkreturn::pb_encode
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_encode_submessage(pb_ostream_t *stream, const pb_msgdesc_t
      *fields, const void *src_struct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safe_read_bool
      Src: /src/librdkafka/src/nanopb/pb_encode.c:777,1
    - Dst: PB_UNUSED
      Src: /src/librdkafka/src/nanopb/pb_encode.c:778,1
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 4
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: checkreturn::pb_enc_bool
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - PB_UNUSED
    - checkreturn::pb_encode_varint
    - safe_read_bool
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_bool(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:784,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:798,1
    - Dst: checkreturn::pb_encode_varint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:800,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:816,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:818,1
    - Dst: checkreturn::pb_encode_svarint
      Src: /src/librdkafka/src/nanopb/pb_encode.c:819,1
    - Dst: checkreturn::pb_encode_varint_32
      Src: /src/librdkafka/src/nanopb/pb_encode.c:822,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 782
    functionDepth: 5
    functionLinenumber: 782
    functionLinenumberEnd: 828
    functionName: checkreturn::pb_enc_varint
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 2
    functionsReached:
    - PB_RETURN_ERROR
    - checkreturn::pb_encode_varint_32
    - checkreturn::pb_encode_svarint
    - PB_LTYPE
    - checkreturn::pb_encode_varint
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_varint(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:833,1
    - Dst: pb_encode_float_as_double
      Src: /src/librdkafka/src/nanopb/pb_encode.c:835,1
    - Dst: checkreturn::pb_encode_fixed32
      Src: /src/librdkafka/src/nanopb/pb_encode.c:841,1
    - Dst: checkreturn::pb_encode_fixed64
      Src: /src/librdkafka/src/nanopb/pb_encode.c:846,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 853
    functionName: checkreturn::pb_enc_fixed
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 2
    functionsReached:
    - checkreturn::pb_encode_fixed64
    - pb_encode_float_as_double
    - PB_RETURN_ERROR
    - PB_LTYPE
    - checkreturn::pb_encode_fixed32
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_fixed(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_string
      Src: /src/librdkafka/src/nanopb/pb_encode.c:864,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:867,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:870,1
    - Dst: checkreturn::pb_encode_string
      Src: /src/librdkafka/src/nanopb/pb_encode.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 855
    functionDepth: 5
    functionLinenumber: 855
    functionLinenumberEnd: 874
    functionName: checkreturn::pb_enc_bytes
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_encode_string
    - PB_RETURN_ERROR
    - PB_ATYPE
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_bytes(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:882,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:894,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:917,1
    - Dst: pb_validate_utf8
      Src: /src/librdkafka/src/nanopb/pb_encode.c:922,1
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:923,1
    - Dst: checkreturn::pb_encode_string
      Src: /src/librdkafka/src/nanopb/pb_encode.c:926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 876
    functionDepth: 5
    functionLinenumber: 876
    functionLinenumberEnd: 927
    functionName: checkreturn::pb_enc_string
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - pb_validate_utf8
    - checkreturn::pb_encode_string
    - PB_RETURN_ERROR
    - PB_ATYPE
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_string(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PB_RETURN_ERROR
      Src: /src/librdkafka/src/nanopb/pb_encode.c:932,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_encode.c:934,1
    - Dst: pb_callback_t*::funcs::encode
      Src: /src/librdkafka/src/nanopb/pb_encode.c:940,1
    - Dst: checkreturn::pb_encode_submessage
      Src: /src/librdkafka/src/nanopb/pb_encode.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 929
    functionDepth: 8
    functionLinenumber: 929
    functionLinenumberEnd: 946
    functionName: checkreturn::pb_enc_submessage
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_encode_submessage
    - pb_callback_t*::funcs::encode
    - PB_LTYPE
    - PB_RETURN_ERROR
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_submessage(pb_ostream_t *stream, const pb_field_iter_t
      *field)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkreturn::pb_encode_string
      Src: /src/librdkafka/src/nanopb/pb_encode.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - stream
    - field
    argTypes:
    - pb_ostream_t*
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 5
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: checkreturn::pb_enc_fixed_length_bytes
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - checkreturn::pb_encode_string
    linkageType: ''
    returnType: bool
    signature: bool checkreturn pb_enc_fixed_length_bytes(pb_ostream_t *stream, const
      pb_field_iter_t *field)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pb_encode_fixed64
      Src: /src/librdkafka/src/nanopb/pb_encode.c:998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - stream
    - value
    argTypes:
    - pb_ostream_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 999
    functionName: pb_encode_float_as_double
    functionSourceFile: /src/librdkafka/src/nanopb/pb_encode.c
    functionUses: 1
    functionsReached:
    - pb_encode_fixed64
    linkageType: ''
    returnType: bool
    signature: bool pb_encode_float_as_double(pb_ostream_t *stream, float value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: PB_UNUSED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_UNUSED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: PB_PROGMEM_READU32
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_PROGMEM_READU32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: PB_PROGMEM_READU32
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_PROGMEM_READU32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: PB_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT(COND,MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: PB_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT(COND,MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: PB_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT(COND,MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MSG
    - ','
    - LINE
    - ','
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: PB_STATIC_ASSERT_MSG
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT_MSG(MSG, LINE, COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - MSG
    - ','
    - LINE
    - ','
    - COUNTER
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: PB_STATIC_ASSERT_MSG_
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT_MSG_(MSG, LINE, COUNTER)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: PB_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT(COND,MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - COND
    - ','
    - MSG
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: PB_STATIC_ASSERT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_STATIC_ASSERT(COND,MSG)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: PB_ATYPE
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ATYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: PB_HTYPE
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_HTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: PB_LTYPE
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_LTYPE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: PB_LTYPE_IS_SUBMSG
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_LTYPE_IS_SUBMSG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: PB_BYTES_ARRAY_T
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_BYTES_ARRAY_T(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: PB_BYTES_ARRAY_T_ALLOCSIZE
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_BYTES_ARRAY_T_ALLOCSIZE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: pb_realloc
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_realloc(ptr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: pb_free
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_free(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 491
    functionName: pb_membersize
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_membersize(st, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: pb_arraysize
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_arraysize(st, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - st
    - ','
    - m1
    - ','
    - m2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: pb_delta
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_delta(st, m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 498
    functionName: PB_EXPAND
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_EXPAND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msgname
    - ','
    - structname
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 522
    functionName: PB_BIND
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_BIND(msgname, structname, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: PB_GEN_FIELD_COUNT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_COUNT(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: PB_GEN_REQ_FIELD_COUNT
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_REQ_FIELD_COUNT(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: PB_GEN_LARGEST_TAG
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_LARGEST_TAG(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 536
    functionName: PB_GEN_FIELD_INFO_1
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_1(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 543
    functionName: PB_GEN_FIELD_INFO_2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_2(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: PB_GEN_FIELD_INFO_4
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_4(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 557
    functionName: PB_GEN_FIELD_INFO_8
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_8(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: PB_GEN_FIELD_INFO_AUTO
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_AUTO(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - width
    - ','
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: PB_FIELDINFO_AUTO2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_AUTO2(width, tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - width
    - ','
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 571
    functionName: PB_FIELDINFO_AUTO3
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_AUTO3(width, tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: PB_GEN_FIELD_INFO_ASSERT_1
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_ASSERT_1(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 588
    functionName: PB_GEN_FIELD_INFO_ASSERT_2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_ASSERT_2(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 595
    functionName: PB_GEN_FIELD_INFO_ASSERT_4
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_ASSERT_4(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 602
    functionName: PB_GEN_FIELD_INFO_ASSERT_8
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_ASSERT_8(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: PB_GEN_FIELD_INFO_ASSERT_AUTO
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_FIELD_INFO_ASSERT_AUTO(structname, atype, htype, ltype, fieldname,
      tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - width
    - ','
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 613
    functionName: PB_FIELDINFO_ASSERT_AUTO2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_AUTO2(width, tag, type, data_offset, data_size,
      size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - width
    - ','
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: PB_FIELDINFO_ASSERT_AUTO3
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_AUTO3(width, tag, type, data_offset, data_size,
      size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 618
    functionName: PB_DATA_OFFSET_STATIC
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_OFFSET_STATIC(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: PB_DATA_OFFSET_POINTER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_OFFSET_POINTER(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: PB_DATA_OFFSET_CALLBACK
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_OFFSET_CALLBACK(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: PB_DO_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 622
    functionName: PB_DO_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: PB_DO_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: PB_DO_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 625
    functionName: PB_DO_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: PB_DO_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DO_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 628
    functionName: PB_SIZE_OFFSET_STATIC
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SIZE_OFFSET_STATIC(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: PB_SIZE_OFFSET_POINTER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SIZE_OFFSET_POINTER(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: PB_SIZE_OFFSET_CALLBACK
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SIZE_OFFSET_CALLBACK(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 631
    functionName: PB_SO_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 632
    functionName: PB_SO_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 633
    functionName: PB_SO_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - fullname
    - ','
    - unionname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 634
    functionName: PB_SO_PB_HTYPE_ONEOF2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_ONEOF2(structname, fullname, unionname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - structname
    - ','
    - fullname
    - ','
    - unionname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: PB_SO_PB_HTYPE_ONEOF3
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_ONEOF3(structname, fullname, unionname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 636
    functionName: PB_SO_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: PB_SO_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 638
    functionName: PB_SO_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 639
    functionName: PB_SO_PTR_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: PB_SO_PTR_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 641
    functionName: PB_SO_PTR_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 642
    functionName: PB_SO_PTR_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 643
    functionName: PB_SO_PTR_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: PB_SO_PTR_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_PTR_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 645
    functionName: PB_SO_CB_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 646
    functionName: PB_SO_CB_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: PB_SO_CB_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 648
    functionName: PB_SO_CB_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: PB_SO_CB_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: PB_SO_CB_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SO_CB_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 652
    functionName: PB_ARRAY_SIZE_STATIC
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ARRAY_SIZE_STATIC(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 653
    functionName: PB_ARRAY_SIZE_POINTER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ARRAY_SIZE_POINTER(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 654
    functionName: PB_ARRAY_SIZE_CALLBACK
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ARRAY_SIZE_CALLBACK(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 655
    functionName: PB_AS_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 656
    functionName: PB_AS_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 657
    functionName: PB_AS_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 658
    functionName: PB_AS_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 659
    functionName: PB_AS_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 660
    functionName: PB_AS_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 661
    functionName: PB_AS_PTR_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 662
    functionName: PB_AS_PTR_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 663
    functionName: PB_AS_PTR_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    functionName: PB_AS_PTR_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    functionName: PB_AS_PTR_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 666
    functionName: PB_AS_PTR_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_AS_PTR_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: PB_DATA_SIZE_STATIC
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_SIZE_STATIC(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    functionName: PB_DATA_SIZE_POINTER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_SIZE_POINTER(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - htype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 670
    functionName: PB_DATA_SIZE_CALLBACK
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DATA_SIZE_CALLBACK(htype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    functionName: PB_DS_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 672
    functionName: PB_DS_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 673
    functionName: PB_DS_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 674
    functionName: PB_DS_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 675
    functionName: PB_DS_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 676
    functionName: PB_DS_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: PB_DS_PTR_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: PB_DS_PTR_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 679
    functionName: PB_DS_PTR_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: PB_DS_PTR_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 681
    functionName: PB_DS_PTR_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: PB_DS_PTR_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_PTR_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: PB_DS_CB_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_REQUIRED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 684
    functionName: PB_DS_CB_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_SINGULAR(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 685
    functionName: PB_DS_CB_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_OPTIONAL(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 686
    functionName: PB_DS_CB_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_ONEOF(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: PB_DS_CB_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_REPEATED(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 688
    functionName: PB_DS_CB_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_DS_CB_PB_HTYPE_FIXARRAY(structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - tuple
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 690
    functionName: PB_ONEOF_NAME
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ONEOF_NAME(type, tuple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - unionname
    - ','
    - membername
    - ','
    - fullname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 691
    functionName: PB_ONEOF_NAME_UNION
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ONEOF_NAME_UNION(unionname,membername,fullname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - unionname
    - ','
    - membername
    - ','
    - fullname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 692
    functionName: PB_ONEOF_NAME_MEMBER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ONEOF_NAME_MEMBER(unionname,membername,fullname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - unionname
    - ','
    - membername
    - ','
    - fullname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 693
    functionName: PB_ONEOF_NAME_FULL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_ONEOF_NAME_FULL(unionname,membername,fullname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - structname
    - ','
    - atype
    - ','
    - htype
    - ','
    - ltype
    - ','
    - fieldname
    - ','
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: PB_GEN_SUBMSG_INFO
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GEN_SUBMSG_INFO(structname, atype, htype, ltype, fieldname, tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: PB_SUBMSG_INFO_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_REQUIRED(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: PB_SUBMSG_INFO_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_SINGULAR(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: PB_SUBMSG_INFO_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_OPTIONAL(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    functionName: PB_SUBMSG_INFO_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_ONEOF(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - unionname
    - ','
    - membername
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: PB_SUBMSG_INFO_ONEOF2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_ONEOF2(ltype, structname, unionname, membername)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - unionname
    - ','
    - membername
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: PB_SUBMSG_INFO_ONEOF3
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_ONEOF3(ltype, structname, unionname, membername)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: PB_SUBMSG_INFO_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_REPEATED(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ltype
    - ','
    - structname
    - ','
    - fieldname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: PB_SUBMSG_INFO_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_INFO_FIXARRAY(ltype, structname, fieldname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: PB_SI_PB_LTYPE_MESSAGE
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SI_PB_LTYPE_MESSAGE(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    functionName: PB_SI_PB_LTYPE_MSG_W_CB
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SI_PB_LTYPE_MSG_W_CB(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: PB_SUBMSG_DESCRIPTOR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SUBMSG_DESCRIPTOR(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 759
    functionName: PB_FIELDINFO_1
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_1(tag, type, data_offset, data_size, size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: PB_FIELDINFO_2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_2(tag, type, data_offset, data_size, size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: PB_FIELDINFO_4
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_4(tag, type, data_offset, data_size, size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 773
    functionName: PB_FIELDINFO_8
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_8(tag, type, data_offset, data_size, size_offset, array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: PB_FITS
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FITS(value,bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 784
    functionName: PB_FIELDINFO_ASSERT_1
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_1(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 787
    functionName: PB_FIELDINFO_ASSERT_2
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_2(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 792
    functionName: PB_FIELDINFO_ASSERT_4
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_4(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: PB_FIELDINFO_ASSERT_8
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_8(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: PB_FIELDINFO_ASSERT_4
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_4(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - tag
    - ','
    - type
    - ','
    - data_offset
    - ','
    - data_size
    - ','
    - size_offset
    - ','
    - array_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 805
    functionName: PB_FIELDINFO_ASSERT_8
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_ASSERT_8(tag, type, data_offset, data_size, size_offset,
      array_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - atype
    - ','
    - htype
    - ','
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: PB_FIELDINFO_WIDTH_AUTO
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FIELDINFO_WIDTH_AUTO(atype, htype, ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - htype
    - ','
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: PB_FI_WIDTH_PB_ATYPE_STATIC
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_ATYPE_STATIC(htype, ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - htype
    - ','
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 817
    functionName: PB_FI_WIDTH_PB_ATYPE_POINTER
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_ATYPE_POINTER(htype, ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - htype
    - ','
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 818
    functionName: PB_FI_WIDTH_PB_ATYPE_CALLBACK
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_ATYPE_CALLBACK(htype, ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 819
    functionName: PB_FI_WIDTH_PB_HTYPE_REQUIRED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_REQUIRED(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 820
    functionName: PB_FI_WIDTH_PB_HTYPE_SINGULAR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_SINGULAR(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: PB_FI_WIDTH_PB_HTYPE_OPTIONAL
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_OPTIONAL(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: PB_FI_WIDTH_PB_HTYPE_ONEOF
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_ONEOF(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: PB_FI_WIDTH_PB_HTYPE_REPEATED
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_REPEATED(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ltype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: PB_FI_WIDTH_PB_HTYPE_FIXARRAY
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_FI_WIDTH_PB_HTYPE_FIXARRAY(ltype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 883
    functionName: PB_SET_ERROR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SET_ERROR(stream, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 884
    functionName: PB_GET_ERROR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GET_ERROR(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 886
    functionName: PB_SET_ERROR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_SET_ERROR(stream, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 887
    functionName: PB_GET_ERROR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_GET_ERROR(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 890
    functionName: PB_RETURN_ERROR
    functionSourceFile: /src/librdkafka/src/nanopb/pb.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PB_RETURN_ERROR(stream, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: pb_decode_noinit
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_decode_noinit(s,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: pb_decode_delimited
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_decode_delimited(s,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: pb_decode_delimited_noinit
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_decode_delimited_noinit(s,f,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - f
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: pb_decode_nullterminated
    functionSourceFile: /src/librdkafka/src/nanopb/pb_decode.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pb_decode_nullterminated(s,f,d)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:17,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:34,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:46,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:47,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:48,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:60,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:61,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:62,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:63,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:88,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:89,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:90,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:100,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_common.c:110,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - iter
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 8
    functionDepth: 1
    functionLinenumber: 8
    functionLinenumberEnd: 120
    functionName: load_descriptor_values
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 0
    functionsReached:
    - PB_HTYPE
    - PB_LTYPE_IS_SUBMSG
    - PB_ATYPE
    - PB_PROGMEM_READU32
    linkageType: ''
    returnType: bool
    signature: bool load_descriptor_values(pb_field_iter_t *iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:142,1
    - Dst: PB_HTYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:151,1
    - Dst: PB_LTYPE_IS_SUBMSG
      Src: /src/librdkafka/src/nanopb/pb_common.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - iter
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: advance_iterator
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 0
    functionsReached:
    - PB_HTYPE
    - PB_LTYPE_IS_SUBMSG
    - PB_PROGMEM_READU32
    linkageType: ''
    returnType: void
    signature: void advance_iterator(pb_field_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src/nanopb/pb_common.c:158,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - iter
    - desc
    - message
    argTypes:
    - pb_field_iter_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: pb_field_iter_begin
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 5
    functionsReached:
    - memset
    - load_descriptor_values
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_begin(pb_field_iter_t *iter, const pb_msgdesc_t
      *desc, void *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:171,1
    - Dst: PB_ATYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:172,1
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_common.c:177,1
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_common.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iter
    - extension
    argTypes:
    - pb_field_iter_t*
    - pb_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 186
    functionName: pb_field_iter_begin_extension
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 3
    functionsReached:
    - pb_field_iter_begin
    - PB_ATYPE
    - PB_PROGMEM_READU32
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_begin_extension(pb_field_iter_t *iter, pb_extension_t
      *extension)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: advance_iterator
      Src: /src/librdkafka/src/nanopb/pb_common.c:190,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - iter
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: pb_field_iter_next
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 4
    functionsReached:
    - advance_iterator
    - load_descriptor_values
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_next(pb_field_iter_t *iter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: advance_iterator
      Src: /src/librdkafka/src/nanopb/pb_common.c:221,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:224,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:229,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:232,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - iter
    - tag
    argTypes:
    - pb_field_iter_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 244
    functionName: pb_field_iter_find
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 2
    functionsReached:
    - advance_iterator
    - load_descriptor_values
    - PB_LTYPE
    - PB_PROGMEM_READU32
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_find(pb_field_iter_t *iter, uint32_t tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:248,1
    - Dst: advance_iterator
      Src: /src/librdkafka/src/nanopb/pb_common.c:260,1
    - Dst: PB_PROGMEM_READU32
      Src: /src/librdkafka/src/nanopb/pb_common.c:263,1
    - Dst: PB_LTYPE
      Src: /src/librdkafka/src/nanopb/pb_common.c:265,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:267,1
    - Dst: load_descriptor_values
      Src: /src/librdkafka/src/nanopb/pb_common.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - iter
    argTypes:
    - pb_field_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 275
    functionName: pb_field_iter_find_extension
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 1
    functionsReached:
    - advance_iterator
    - PB_LTYPE
    - load_descriptor_values
    - PB_PROGMEM_READU32
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_find_extension(pb_field_iter_t *iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: pb_const_cast
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *pb_const_cast(const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin
      Src: /src/librdkafka/src/nanopb/pb_common.c:292,1
    - Dst: pb_const_cast
      Src: /src/librdkafka/src/nanopb/pb_common.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iter
    - desc
    - message
    argTypes:
    - pb_field_iter_t*
    - pb_msgdesc_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 290
    functionDepth: 3
    functionLinenumber: 290
    functionLinenumberEnd: 293
    functionName: pb_field_iter_begin_const
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 1
    functionsReached:
    - pb_field_iter_begin
    - pb_const_cast
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_begin_const(pb_field_iter_t *iter, const pb_msgdesc_t
      *desc, const void *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pb_field_iter_begin_extension
      Src: /src/librdkafka/src/nanopb/pb_common.c:297,1
    - Dst: pb_const_cast
      Src: /src/librdkafka/src/nanopb/pb_common.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iter
    - extension
    argTypes:
    - pb_field_iter_t*
    - pb_extension_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 4
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: pb_field_iter_begin_extension_const
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 1
    functionsReached:
    - pb_const_cast
    - pb_field_iter_begin_extension
    linkageType: ''
    returnType: bool
    signature: bool pb_field_iter_begin_extension_const(pb_field_iter_t *iter, const
      pb_extension_t *extension)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pb_callback_t*::funcs::decode
      Src: /src/librdkafka/src/nanopb/pb_common.c:310,1
    - Dst: pb_callback_t*::funcs::encode
      Src: /src/librdkafka/src/nanopb/pb_common.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - istream
    - ostream
    - field
    argTypes:
    - pb_istream_t*
    - pb_ostream_t*
    - pb_field_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 322
    functionName: pb_default_field_callback
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 0
    functionsReached:
    - pb_callback_t*::funcs::encode
    - pb_callback_t*::funcs::decode
    linkageType: ''
    returnType: bool
    signature: bool pb_default_field_callback(pb_istream_t *istream, pb_ostream_t
      *ostream, const pb_field_t *field)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 385
    functionName: pb_validate_utf8
    functionSourceFile: /src/librdkafka/src/nanopb/pb_common.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pb_validate_utf8(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 748
    functionName: opentelemetry_proto_metrics_v1_MetricsData_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_MetricsData_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: opentelemetry_proto_metrics_v1_ResourceMetrics_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_ResourceMetrics_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 765
    functionName: opentelemetry_proto_metrics_v1_ScopeMetrics_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_ScopeMetrics_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 779
    functionName: opentelemetry_proto_metrics_v1_Metric_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Metric_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 789
    functionName: opentelemetry_proto_metrics_v1_Gauge_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Gauge_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 797
    functionName: opentelemetry_proto_metrics_v1_Sum_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Sum_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: opentelemetry_proto_metrics_v1_Histogram_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Histogram_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: opentelemetry_proto_metrics_v1_ExponentialHistogram_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_ExponentialHistogram_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: opentelemetry_proto_metrics_v1_Summary_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Summary_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: opentelemetry_proto_metrics_v1_NumberDataPoint_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_NumberDataPoint_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 846
    functionName: opentelemetry_proto_metrics_v1_HistogramDataPoint_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_HistogramDataPoint_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 866
    functionName: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_FIELDLIST(X,
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 876
    functionName: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_FIELDLIST(X,
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: opentelemetry_proto_metrics_v1_SummaryDataPoint_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_SummaryDataPoint_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_FIELDLIST(X,
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 905
    functionName: opentelemetry_proto_metrics_v1_Exemplar_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/metrics.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_metrics_v1_Exemplar_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: opentelemetry_proto_resource_v1_Resource_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/resource.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_resource_v1_Resource_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: opentelemetry_proto_common_v1_AnyValue_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/common.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_common_v1_AnyValue_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: opentelemetry_proto_common_v1_ArrayValue_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/common.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_common_v1_ArrayValue_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: opentelemetry_proto_common_v1_KeyValueList_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/common.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_common_v1_KeyValueList_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: opentelemetry_proto_common_v1_KeyValue_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/common.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_common_v1_KeyValue_FIELDLIST(X, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - X
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: opentelemetry_proto_common_v1_InstrumentationScope_FIELDLIST
    functionSourceFile: /src/librdkafka/src/opentelemetry/common.pb.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: opentelemetry_proto_common_v1_InstrumentationScope_FIELDLIST(X, a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:63,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:64,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 57
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:73,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:88,1
    - Dst: va_start
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:94,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:95,1
    - Dst: va_end
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:96,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:98,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 102
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 3
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:120,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 266
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:134,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:140,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:144,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:147,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - partitions
    - print_offset
    - prefix
    argTypes:
    - FILE*
    - rd_kafka_topic_partition_list_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: print_partition_list
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 19
    functionsReached:
    - fprintf
    - snprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void print_partition_list(FILE *fp,\n                     const rd_kafka_topic_partition_list_t
      *partitions,\n                     int print_offset,\n                     const
      char *prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:157,1
    - Dst: strlen
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:159,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:160,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 0
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:187,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:190,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:192,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:207,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:209,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:211,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:216,1
    - Dst: signal
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:219,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:222,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:224,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:226,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:227,1
    - Dst: rd_kafka_AdminOptions_set_require_stable_offsets
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:230,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:232,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:233,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:234,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:235,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:242,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:246,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:247,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:254,1
    - Dst: rd_kafka_ListConsumerGroupOffsets
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:256,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:260,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:261,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:265,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:272,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:274,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:276,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:277,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:278,1
    - Dst: rd_kafka_event_ListConsumerGroupOffsets_result
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:287,1
    - Dst: rd_kafka_ListConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:288,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:291,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:295,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:296,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:301,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:305,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:308,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 168
    functionDepth: 22
    functionLinenumber: 168
    functionLinenumberEnd: 312
    functionName: cmd_list_consumer_group_offsets
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_event_ListConsumerGroupOffsets_result
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_ListConsumerGroupOffsets_result_groups
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_ListConsumerGroupOffsets_new
    - rd_kafka_ListConsumerGroupOffsets
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - print_partition_list
    - exit
    - printf
    - rd_kafka_AdminOptions_set_require_stable_offsets
    - rd_kafka_ListConsumerGroupOffsets_destroy
    - rd_kafka_error_string
    - rd_kafka_new
    - rd_kafka_queue_new
    - rd_kafka_group_result_partitions
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_list_consumer_group_offsets(rd_kafka_conf_t *conf, int argc,
      char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:322,1
    - Dst: getopt
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:328,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:331,1
    - Dst: strchr
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:337,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:338,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:343,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:348,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:352,1
    - Dst: cmd_list_consumer_group_offsets
      Src: /src/librdkafka/examples/list_consumer_group_offsets.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 314
    functionDepth: 23
    functionLinenumber: 314
    functionLinenumberEnd: 359
    functionName: main
    functionSourceFile: /src/librdkafka/examples/list_consumer_group_offsets.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - cmd_list_consumer_group_offsets
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_example.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 57
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:71,1
    - Dst: sprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:82,1
    - Dst: sprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:83,1
    - Dst: isprint
      Src: /src/librdkafka/examples/rdkafka_example.c:84,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - name
    - ptr
    - len
    argTypes:
    - FILE*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 88
    functionName: hexdump
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 2
    functionsReached:
    - sprintf
    - fprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void hexdump(FILE *fp, const char *name, const void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/rdkafka_example.c:96,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:97,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/rdkafka_example.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: logger
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_name
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void logger(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:110,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/examples/rdkafka_example.c:112,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:113,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:115,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/examples/rdkafka_example.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 122
    functionName: msg_delivered
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 0
    functionsReached:
    - rd_kafka_message_broker_id
    - fprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void msg_delivered(rd_kafka_t *rk,\n                          const
      rd_kafka_message_t *rkmessage,\n                          void *opaque)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:128,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_example.c:132,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:141,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_example.c:145,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/rdkafka_example.c:147,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:160,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/examples/rdkafka_example.c:165,1
    - Dst: rd_kafka_message_timestamp
      Src: /src/librdkafka/examples/rdkafka_example.c:167,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:175,1
    - Dst: time
      Src: /src/librdkafka/examples/rdkafka_example.c:180,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/examples/rdkafka_example.c:184,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:190,1
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/examples/rdkafka_example.c:192,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:194,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:197,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:200,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:202,1
    - Dst: hexdump
      Src: /src/librdkafka/examples/rdkafka_example.c:208,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:211,1
    - Dst: hexdump
      Src: /src/librdkafka/examples/rdkafka_example.c:216,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:219,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 221
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_header_get_all
    - printf
    - time
    - rd_kafka_message_headers
    - rd_kafka_message_errstr
    - hexdump
    - rd_kafka_message_broker_id
    - rd_kafka_topic_name
    - rd_kafka_message_timestamp
    linkageType: ''
    returnType: void
    signature: void msg_consume(rd_kafka_message_t *rkmessage, void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:229,1
    - Dst: rd_kafka_controllerid
      Src: /src/librdkafka/examples/rdkafka_example.c:233,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:237,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:239,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:246,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:249,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:252,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:252,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:254,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:256,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:262,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:269,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:273,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:275,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:278,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:278,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - topic
    - metadata
    argTypes:
    - char*
    - struct rd_kafka_metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 283
    functionName: metadata_print
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 0
    functionsReached:
    - rd_kafka_err2str
    - printf
    - rd_kafka_controllerid
    linkageType: ''
    returnType: void
    signature: "void metadata_print(const char *topic,\n                           const
      struct rd_kafka_metadata *metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/examples/rdkafka_example.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: sig_usr1
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 0
    functionsReached:
    - rd_kafka_dump
    linkageType: ''
    returnType: void
    signature: void sig_usr1(int sig)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/rdkafka_example.c:310,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/examples/rdkafka_example.c:313,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:316,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:317,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/examples/rdkafka_example.c:320,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_example.c:322,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_example.c:333,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:339,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:342,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:343,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:348,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:350,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:352,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:354,1
    - Dst: strtoll
      Src: /src/librdkafka/examples/rdkafka_example.c:357,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/examples/rdkafka_example.c:361,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:373,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:376,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:380,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_example.c:394,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/examples/rdkafka_example.c:401,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/examples/rdkafka_example.c:403,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:405,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:407,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:408,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:416,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:417,1
    - Dst: rd_kafka_conf_properties_show
      Src: /src/librdkafka/examples/rdkafka_example.c:418,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:419,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.c:422,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_example.c:428,1
    - Dst: strncmp
      Src: /src/librdkafka/examples/rdkafka_example.c:434,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.c:434,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/examples/rdkafka_example.c:435,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.c:436,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/examples/rdkafka_example.c:439,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:443,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:444,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:446,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:450,1
    - Dst: strncmp
      Src: /src/librdkafka/examples/rdkafka_example.c:461,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.c:461,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:462,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.c:463,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:467,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:471,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:472,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/examples/rdkafka_example.c:491,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:492,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:494,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/examples/rdkafka_example.c:496,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:500,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:502,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/examples/rdkafka_example.c:504,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:507,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:513,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/examples/rdkafka_example.c:557,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/examples/rdkafka_example.c:557,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:559,1
    - Dst: isatty
      Src: /src/librdkafka/examples/rdkafka_example.c:562,1
    - Dst: isatty
      Src: /src/librdkafka/examples/rdkafka_example.c:563,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_example.c:567,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_example.c:568,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:572,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:574,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:575,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/rdkafka_example.c:588,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_example.c:591,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:593,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:596,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/rdkafka_example.c:600,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:604,1
    - Dst: fgets
      Src: /src/librdkafka/examples/rdkafka_example.c:607,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.c:608,1
    - Dst: rd_kafka_headers_copy
      Src: /src/librdkafka/examples/rdkafka_example.c:618,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/rdkafka_example.c:620,1
    - Dst: RD_KAFKA_V_RKT
      Src: /src/librdkafka/examples/rdkafka_example.c:621,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/examples/rdkafka_example.c:622,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/rdkafka_example.c:623,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/rdkafka_example.c:624,1
    - Dst: RD_KAFKA_V_HEADERS
      Src: /src/librdkafka/examples/rdkafka_example.c:625,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:629,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/examples/rdkafka_example.c:632,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_example.c:642,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:647,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_example.c:650,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:651,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:654,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:659,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_example.c:662,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:666,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:670,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_example.c:673,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:674,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:677,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:680,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_example.c:687,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_example.c:691,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:693,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:696,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/examples/rdkafka_example.c:704,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:706,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:709,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:710,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:713,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:718,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:719,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/rdkafka_example.c:724,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/examples/rdkafka_example.c:728,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_example.c:730,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:731,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:732,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:734,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:738,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:745,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/examples/rdkafka_example.c:750,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_example.c:754,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:757,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/examples/rdkafka_example.c:760,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:763,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:764,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:766,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/examples/rdkafka_example.c:773,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_example.c:775,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_example.c:776,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:779,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:782,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_example.c:788,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:790,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:793,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/rdkafka_example.c:798,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/examples/rdkafka_example.c:807,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.c:810,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_example.c:812,1
    - Dst: metadata_print
      Src: /src/librdkafka/examples/rdkafka_example.c:817,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:819,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:825,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:828,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:831,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.c:836,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:840,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/examples/rdkafka_example.c:843,1
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/examples/rdkafka_example.c:847,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.c:848,1
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/examples/rdkafka_example.c:850,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 274
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 290
    functionDepth: 22
    functionLinenumber: 290
    functionLinenumberEnd: 853
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.c
    functionUses: 18
    functionsReached:
    - RD_KAFKA_V_RKT
    - rd_kafka_conf_properties_show
    - fgets
    - rd_kafka_conf_set
    - rd_kafka_topic_conf_new
    - RD_KAFKA_V_MSGFLAGS
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - strtoll
    - rd_kafka_outq_len
    - rd_kafka_headers_new
    - snprintf
    - rd_kafka_version
    - rd_kafka_last_error
    - rd_kafka_headers_copy
    - rd_kafka_topic_conf_get
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_consume_start
    - rd_kafka_topic_conf_destroy
    - rd_kafka_topic_conf_set
    - rd_kafka_err2str
    - atoi
    - RD_KAFKA_V_HEADERS
    - rd_kafka_dump
    - RD_KAFKA_V_PARTITION
    - rd_kafka_wait_destroyed
    - rd_kafka_conf_get
    - rd_kafka_conf_set_log_cb
    - rd_kafka_header_add
    - rd_kafka_produce
    - rd_kafka_metadata
    - rd_kafka_topic_conf_dump
    - RD_KAFKA_V_VALUE
    - strcmp
    - rd_kafka_message_destroy
    - rd_kafka_headers_destroy
    - strchr
    - rd_kafka_topic_name
    - getopt
    - rd_kafka_conf_dump_free
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - rd_kafka_conf_new
    - exit
    - rd_kafka_version_str
    - isatty
    - rd_kafka_conf_dump
    - rd_kafka_consume_stop
    - printf
    - msg_consume
    - rd_kafka_poll
    - rd_kafka_query_watermark_offsets
    - rd_kafka_new
    - rd_kafka_consume
    - rd_kafka_seek
    - strncmp
    - strlen
    - rd_kafka_metadata_destroy
    - metadata_print
    - RD_KAFKA_OFFSET_TAIL
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/librdkafka/examples/producer.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/producer.c
    functionUses: 58
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:70,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/producer.c:71,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/examples/producer.c
    functionUses: 60
    functionsReached:
    - fprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:95,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/producer.c:106,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/producer.c:112,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:114,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/producer.c:124,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/producer.c:133,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:135,1
    - Dst: signal
      Src: /src/librdkafka/examples/producer.c:141,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:143,1
    - Dst: fgets
      Src: /src/librdkafka/examples/producer.c:148,1
    - Dst: strlen
      Src: /src/librdkafka/examples/producer.c:149,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/producer.c:157,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/producer.c:172,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/examples/producer.c:176,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/producer.c:178,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/producer.c:180,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/examples/producer.c:184,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:192,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/producer.c:194,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/producer.c:208,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:213,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/producer.c:231,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:238,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/examples/producer.c:239,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/producer.c:243,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/producer.c:244,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/producer.c:245,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/producer.c:248,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 83
    functionDepth: 22
    functionLinenumber: 83
    functionLinenumberEnd: 251
    functionName: main
    functionSourceFile: /src/librdkafka/examples/producer.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - fprintf
    - fgets
    - rd_kafka_conf_set
    - rd_kafka_producev
    - RD_KAFKA_V_MSGFLAGS
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_OPAQUE
    - rd_kafka_flush
    - rd_kafka_destroy
    - RD_KAFKA_V_TOPIC
    - rd_kafka_err2str
    - rd_kafka_poll
    - rd_kafka_outq_len
    - rd_kafka_new
    - strlen
    - rd_kafka_conf_set_dr_msg_cb
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:62,1
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 58
    functionsReached:
    - exit
    - fclose
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:74,1
    - Dst: sprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:85,1
    - Dst: sprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:86,1
    - Dst: isprint
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:87,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - fp
    - name
    - ptr
    - len
    argTypes:
    - FILE*
    - char*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: hexdump
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 3
    functionsReached:
    - sprintf
    - fprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void hexdump(FILE *fp, const char *name, const void *ptr, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:99,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:100,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: logger
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_name
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void logger(const rd_kafka_t *rk, int level, const char *fac, const
      char *buf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:115,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:119,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:123,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:133,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:138,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:140,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:142,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:143,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:144,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:153,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:157,1
    - Dst: hexdump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:163,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:166,1
    - Dst: hexdump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:171,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - rkmessage
    argTypes:
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 176
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 1
    functionsReached:
    - fprintf
    - printf
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - hexdump
    - rd_kafka_topic_name
    linkageType: ''
    returnType: void
    signature: void msg_consume(rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:184,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - partitions
    argTypes:
    - FILE*
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 190
    functionName: print_partition_list
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 20
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void print_partition_list(FILE *fp,\n                     const rd_kafka_topic_partition_list_t
      *partitions)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:198,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:202,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:203,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:204,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:206,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:206,1
    - Dst: rd_kafka_incremental_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:207,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:209,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:214,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:215,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:216,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:218,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:218,1
    - Dst: rd_kafka_incremental_unassign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:219,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:222,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:228,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:228,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:229,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:234,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:235,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:236,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:238,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 241
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 16
    functionsReached:
    - rd_kafka_rebalance_protocol
    - fprintf
    - strcmp
    - rd_kafka_err2str
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_assign
    - rd_kafka_incremental_unassign
    - rd_kafka_incremental_assign
    - print_partition_list
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:249,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:252,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:253,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:261,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:265,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:265,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:266,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:275,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:277,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:279,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:282,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:286,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - rk
    - group
    argTypes:
    - rd_kafka_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 244
    functionDepth: 11
    functionLinenumber: 244
    functionLinenumberEnd: 291
    functionName: describe_groups
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - printf
    - rd_kafka_list_groups
    - rd_kafka_err2str
    - rd_kafka_group_list_destroy
    linkageType: ''
    returnType: int
    signature: int describe_groups(rd_kafka_t *rk, const char *group)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 5
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: sig_usr1
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 0
    functionsReached:
    - rd_kafka_dump
    linkageType: ''
    returnType: void
    signature: void sig_usr1(int sig)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:314,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:317,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:320,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:323,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:324,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:326,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:350,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:351,1
    - Dst: rd_kafka_conf_properties_show
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:352,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:353,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:356,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:362,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:363,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:367,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:373,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:377,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:378,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:400,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:401,1
    - Dst: rd_kafka_conf_get_default_topic_conf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:404,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:406,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:407,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:418,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:420,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:421,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:424,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:428,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:430,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:456,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:456,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:458,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:462,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:463,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:465,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:467,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:469,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:476,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:480,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:482,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:483,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:487,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:489,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:494,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:496,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:497,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:501,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:503,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:505,1
    - Dst: describe_groups
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:511,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:513,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:514,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:518,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:520,1
    - Dst: strstr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:528,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:530,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:535,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:541,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:543,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:544,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:545,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:550,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:553,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:553,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:555,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:558,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:561,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:569,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:571,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:572,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:574,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:575,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:578,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:580,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:581,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:582,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:589,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:591,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:592,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:597,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:599,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:600,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:602,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:604,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:607,1
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:611,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:612,1
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.c:614,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 179
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 299
    functionDepth: 22
    functionLinenumber: 299
    functionLinenumberEnd: 617
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_properties_show
    - rd_kafka_conf_set
    - rd_kafka_topic_partition_list_add
    - rd_kafka_conf_get_default_topic_conf
    - rd_kafka_version
    - snprintf
    - rd_kafka_subscribe
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_dump
    - rd_kafka_err2str
    - atoi
    - rd_kafka_wait_destroyed
    - rd_kafka_committed
    - rd_kafka_conf_set_log_cb
    - rd_kafka_topic_conf_dump
    - rd_kafka_conf_set_rebalance_cb
    - strcmp
    - rd_kafka_message_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_destroy
    - strchr
    - getopt
    - rd_kafka_conf_dump_free
    - rd_kafka_conf_new
    - isatty
    - exit
    - rd_kafka_version_str
    - rd_kafka_conf_dump
    - printf
    - msg_consume
    - rd_kafka_new
    - rd_kafka_poll_set_consumer
    - strstr
    - describe_groups
    - signal
    - rd_kafka_assign
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/misc.c:56,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/misc.c:74,1
    - Dst: va_start
      Src: /src/librdkafka/examples/misc.c:80,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/misc.c:81,1
    - Dst: va_end
      Src: /src/librdkafka/examples/misc.c:82,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/misc.c:84,1
    - Dst: exit
      Src: /src/librdkafka/examples/misc.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 5
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/misc.c:106,1
    - Dst: fatal
      Src: /src/librdkafka/examples/misc.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 271
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:122,1
    - Dst: printf
      Src: /src/librdkafka/examples/misc.c:124,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/examples/misc.c:124,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/misc.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 9
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: cmd_version
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 0
    functionsReached:
    - usage
    - rd_kafka_conf_destroy
    - rd_kafka_version_str
    - printf
    linkageType: ''
    returnType: void
    signature: void cmd_version(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:142,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/misc.c:153,1
    - Dst: fatal
      Src: /src/librdkafka/examples/misc.c:155,1
    - Dst: rd_kafka_list_groups
      Src: /src/librdkafka/examples/misc.c:160,1
    - Dst: fatal
      Src: /src/librdkafka/examples/misc.c:162,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/misc.c:163,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/misc.c:167,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/misc.c:170,1
    - Dst: printf
      Src: /src/librdkafka/examples/misc.c:181,1
    - Dst: printf
      Src: /src/librdkafka/examples/misc.c:187,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/misc.c:187,1
    - Dst: printf
      Src: /src/librdkafka/examples/misc.c:188,1
    - Dst: printf
      Src: /src/librdkafka/examples/misc.c:192,1
    - Dst: rd_kafka_group_list_destroy
      Src: /src/librdkafka/examples/misc.c:201,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/misc.c:204,1
    - Dst: exit
      Src: /src/librdkafka/examples/misc.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 132
    functionDepth: 22
    functionLinenumber: 132
    functionLinenumberEnd: 207
    functionName: cmd_list_groups
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_destroy
    - printf
    - rd_kafka_list_groups
    - rd_kafka_err2str
    - fatal
    - rd_kafka_group_list_destroy
    - rd_kafka_new
    - usage
    linkageType: ''
    returnType: void
    signature: void cmd_list_groups(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:227,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/misc.c:232,1
    - Dst: getopt
      Src: /src/librdkafka/examples/misc.c:238,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/misc.c:241,1
    - Dst: strchr
      Src: /src/librdkafka/examples/misc.c:247,1
    - Dst: fatal
      Src: /src/librdkafka/examples/misc.c:248,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/misc.c:253,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/misc.c:258,1
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:262,1
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:268,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/misc.c:277,1
    - Dst: func
      Src: /src/librdkafka/examples/misc.c:278,1
    - Dst: exit
      Src: /src/librdkafka/examples/misc.c:279,1
    - Dst: usage
      Src: /src/librdkafka/examples/misc.c:283,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 211
    functionDepth: 21
    functionLinenumber: 211
    functionLinenumberEnd: 287
    functionName: main
    functionSourceFile: /src/librdkafka/examples/misc.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - exit
    - conf_set
    - strcmp
    - func
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:63,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_groups.c:64,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/list_consumer_groups.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 58
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:73,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/list_consumer_groups.c:85,1
    - Dst: va_start
      Src: /src/librdkafka/examples/list_consumer_groups.c:91,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:92,1
    - Dst: va_end
      Src: /src/librdkafka/examples/list_consumer_groups.c:93,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:95,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_groups.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 8
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/list_consumer_groups.c:117,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_consumer_groups.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 273
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListConsumerGroups_result_valid
      Src: /src/librdkafka/examples/list_consumer_groups.c:132,1
    - Dst: rd_kafka_ListConsumerGroups_result_errors
      Src: /src/librdkafka/examples/list_consumer_groups.c:134,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:137,1
    - Dst: rd_kafka_ConsumerGroupListing_group_id
      Src: /src/librdkafka/examples/list_consumer_groups.c:143,1
    - Dst: rd_kafka_ConsumerGroupListing_state
      Src: /src/librdkafka/examples/list_consumer_groups.c:145,1
    - Dst: rd_kafka_ConsumerGroupListing_is_simple_consumer_group
      Src: /src/librdkafka/examples/list_consumer_groups.c:147,1
    - Dst: rd_kafka_ConsumerGroupListing_type
      Src: /src/librdkafka/examples/list_consumer_groups.c:150,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_consumer_groups.c:152,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/examples/list_consumer_groups.c:156,1
    - Dst: rd_kafka_consumer_group_type_name
      Src: /src/librdkafka/examples/list_consumer_groups.c:157,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_consumer_groups.c:158,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_consumer_groups.c:162,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/list_consumer_groups.c:162,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/list_consumer_groups.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - list
    argTypes:
    - rd_kafka_ListConsumerGroups_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 166
    functionName: print_groups_info
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupListing_group_id
    - fprintf
    - rd_kafka_ConsumerGroupListing_type
    - printf
    - rd_kafka_consumer_group_type_name
    - rd_kafka_ListConsumerGroups_result_errors
    - rd_kafka_ConsumerGroupListing_state
    - rd_kafka_ConsumerGroupListing_is_simple_consumer_group
    - rd_kafka_error_string
    - rd_kafka_ListConsumerGroups_result_valid
    - rd_kafka_consumer_group_state_name
    - rd_kafka_error_code
    linkageType: ''
    returnType: int
    signature: int print_groups_info(const rd_kafka_ListConsumerGroups_result_t *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/list_consumer_groups.c:173,1
    - Dst: strlen
      Src: /src/librdkafka/examples/list_consumer_groups.c:175,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:176,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_groups.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 1
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_groups.c:208,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_groups.c:210,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_groups.c:212,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_groups.c:216,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_groups.c:218,1
    - Dst: calloc
      Src: /src/librdkafka/examples/list_consumer_groups.c:223,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_groups.c:225,1
    - Dst: calloc
      Src: /src/librdkafka/examples/list_consumer_groups.c:228,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_consumer_groups.c:230,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/list_consumer_groups.c:239,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_consumer_groups.c:241,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/list_consumer_groups.c:246,1
    - Dst: signal
      Src: /src/librdkafka/examples/list_consumer_groups.c:249,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/list_consumer_groups.c:252,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/list_consumer_groups.c:254,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:256,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_states
      Src: /src/librdkafka/examples/list_consumer_groups.c:260,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:262,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/list_consumer_groups.c:263,1
    - Dst: free
      Src: /src/librdkafka/examples/list_consumer_groups.c:266,1
    - Dst: rd_kafka_AdminOptions_set_match_consumer_group_types
      Src: /src/librdkafka/examples/list_consumer_groups.c:267,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:269,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/list_consumer_groups.c:270,1
    - Dst: free
      Src: /src/librdkafka/examples/list_consumer_groups.c:273,1
    - Dst: rd_kafka_ListConsumerGroups
      Src: /src/librdkafka/examples/list_consumer_groups.c:276,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/list_consumer_groups.c:277,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/list_consumer_groups.c:280,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:287,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/list_consumer_groups.c:289,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/list_consumer_groups.c:290,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_consumer_groups.c:292,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/list_consumer_groups.c:294,1
    - Dst: rd_kafka_event_ListConsumerGroups_result
      Src: /src/librdkafka/examples/list_consumer_groups.c:302,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_consumer_groups.c:303,1
    - Dst: print_groups_info
      Src: /src/librdkafka/examples/list_consumer_groups.c:304,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/list_consumer_groups.c:310,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/list_consumer_groups.c:312,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/list_consumer_groups.c:313,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/list_consumer_groups.c:315,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_consumer_groups.c:317,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 188
    functionDepth: 22
    functionLinenumber: 188
    functionLinenumberEnd: 318
    functionName: cmd_list_consumer_groups
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 0
    functionsReached:
    - signal
    - rd_kafka_queue_poll
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_event_ListConsumerGroups_result
    - rd_kafka_ListConsumerGroups
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - exit
    - free
    - calloc
    - printf
    - print_groups_info
    - rd_kafka_error_string
    - rd_kafka_new
    - rd_kafka_queue_new
    - rd_kafka_AdminOptions_set_match_consumer_group_states
    - parse_int
    - rd_kafka_event_error
    - rd_kafka_AdminOptions_set_match_consumer_group_types
    linkageType: ''
    returnType: void
    signature: void cmd_list_consumer_groups(rd_kafka_conf_t *conf, int argc, char
      **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/list_consumer_groups.c:328,1
    - Dst: getopt
      Src: /src/librdkafka/examples/list_consumer_groups.c:334,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_groups.c:337,1
    - Dst: strchr
      Src: /src/librdkafka/examples/list_consumer_groups.c:343,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_consumer_groups.c:344,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_groups.c:349,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_consumer_groups.c:354,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_consumer_groups.c:358,1
    - Dst: cmd_list_consumer_groups
      Src: /src/librdkafka/examples/list_consumer_groups.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 320
    functionDepth: 23
    functionLinenumber: 320
    functionLinenumberEnd: 365
    functionName: main
    functionSourceFile: /src/librdkafka/examples/list_consumer_groups.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - cmd_list_consumer_groups
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: fatal_error
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal_error(what, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:141,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 61
    functionsReached:
    - fprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:155,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:161,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:165,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:167,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:169,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:171,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/transactions-older-broker.c:175,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:178,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:180,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:181,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/examples/transactions-older-broker.c:186,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:188,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:192,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - rktpar
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 153
    functionDepth: 22
    functionLinenumber: 153
    functionLinenumberEnd: 197
    functionName: create_transactional_producer
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - fatal_error
    - rd_kafka_conf_set
    - rd_kafka_init_transactions
    - fatal
    - rd_kafka_new
    - rd_kafka_begin_transaction
    - rd_kafka_conf_destroy
    - snprintf
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: rd_kafka_t
    signature: 'rd_kafka_t *

      create_transactional_producer(const rd_kafka_topic_partition_t *rktpar)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:206,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:207,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:211,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:213,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/transactions-older-broker.c:216,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:217,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rk
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 11
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: destroy_transactional_producer
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_name
    - rd_kafka_abort_transaction
    linkageType: ''
    returnType: void
    signature: void destroy_transactional_producer(rd_kafka_t *rk)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:232,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:237,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:242,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:244,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:247,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:249,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:252,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/transactions-older-broker.c:253,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/examples/transactions-older-broker.c:257,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:259,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:261,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/examples/transactions-older-broker.c:265,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:276,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:277,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 230
    functionDepth: 7
    functionLinenumber: 230
    functionLinenumberEnd: 280
    functionName: abort_transaction_and_rewind
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fatal_error
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - fatal
    - rd_kafka_topic_partition_list_add
    - rd_kafka_seek
    - rd_kafka_committed
    - rd_kafka_begin_transaction
    - rd_kafka_abort_transaction
    linkageType: ''
    returnType: void
    signature: void abort_transaction_and_rewind(struct state *state)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:292,1
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/examples/transactions-older-broker.c:301,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:304,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/transactions-older-broker.c:305,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/examples/transactions-older-broker.c:307,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:309,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:311,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:314,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:316,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:317,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/examples/transactions-older-broker.c:319,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:320,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:323,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/transactions-older-broker.c:324,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:325,1
    - Dst: abort_transaction_and_rewind
      Src: /src/librdkafka/examples/transactions-older-broker.c:326,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:329,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:335,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/examples/transactions-older-broker.c:337,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:338,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:341,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/transactions-older-broker.c:342,1
    - Dst: abort_transaction_and_rewind
      Src: /src/librdkafka/examples/transactions-older-broker.c:343,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:344,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:347,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions-older-broker.c:352,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions-older-broker.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 286
    functionDepth: 5
    functionLinenumber: 286
    functionLinenumberEnd: 355
    functionName: commit_transaction_and_start_new
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_position
    - fatal_error
    - rd_kafka_commit_transaction
    - abort_transaction_and_rewind
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - fatal
    - rd_kafka_topic_partition_list_add
    - rd_kafka_error_string
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_error_destroy
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_begin_transaction
    - rd_kafka_consumer_group_metadata
    linkageType: ''
    returnType: void
    signature: void commit_transaction_and_start_new(struct state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/examples/transactions-older-broker.c:372,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/transactions-older-broker.c:372,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:373,1
    - Dst: rd_kafka_topic_partition_list_copy
      Src: /src/librdkafka/examples/transactions-older-broker.c:381,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:383,1
    - Dst: calloc
      Src: /src/librdkafka/examples/transactions-older-broker.c:391,1
    - Dst: create_transactional_producer
      Src: /src/librdkafka/examples/transactions-older-broker.c:393,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions-older-broker.c:396,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:398,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:401,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/transactions-older-broker.c:408,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:412,1
    - Dst: destroy_transactional_producer
      Src: /src/librdkafka/examples/transactions-older-broker.c:423,1
    - Dst: free
      Src: /src/librdkafka/examples/transactions-older-broker.c:424,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:427,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/transactions-older-broker.c:432,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:437,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/examples/transactions-older-broker.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 365
    functionDepth: 12
    functionLinenumber: 365
    functionLinenumberEnd: 439
    functionName: consumer_group_rebalance_cb
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_rebalance_protocol
    - fprintf
    - rd_kafka_err2name
    - free
    - calloc
    - create_transactional_producer
    - time
    - strcmp
    - destroy_transactional_producer
    - fatal
    - rd_kafka_name
    - rd_kafka_assign
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_partition_list_copy
    linkageType: ''
    returnType: void
    signature: "void consumer_group_rebalance_cb(rd_kafka_t *rk,\n                            rd_kafka_resp_err_t
      err,\n                            rd_kafka_topic_partition_list_t *partitions,\n
      \                           void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:447,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:453,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:455,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions-older-broker.c:462,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:464,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/examples/transactions-older-broker.c:469,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:472,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:474,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:475,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/examples/transactions-older-broker.c:480,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:483,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/transactions-older-broker.c:484,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/examples/transactions-older-broker.c:488,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:489,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:491,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:492,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - brokers
    - input_topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 445
    functionDepth: 22
    functionLinenumber: 445
    functionLinenumberEnd: 497
    functionName: create_input_consumer
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - rd_kafka_conf_set_rebalance_cb
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - fatal
    - rd_kafka_topic_partition_list_add
    - rd_kafka_poll_set_consumer
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - rd_kafka_subscribe
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *create_input_consumer(const char *brokers,\n                                         const
      char *input_topic)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/librdkafka/examples/transactions-older-broker.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - start
    - end
    - intp
    argTypes:
    - void*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 524
    functionName: find_next_int
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: void
    signature: 'void *

      find_next_int(const void *start, const void *end, int *intp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_next_int
      Src: /src/librdkafka/examples/transactions-older-broker.c:548,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:554,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/transactions-older-broker.c:558,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/examples/transactions-older-broker.c:559,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/examples/transactions-older-broker.c:561,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/transactions-older-broker.c:564,1
    - Dst: strlen
      Src: /src/librdkafka/examples/transactions-older-broker.c:564,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/transactions-older-broker.c:566,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/transactions-older-broker.c:573,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:576,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions-older-broker.c:579,1
    - Dst: abort_transaction_and_rewind
      Src: /src/librdkafka/examples/transactions-older-broker.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - state
    - rkmessage
    argTypes:
    - struct state*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 584
    functionName: process_message
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 0
    functionsReached:
    - fprintf
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - abort_transaction_and_rewind
    - RD_KAFKA_V_TOPIC
    - rd_kafka_err2str
    - rd_kafka_poll
    - RD_KAFKA_V_KEY
    - strlen
    - find_next_int
    - snprintf
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: "void process_message(struct state *state,\n                            const
      rd_kafka_message_t *rkmessage)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:592,1
    - Dst: signal
      Src: /src/librdkafka/examples/transactions-older-broker.c:603,1
    - Dst: create_input_consumer
      Src: /src/librdkafka/examples/transactions-older-broker.c:605,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:607,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/examples/transactions-older-broker.c:619,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:629,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/transactions-older-broker.c:630,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:631,1
    - Dst: rd_kafka_topic_partition_list_find
      Src: /src/librdkafka/examples/transactions-older-broker.c:636,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:637,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions-older-broker.c:640,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/transactions-older-broker.c:643,1
    - Dst: process_message
      Src: /src/librdkafka/examples/transactions-older-broker.c:649,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:651,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions-older-broker.c:655,1
    - Dst: commit_transaction_and_start_new
      Src: /src/librdkafka/examples/transactions-older-broker.c:656,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions-older-broker.c:658,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions-older-broker.c:662,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/examples/transactions-older-broker.c:663,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions-older-broker.c:665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 587
    functionDepth: 11
    functionLinenumber: 587
    functionLinenumberEnd: 668
    functionName: main
    functionSourceFile: /src/librdkafka/examples/transactions-older-broker.c
    functionUses: 18
    functionsReached:
    - process_message
    - fprintf
    - rd_kafka_destroy
    - time
    - rd_kafka_message_destroy
    - rd_kafka_message_errstr
    - commit_transaction_and_start_new
    - fatal
    - rd_kafka_consumer_poll
    - rd_kafka_consumer_close
    - create_input_consumer
    - rd_kafka_topic_partition_list_find
    - signal
    - rd_kafka_topic_name
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:63,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:64,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 58
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:73,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:87,1
    - Dst: va_start
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:93,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:94,1
    - Dst: va_end
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:95,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:97,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 10
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:119,1
    - Dst: fatal
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 277
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:133,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:139,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:143,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:146,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - partitions
    - print_offset
    - prefix
    argTypes:
    - FILE*
    - rd_kafka_topic_partition_list_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 149
    functionName: print_partition_list
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 21
    functionsReached:
    - fprintf
    - snprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void print_partition_list(FILE *fp,\n                     const rd_kafka_topic_partition_list_t
      *partitions,\n                     int print_offset,\n                     const
      char *prefix)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:156,1
    - Dst: strlen
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:158,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:159,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 2
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:183,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:199,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:201,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:203,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:208,1
    - Dst: signal
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:211,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:214,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:216,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:218,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:219,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:224,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:226,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:228,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:229,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:234,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:236,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:240,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:242,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:243,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:247,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:254,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:256,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:258,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:259,1
    - Dst: exit
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:260,1
    - Dst: rd_kafka_event_AlterConsumerGroupOffsets_result
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:269,1
    - Dst: rd_kafka_AlterConsumerGroupOffsets_result_groups
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:270,1
    - Dst: printf
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:273,1
    - Dst: rd_kafka_group_result_partitions
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:277,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:278,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:284,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:287,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:290,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 167
    functionDepth: 22
    functionLinenumber: 167
    functionLinenumberEnd: 291
    functionName: cmd_alter_consumer_group_offsets
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_AlterConsumerGroupOffsets_result
    - rd_kafka_AlterConsumerGroupOffsets_destroy
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_AlterConsumerGroupOffsets
    - rd_kafka_AlterConsumerGroupOffsets_result_groups
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_AlterConsumerGroupOffsets_new
    - print_partition_list
    - exit
    - printf
    - rd_kafka_new
    - rd_kafka_queue_new
    - rd_kafka_group_result_partitions
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_alter_consumer_group_offsets(rd_kafka_conf_t *conf, int argc,
      char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:301,1
    - Dst: getopt
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:307,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:310,1
    - Dst: strchr
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:316,1
    - Dst: fatal
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:317,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:322,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:327,1
    - Dst: usage
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:331,1
    - Dst: cmd_alter_consumer_group_offsets
      Src: /src/librdkafka/examples/alter_consumer_group_offsets.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 293
    functionDepth: 23
    functionLinenumber: 293
    functionLinenumberEnd: 338
    functionName: main
    functionSourceFile: /src/librdkafka/examples/alter_consumer_group_offsets.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - cmd_alter_consumer_group_offsets
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::stringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t
    - partition
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: Assignment::name
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - std::stringstream::str
    linkageType: ''
    returnType: std::string
    signature: std::string name(const std::string &t, int partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: Assignment::Assignment
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void Assignment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Assignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: Assignment::Assignment
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Assignment(const Assignment &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - a
    argTypes:
    - Assignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: '&operator=(const Assignment &a)'
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Assignment
    signature: Assignment &operator=(const Assignment &a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - Assignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: operator==(const Assignment &a) const
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator==(const Assignment &a) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - Assignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: operator<(const Assignment &a) const
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int operator<(const Assignment &a) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:114,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:114,1
    - Dst: assert
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:115,1
    - Dst: empty
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:115,1
    - Dst: assert
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - t
    - p
    argTypes:
    - std::string
    - int32_t
    assertStmts:
    - condition: (!t.empty())
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    - condition: (topic.empty() || topic == t)
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    - condition: (partition == -1 || partition == p)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: Assignment::setup
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - assert
    - empty
    - std::string::empty
    linkageType: ''
    returnType: void
    signature: void setup(std::string t, int32_t p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:155,1
    - Dst: localtime_r
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:160,1
    - Dst: strftime
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:161,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:162,1
    - Dst: strlen
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:162,1
    - Dst: strlen
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: now
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 3
    functionsReached:
    - localtime_r
    - gettimeofday
    - strftime
    - strlen
    - snprintf
    linkageType: ''
    returnType: std::string
    signature: std::string now()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:172,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:174,1
    - Dst: abort
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: sigwatchdog
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - time
    - now
    - abort
    linkageType: ''
    returnType: void
    signature: void sigwatchdog(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:184,1
    - Dst: alarm
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: watchdog_kick
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - time
    - alarm
    linkageType: ''
    returnType: void
    signature: void watchdog_kick()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - name
    - errmsg
    - topic
    - key
    - value
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::string*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 202
    functionName: errorString
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - now
    linkageType: ''
    returnType: void
    signature: "void errorString(const std::string &name,\n                        const
      std::string &errmsg,\n                        const std::string &topic,\n                        const
      std::string *key,\n                        const std::string &value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - name
    - topic
    - partition
    - offset
    - key
    - value
    argTypes:
    - std::string
    - std::string
    - int
    - int64_t
    - std::string*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: successString
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - now
    linkageType: ''
    returnType: void
    signature: "void successString(const std::string &name,\n                          const
      std::string &topic,\n                          int partition,\n                          int64_t
      offset,\n                          const std::string *key,\n                          const
      std::string &value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - success
    - topic
    - partition
    - offset
    - errstr
    argTypes:
    - bool
    - std::string
    - int
    - int64_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 233
    functionName: offsetStatus
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void offsetStatus(bool success,\n                         const std::string
      &topic,\n                         int partition,\n                         int64_t
      offset,\n                         const std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:238,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:241,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: sigterm
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - exit
    - now
    linkageType: ''
    returnType: void
    signature: void sigterm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:251,1
    - Dst: errorString
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:253,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:253,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:253,1
    - Dst: RdKafka::Message::key
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:254,1
    - Dst: std::string
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:255,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:255,1
    - Dst: RdKafka::Message::payload
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:255,1
    - Dst: RdKafka::Message::len
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:256,1
    - Dst: successString
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:258,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:258,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:259,1
    - Dst: RdKafka::Message::offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:259,1
    - Dst: RdKafka::Message::key
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:259,1
    - Dst: std::string
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:260,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:260,1
    - Dst: RdKafka::Message::payload
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:260,1
    - Dst: RdKafka::Message::len
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - message
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: ExampleDeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message::errstr
    - RdKafka::Message::offset
    - errorString
    - successString
    - std::string
    - static_cast<const char *>
    - RdKafka::Message::len
    - RdKafka::Message::partition
    - RdKafka::Message::topic_name
    - RdKafka::Message::payload
    - RdKafka::Message::key
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:271,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:273,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:273,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:273,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:274,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:278,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:278,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:282,1
    - Dst: RdKafka::Event::severity
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:282,1
    - Dst: RdKafka::Event::fac
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:282,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:283,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:287,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:287,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:288,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:288,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:288,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 292
    functionName: ExampleEventCb::event_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::fac
    - RdKafka::Event::severity
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - now
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MyHashPartitionerCb::djb_hash
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:304,1
    - Dst: std::string*::c_str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:304,1
    - Dst: std::string*::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topic
    - key
    - partition_cnt
    - msg_opaque
    argTypes:
    - RdKafka::Topic*
    - std::string*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: MyHashPartitionerCb::partitioner_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - MyHashPartitionerCb::djb_hash
    - std::string*::size
    - std::string*::c_str
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitioner_cb(const RdKafka::Topic *topic,\n                         const
      std::string *key,\n                         int32_t partition_cnt,\n                         void
      *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: MyHashPartitionerCb::djb_hash
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int djb_hash(const char *str, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::map*::begin
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:336,1
    - Dst: std::map*::end
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:337,1
    - Dst: assert
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:339,1
    - Dst: Assignment*::topic::empty
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:339,1
    - Dst: std::map*::begin
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - immediate
    argTypes:
    - int
    assertStmts:
    - condition: (!a->topic.empty())
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    constantsTouched: []
    func_position:
      end: 351
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 351
    functionName: report_records_consumed
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - assert
    - std::map*::begin
    - Assignment*::topic::empty
    - std::map*::end
    linkageType: ''
    returnType: void
    signature: void report_records_consumed(int immediate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:358,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:358,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:359,1
    - Dst: report_records_consumed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:367,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:371,1
    - Dst: assert
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:375,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:375,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:376,1
    - Dst: topic
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:378,1
    - Dst: partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:379,1
    - Dst: offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:380,1
    - Dst: err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:382,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:382,1
    - Dst: err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - err
    - offsets
    argTypes:
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts:
    - condition: (offsets.size() > 0)
      pos:
        line_end: 374
        line_start: 374
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: ExampleOffsetCommitCb::offset_commit_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - topic
    - partition
    - RdKafka::err2str
    - offset
    - report_records_consumed
    - now
    - assert
    - std::vector<RdKafka::TopicPartition *>::size
    - err
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb(RdKafka::ErrorCode err,\n                        std::vector<RdKafka::TopicPartition
      *> &offsets)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: report_records_consumed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:406,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:408,1
    - Dst: RdKafka::KafkaConsumer*::commitSync
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:414,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:416,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - consumer
    - immediate
    argTypes:
    - RdKafka::KafkaConsumer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 420
    functionName: do_commit
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::err2str
    - report_records_consumed
    - RdKafka::KafkaConsumer*::commitSync
    - now
    linkageType: ''
    returnType: void
    signature: void do_commit(RdKafka::KafkaConsumer *consumer, int immediate)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:426,1
    - Dst: report_records_consumed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:429,1
    - Dst: do_commit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:432,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:439,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:439,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:440,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:440,1
    - Dst: Assignment::name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:448,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:449,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:449,1
    - Dst: Assignment*::setup
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:450,1
    - Dst: RdKafka::Message*::topic_name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:450,1
    - Dst: RdKafka::Message*::partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:450,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:454,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:455,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:456,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:458,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:460,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:460,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:464,1
    - Dst: static_cast<int>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:464,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:464,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:465,1
    - Dst: RdKafka::Message*::payload
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:465,1
    - Dst: report_records_consumed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:469,1
    - Dst: do_commit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:471,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:477,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:484,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:484,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:489,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:489,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:494,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:494,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 3
    argNames:
    - consumer
    - msg
    - opaque
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::Message*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 423
    functionDepth: 4
    functionLinenumber: 423
    functionLinenumberEnd: 497
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 2
    functionsReached:
    - fprintf
    - static_cast<int>
    - RdKafka::Message*::payload
    - RdKafka::Message*::errstr
    - RdKafka::Message*::key
    - RdKafka::Message*::len
    - RdKafka::Message*::err
    - RdKafka::Message*::partition
    - Assignment*::setup
    - RdKafka::Message*::topic_name
    - Assignment::name
    - report_records_consumed
    - RdKafka::Message*::offset
    - now
    - static_cast<const char *>
    - do_commit
    linkageType: ''
    returnType: void
    signature: "void msg_consume(RdKafka::KafkaConsumer *consumer,\n                 RdKafka::Message
      *msg,\n                 void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_consume
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - RdKafka::Message
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: ExampleConsumeCb::consume_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - msg_consume
    linkageType: ''
    returnType: void
    signature: void consume_cb(RdKafka::Message &msg, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:514,1
    - Dst: topic
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:516,1
    - Dst: partition
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:517,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: ExampleRebalanceCb::part_list_json
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - topic
    - std::vector<RdKafka::TopicPartition *>::size
    - std::ostringstream::str
    - partition
    linkageType: ''
    returnType: std::string
    signature: "std::string part_list_json(\n      const std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:525,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:525,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:526,1
    - Dst: report_records_consumed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:529,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:532,1
    - Dst: do_commit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:534,1
    - Dst: RdKafka::KafkaConsumer*::unassign
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:535,1
    - Dst: ExampleRebalanceCb::part_list_json
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - consumer
    - err
    - partitions
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 543
    functionName: ExampleRebalanceCb::rebalance_cb
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 0
    functionsReached:
    - ExampleRebalanceCb::part_list_json
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::unassign
    - report_records_consumed
    - now
    - RdKafka::KafkaConsumer*::assign
    - do_commit
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(RdKafka::KafkaConsumer *consumer,\n                    RdKafka::ErrorCode
      err,\n                    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:552,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:555,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:557,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:560,1
    - Dst: std::getline
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:565,1
    - Dst: std::string::length
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:569,1
    - Dst: std::string::find
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:573,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:575,1
    - Dst: std::string::substr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:581,1
    - Dst: std::string::substr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:582,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:585,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:586,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:590,1
    - Dst: std::ifstream::close
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - conf
    - conf_file
    argTypes:
    - RdKafka::Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 551
    functionDepth: 4
    functionLinenumber: 551
    functionLinenumberEnd: 596
    functionName: read_conf_file
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 1
    functionsReached:
    - exit
    - RdKafka::Conf*::set
    - std::string::c_str
    - std::getline
    - std::string::find
    - std::ifstream::close
    - std::string::length
    - now
    - std::string::substr
    linkageType: ''
    returnType: void
    signature: void read_conf_file(RdKafka::Conf *conf, const std::string &conf_file)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:610,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:610,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:611,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:616,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:619,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:620,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:621,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:625,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:626,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:627,1
    - Dst: gethostname
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:632,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:633,1
    - Dst: std::string
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:633,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:636,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:639,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:643,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:645,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:646,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:648,1
    - Dst: strncmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:654,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:657,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:661,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:662,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:663,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:665,1
    - Dst: atoi
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:666,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:667,1
    - Dst: atoi
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:668,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:669,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:670,1
    - Dst: read_conf_file
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:671,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:672,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:673,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:674,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:675,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:676,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:677,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:678,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:679,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:681,1
    - Dst: std::string::find
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:689,1
    - Dst: std::string::erase
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:691,1
    - Dst: strlen
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:691,1
    - Dst: std::string::find
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:693,1
    - Dst: std::string::erase
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:694,1
    - Dst: strlen
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:694,1
    - Dst: std::transform
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:696,1
    - Dst: std::string::begin
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:696,1
    - Dst: std::string::end
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:696,1
    - Dst: std::string::begin
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:696,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:698,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:701,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:701,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:702,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:703,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:705,1
    - Dst: std::string
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:706,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:707,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:708,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:709,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:710,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:712,1
    - Dst: atoi
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:713,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:714,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:715,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:716,1
    - Dst: strdup
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:717,1
    - Dst: strchr
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:718,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:725,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:726,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:727,1
    - Dst: free
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:729,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:731,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:732,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:738,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:740,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:742,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:744,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:745,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:747,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:750,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:752,1
    - Dst: std::vector::empty
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:757,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:757,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:758,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:759,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:766,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:769,1
    - Dst: signal
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:771,1
    - Dst: signal
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:772,1
    - Dst: signal
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:773,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:784,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:789,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:791,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:793,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:796,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:796,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:803,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:805,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:806,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:823,1
    - Dst: const_cast<char *>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:826,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:826,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:826,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:829,1
    - Dst: const_cast<char *>
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:832,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:832,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:832,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:837,1
    - Dst: errorString
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:840,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:840,1
    - Dst: RdKafka::Topic*::name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:841,1
    - Dst: std::ostringstream::str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:841,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:849,1
    - Dst: usleep
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:850,1
    - Dst: watchdog_kick
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:851,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:855,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:856,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:856,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:858,1
    - Dst: watchdog_kick
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:859,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:862,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:876,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:879,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:881,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:887,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:889,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:891,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:894,1
    - Dst: name
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:894,1
    - Dst: subscribe
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:900,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:902,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:902,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:903,1
    - Dst: exit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:904,1
    - Dst: watchdog_kick
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:907,1
    - Dst: consume
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:913,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:914,1
    - Dst: watchdog_kick
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:916,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:919,1
    - Dst: do_commit
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:922,1
    - Dst: close
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:927,1
    - Dst: RdKafka::wait_destroyed
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:941,1
    - Dst: now
      Src: /src/librdkafka/examples/kafkatest_verifiable_client.cpp:943,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 190
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 945
    functionName: main
    functionSourceFile: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    functionUses: 18
    functionsReached:
    - std::string::erase
    - std::transform
    - name
    - gethostname
    - now
    - std::string::empty
    - RdKafka::Producer*::poll
    - RdKafka::Producer*::name
    - std::string::begin
    - atoi
    - std::string
    - subscribe
    - RdKafka::Topic*::name
    - watchdog_kick
    - strdup
    - RdKafka::Conf*::set
    - strcmp
    - close
    - RdKafka::version
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - consume
    - std::string::find
    - strchr
    - do_commit
    - std::ostringstream::str
    - RdKafka::version_str
    - exit
    - free
    - RdKafka::Producer*::produce
    - const_cast<char *>
    - errorString
    - RdKafka::Producer*::outq_len
    - std::vector::size
    - msg_consume
    - read_conf_file
    - std::vector::push_back
    - usleep
    - std::string::end
    - RdKafka::wait_destroyed
    - strncmp
    - strlen
    - std::vector::empty
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: sigterm
    functionSourceFile: /src/librdkafka/examples/producer.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigterm(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::err
      Src: /src/librdkafka/examples/producer.cpp:65,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/examples/producer.cpp:66,1
    - Dst: RdKafka::Message::topic_name
      Src: /src/librdkafka/examples/producer.cpp:69,1
    - Dst: RdKafka::Message::partition
      Src: /src/librdkafka/examples/producer.cpp:70,1
    - Dst: RdKafka::Message::offset
      Src: /src/librdkafka/examples/producer.cpp:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: ExampleDeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/examples/producer.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message::errstr
    - RdKafka::Message::offset
    - RdKafka::Message::partition
    - RdKafka::Message::topic_name
    - RdKafka::Message::err
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &message)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/librdkafka/examples/producer.cpp:78,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/producer.cpp:87,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/producer.cpp:95,1
    - Dst: exit
      Src: /src/librdkafka/examples/producer.cpp:98,1
    - Dst: signal
      Src: /src/librdkafka/examples/producer.cpp:101,1
    - Dst: signal
      Src: /src/librdkafka/examples/producer.cpp:102,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/producer.cpp:117,1
    - Dst: exit
      Src: /src/librdkafka/examples/producer.cpp:119,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/producer.cpp:125,1
    - Dst: exit
      Src: /src/librdkafka/examples/producer.cpp:128,1
    - Dst: std::getline
      Src: /src/librdkafka/examples/producer.cpp:139,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/producer.cpp:140,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/producer.cpp:141,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/examples/producer.cpp:156,1
    - Dst: const_cast<char *>
      Src: /src/librdkafka/examples/producer.cpp:167,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/producer.cpp:167,1
    - Dst: std::string::size
      Src: /src/librdkafka/examples/producer.cpp:167,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/producer.cpp:180,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/producer.cpp:193,1
    - Dst: std::string::size
      Src: /src/librdkafka/examples/producer.cpp:198,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/producer.cpp:212,1
    - Dst: RdKafka::Producer*::flush
      Src: /src/librdkafka/examples/producer.cpp:219,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/producer.cpp:221,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/producer.cpp:222,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 228
    functionName: main
    functionSourceFile: /src/librdkafka/examples/producer.cpp
    functionUses: 18
    functionsReached:
    - exit
    - RdKafka::Producer*::produce
    - const_cast<char *>
    - RdKafka::Conf*::set
    - RdKafka::Producer*::outq_len
    - RdKafka::Producer*::flush
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - std::getline
    - signal
    - std::string::empty
    - std::string::size
    - RdKafka::Producer*::poll
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/idempotent_producer.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:82,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/idempotent_producer.c:83,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:86,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/idempotent_producer.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/examples/idempotent_producer.c
    functionUses: 62
    functionsReached:
    - rd_kafka_topic_name
    - fprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:119,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/examples/idempotent_producer.c:119,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/examples/idempotent_producer.c:144,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:145,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/examples/idempotent_producer.c:145,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 152
    functionName: error_cb
    functionSourceFile: /src/librdkafka/examples/idempotent_producer.c
    functionUses: 9
    functionsReached:
    - rd_kafka_err2name
    - fprintf
    - rd_kafka_fatal_error
    linkageType: ''
    returnType: void
    signature: void error_cb(rd_kafka_t *rk, int err, const char *reason, void *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:168,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/idempotent_producer.c:179,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/idempotent_producer.c:185,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:187,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/idempotent_producer.c:188,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/idempotent_producer.c:193,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:195,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/idempotent_producer.c:196,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/idempotent_producer.c:204,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/examples/idempotent_producer.c:212,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/idempotent_producer.c:222,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:224,1
    - Dst: signal
      Src: /src/librdkafka/examples/idempotent_producer.c:230,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:232,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:237,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/idempotent_producer.c:253,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/examples/idempotent_producer.c:254,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/idempotent_producer.c:255,1
    - Dst: strlen
      Src: /src/librdkafka/examples/idempotent_producer.c:255,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/idempotent_producer.c:258,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:264,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/idempotent_producer.c:266,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/idempotent_producer.c:280,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/idempotent_producer.c:306,1
    - Dst: rd_kafka_test_fatal_error
      Src: /src/librdkafka/examples/idempotent_producer.c:314,1
    - Dst: usleep
      Src: /src/librdkafka/examples/idempotent_producer.c:321,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:328,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/examples/idempotent_producer.c:329,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/idempotent_producer.c:330,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/examples/idempotent_producer.c:334,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/idempotent_producer.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 155
    functionDepth: 22
    functionLinenumber: 155
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/librdkafka/examples/idempotent_producer.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_set
    - RD_KAFKA_V_MSGFLAGS
    - snprintf
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_err2str
    - RD_KAFKA_V_VALUE
    - rd_kafka_flush
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_producev
    - rd_kafka_conf_new
    - rd_kafka_conf_set_error_cb
    - rd_kafka_test_fatal_error
    - RD_KAFKA_V_TOPIC
    - rd_kafka_poll
    - rd_kafka_fatal_error
    - usleep
    - rd_kafka_new
    - strlen
    - rd_kafka_conf_destroy
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: fatal_error
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal_error(what, error)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:116,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: dr_msg_cb
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 63
    functionsReached:
    - fprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: void dr_msg_cb(rd_kafka_t *rk, const rd_kafka_message_t *rkmessage,
      void *opaque)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/transactions.c:129,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:134,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:136,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:139,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/transactions.c:143,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/transactions.c:146,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/transactions.c:148,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:149,1
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/examples/transactions.c:154,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - brokers
    - output_topic
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 127
    functionDepth: 22
    functionLinenumber: 127
    functionLinenumberEnd: 159
    functionName: create_transactional_producer
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_new
    - fatal_error
    - rd_kafka_conf_set
    - rd_kafka_init_transactions
    - fatal
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *create_transactional_producer(const char *brokers,\n                                                 const
      char *output_topic)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/examples/transactions.c:174,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:176,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:177,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:182,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions.c:183,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/examples/transactions.c:188,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:190,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:191,1
    - Dst: rd_kafka_seek_partitions
      Src: /src/librdkafka/examples/transactions.c:202,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:204,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 166
    functionDepth: 7
    functionLinenumber: 166
    functionLinenumberEnd: 207
    functionName: rewind_consumer
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fatal_error
    - rd_kafka_seek_partitions
    - rd_kafka_err2str
    - rd_kafka_assignment
    - fatal
    - rd_kafka_committed
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: void
    signature: void rewind_consumer(rd_kafka_t *consumer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:218,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions.c:221,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:223,1
    - Dst: rewind_consumer
      Src: /src/librdkafka/examples/transactions.c:226,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions.c:229,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - consumer
    - producer
    argTypes:
    - rd_kafka_t*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 8
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: abort_transaction_and_rewind
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 2
    functionsReached:
    - fprintf
    - fatal_error
    - rewind_consumer
    - rd_kafka_begin_transaction
    - rd_kafka_abort_transaction
    linkageType: ''
    returnType: void
    signature: "void abort_transaction_and_rewind(rd_kafka_t *consumer,\n                                         rd_kafka_t
      *producer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:247,1
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/examples/transactions.c:255,1
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/examples/transactions.c:258,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:263,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:266,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions.c:268,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions.c:270,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:272,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/examples/transactions.c:278,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:280,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:281,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/examples/transactions.c:285,1
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/examples/transactions.c:286,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions.c:287,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/examples/transactions.c:289,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:290,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/examples/transactions.c:293,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/transactions.c:294,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/transactions.c:295,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions.c:298,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:300,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:304,1
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/examples/transactions.c:310,1
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/examples/transactions.c:312,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:313,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/examples/transactions.c:316,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/transactions.c:317,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/transactions.c:318,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions.c:321,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:323,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - consumer
    - producer
    argTypes:
    - rd_kafka_t*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 332
    functionName: commit_transaction
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 38
    functionsReached:
    - fprintf
    - fatal_error
    - rd_kafka_position
    - rd_kafka_commit_transaction
    - rd_kafka_consumer_group_metadata_destroy
    - rd_kafka_err2str
    - rd_kafka_assignment
    - fatal
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_error_txn_requires_abort
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_error_name
    - rd_kafka_send_offsets_to_transaction
    - rd_kafka_abort_transaction
    - rd_kafka_consumer_group_metadata
    linkageType: ''
    returnType: int
    signature: int commit_transaction(rd_kafka_t *consumer, rd_kafka_t *producer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: commit_transaction
      Src: /src/librdkafka/examples/transactions.c:344,1
    - Dst: rewind_consumer
      Src: /src/librdkafka/examples/transactions.c:345,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions.c:348,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - consumer
    - producer
    argTypes:
    - rd_kafka_t*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 8
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: commit_transaction_and_start_new
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 1
    functionsReached:
    - commit_transaction
    - rewind_consumer
    - rd_kafka_begin_transaction
    - fatal_error
    linkageType: ''
    returnType: void
    signature: "void commit_transaction_and_start_new(rd_kafka_t *consumer,\n                                             rd_kafka_t
      *producer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:367,1
    - Dst: rd_kafka_incremental_assign
      Src: /src/librdkafka/examples/transactions.c:374,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:376,1
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/examples/transactions.c:380,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:381,1
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/examples/transactions.c:385,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:387,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:390,1
    - Dst: commit_transaction
      Src: /src/librdkafka/examples/transactions.c:395,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions.c:399,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:401,1
    - Dst: rd_kafka_incremental_unassign
      Src: /src/librdkafka/examples/transactions.c:405,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:407,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:412,1
    - Dst: rd_kafka_err2name
      Src: /src/librdkafka/examples/transactions.c:412,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - consumer
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 414
    functionName: consumer_group_rebalance_cb
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_lost
    - rd_kafka_err2name
    - fprintf
    - fatal_error
    - fatal
    - rd_kafka_incremental_unassign
    - rd_kafka_incremental_assign
    - commit_transaction
    - rd_kafka_abort_transaction
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: void
    signature: "void consumer_group_rebalance_cb(rd_kafka_t *consumer,\n                            rd_kafka_resp_err_t
      err,\n                            rd_kafka_topic_partition_list_t *partitions,\n
      \                           void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/transactions.c:423,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:429,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:431,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:434,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:437,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/transactions.c:443,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:445,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/examples/transactions.c:450,1
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/examples/transactions.c:455,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/transactions.c:458,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/transactions.c:460,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:461,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/examples/transactions.c:466,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/transactions.c:469,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/transactions.c:470,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/examples/transactions.c:474,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/transactions.c:475,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions.c:477,1
    - Dst: fatal
      Src: /src/librdkafka/examples/transactions.c:478,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - brokers
    - input_topic
    - producer
    argTypes:
    - char*
    - char*
    - rd_kafka_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 420
    functionDepth: 22
    functionLinenumber: 420
    functionLinenumberEnd: 483
    functionName: create_input_consumer
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 1
    functionsReached:
    - rd_kafka_conf_new
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - rd_kafka_conf_set_rebalance_cb
    - rd_kafka_topic_partition_list_new
    - rd_kafka_err2str
    - fatal
    - rd_kafka_conf_set_opaque
    - rd_kafka_topic_partition_list_add
    - rd_kafka_poll_set_consumer
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - rd_kafka_subscribe
    linkageType: ''
    returnType: rd_kafka_t
    signature: "rd_kafka_t *create_input_consumer(const char *brokers,\n                                         const
      char *input_topic,\n                                         rd_kafka_t *producer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/librdkafka/examples/transactions.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - start
    - end
    - intp
    argTypes:
    - void*
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 510
    functionName: find_next_int
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: void
    signature: 'void *

      find_next_int(const void *start, const void *end, int *intp)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_next_int
      Src: /src/librdkafka/examples/transactions.c:536,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/transactions.c:542,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/transactions.c:546,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/examples/transactions.c:547,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/examples/transactions.c:549,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/transactions.c:552,1
    - Dst: strlen
      Src: /src/librdkafka/examples/transactions.c:552,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/transactions.c:554,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/transactions.c:561,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:564,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/transactions.c:567,1
    - Dst: abort_transaction_and_rewind
      Src: /src/librdkafka/examples/transactions.c:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - consumer
    - producer
    - output_topic
    - rkmessage
    argTypes:
    - rd_kafka_t*
    - rd_kafka_t*
    - char*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 572
    functionName: process_message
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 1
    functionsReached:
    - fprintf
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - abort_transaction_and_rewind
    - RD_KAFKA_V_TOPIC
    - rd_kafka_err2str
    - rd_kafka_poll
    - RD_KAFKA_V_KEY
    - strlen
    - find_next_int
    - snprintf
    - rd_kafka_producev
    linkageType: ''
    returnType: void
    signature: "void process_message(rd_kafka_t *consumer,\n                            rd_kafka_t
      *producer,\n                            const char *output_topic,\n                            const
      rd_kafka_message_t *rkmessage)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:586,1
    - Dst: signal
      Src: /src/librdkafka/examples/transactions.c:597,1
    - Dst: create_transactional_producer
      Src: /src/librdkafka/examples/transactions.c:599,1
    - Dst: create_input_consumer
      Src: /src/librdkafka/examples/transactions.c:601,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:603,1
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/examples/transactions.c:614,1
    - Dst: fatal_error
      Src: /src/librdkafka/examples/transactions.c:616,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions.c:623,1
    - Dst: printf
      Src: /src/librdkafka/examples/transactions.c:624,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions.c:625,1
    - Dst: commit_transaction_and_start_new
      Src: /src/librdkafka/examples/transactions.c:626,1
    - Dst: time
      Src: /src/librdkafka/examples/transactions.c:628,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/examples/transactions.c:632,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:643,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/transactions.c:644,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/transactions.c:645,1
    - Dst: process_message
      Src: /src/librdkafka/examples/transactions.c:650,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/transactions.c:652,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:657,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/examples/transactions.c:658,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions.c:659,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/transactions.c:661,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/transactions.c:662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 575
    functionDepth: 11
    functionLinenumber: 575
    functionLinenumberEnd: 665
    functionName: main
    functionSourceFile: /src/librdkafka/examples/transactions.c
    functionUses: 18
    functionsReached:
    - process_message
    - fprintf
    - fatal_error
    - rd_kafka_destroy
    - create_transactional_producer
    - printf
    - time
    - rd_kafka_message_destroy
    - commit_transaction_and_start_new
    - rd_kafka_message_errstr
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - create_input_consumer
    - signal
    - rd_kafka_begin_transaction
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 58
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/rdkafka_performance.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: wall_clock
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t wall_clock(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:135,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:136,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/rdkafka_performance.c:137,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:137,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:139,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/examples/rdkafka_performance.c:139,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: err_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_fatal_error
    - rd_kafka_name
    - rd_kafka_err2str
    - printf
    linkageType: ''
    returnType: void
    signature: void err_cb(rd_kafka_t *rk, int err, const char *reason, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - rk
    - broker_name
    - broker_id
    - throttle_time_ms
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: throttle_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void throttle_cb(rd_kafka_t *rk,\n                        const char
      *broker_name,\n                        int32_t broker_id,\n                        int
      throttle_time_ms,\n                        void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:160,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:161,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:166,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - rk
    - err
    - offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: offset_commit_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 4
    functionsReached:
    - rd_kafka_err2str
    - printf
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb(rd_kafka_t *rk,\n                             rd_kafka_resp_err_t
      err,\n                             rd_kafka_topic_partition_list_t *offsets,\n
      \                            void *opaque)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ts
    - who
    argTypes:
    - int64_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 185
    functionName: latency_add
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void latency_add(int64_t ts, const char *who)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:192,1
    - Dst: sscanf
      Src: /src/librdkafka/examples/rdkafka_performance.c:209,1
    - Dst: latency_add
      Src: /src/librdkafka/examples/rdkafka_performance.c:211,1
    - Dst: wall_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:211,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:220,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/examples/rdkafka_performance.c:225,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_performance.c:226,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:228,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:230,1
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/examples/rdkafka_performance.c:235,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:238,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:250,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:255,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:260,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:262,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 33
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 264
    functionName: msg_delivered
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - exit
    - printf
    - rd_kafka_topic_name
    - wall_clock
    - rd_kafka_err2str
    - latency_add
    - sscanf
    - rd_kafka_message_broker_id
    - rd_clock
    linkageType: ''
    returnType: void
    signature: "void msg_delivered(rd_kafka_t *rk,\n                          const
      rd_kafka_message_t *rkmessage,\n                          void *opaque)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:274,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_performance.c:279,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:288,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/rdkafka_performance.c:291,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/rdkafka_performance.c:294,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:306,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:313,1
    - Dst: memcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:322,1
    - Dst: sscanf
      Src: /src/librdkafka/examples/rdkafka_performance.c:323,1
    - Dst: wall_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:325,1
    - Dst: latency_add
      Src: /src/librdkafka/examples/rdkafka_performance.c:327,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:330,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:338,1
    - Dst: rd_kafka_message_headers
      Src: /src/librdkafka/examples/rdkafka_performance.c:345,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 2
    argNames:
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 267
    functionDepth: 4
    functionLinenumber: 267
    functionLinenumberEnd: 350
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 4
    functionsReached:
    - printf
    - wall_clock
    - memcmp
    - rd_kafka_message_headers
    - rd_kafka_message_errstr
    - latency_add
    - sscanf
    - rd_kafka_topic_name
    - rd_clock
    linkageType: ''
    returnType: void
    signature: void msg_consume(rd_kafka_message_t *rkmessage, void *opaque)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:360,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_performance.c:360,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:361,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:370,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_performance.c:373,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:375,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_performance.c:375,1
    - Dst: rd_kafka_incremental_assign
      Src: /src/librdkafka/examples/rdkafka_performance.c:376,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_performance.c:378,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:386,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_performance.c:388,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:390,1
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_performance.c:390,1
    - Dst: rd_kafka_incremental_unassign
      Src: /src/librdkafka/examples/rdkafka_performance.c:391,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/examples/rdkafka_performance.c:394,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:406,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/rdkafka_performance.c:407,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:408,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:410,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - rk
    - err
    - partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 413
    functionName: rebalance_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 19
    functionsReached:
    - rd_kafka_rebalance_protocol
    - fprintf
    - strcmp
    - rd_kafka_err2str
    - rd_kafka_error_string
    - rd_kafka_error_destroy
    - rd_kafka_assign
    - rd_kafka_incremental_unassign
    - rd_kafka_incremental_assign
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(rd_kafka_t *rk,\n                         rd_kafka_resp_err_t
      err,\n                         rd_kafka_topic_partition_list_t *partitions,\n
      \                        void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:427,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:428,1
    - Dst: strstr
      Src: /src/librdkafka/examples/rdkafka_performance.c:430,1
    - Dst: strstr
      Src: /src/librdkafka/examples/rdkafka_performance.c:437,1
    - Dst: isspace
      Src: /src/librdkafka/examples/rdkafka_performance.c:441,1
    - Dst: strtoull
      Src: /src/librdkafka/examples/rdkafka_performance.c:444,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - json
    - end
    - field1
    - field2
    argTypes:
    - char*
    - char**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 454
    functionName: json_parse_fields
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - strlen
    - strstr
    - isspace
    - strtoull
    linkageType: ''
    returnType: uint64_t
    signature: "uint64_t json_parse_fields(const char *json,\n                                  const
      char **end,\n                                  const char *field1,\n                                  const
      char *field2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_parse_fields
      Src: /src/librdkafka/examples/rdkafka_performance.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 487
    functionName: json_parse_stats
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - json_parse_fields
    linkageType: ''
    returnType: void
    signature: void json_parse_stats(const char *json)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_parse_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:493,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - json
    - json_len
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 498
    functionName: stats_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 5
    functionsReached:
    - json_parse_stats
    - fprintf
    linkageType: ''
    returnType: int
    signature: int stats_cb(rd_kafka_t *rk, char *json, size_t json_len, void *opaque)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:505,1
    - Dst: ROW_START
      Src: /src/librdkafka/examples/rdkafka_performance.c:550,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:551,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:552,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:553,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:554,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:555,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:556,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:557,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:558,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:559,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:560,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:561,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:563,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:564,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:565,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:566,1
    - Dst: ROW_END
      Src: /src/librdkafka/examples/rdkafka_performance.c:569,1
    - Dst: ROW_START
      Src: /src/librdkafka/examples/rdkafka_performance.c:572,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:573,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:574,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:575,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:576,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:577,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:578,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:580,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:582,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:583,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:584,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_performance.c:585,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:586,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:588,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:589,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:590,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:591,1
    - Dst: ROW_END
      Src: /src/librdkafka/examples/rdkafka_performance.c:593,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:597,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_performance.c:615,1
    - Dst: ROW_START
      Src: /src/librdkafka/examples/rdkafka_performance.c:624,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:625,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:626,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:627,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:628,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:629,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:630,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:631,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:632,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:634,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:635,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:636,1
    - Dst: COL_HDR
      Src: /src/librdkafka/examples/rdkafka_performance.c:637,1
    - Dst: ROW_END
      Src: /src/librdkafka/examples/rdkafka_performance.c:639,1
    - Dst: ROW_START
      Src: /src/librdkafka/examples/rdkafka_performance.c:642,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:643,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:644,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:645,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:646,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:647,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:648,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:649,1
    - Dst: COL_PR64
      Src: /src/librdkafka/examples/rdkafka_performance.c:650,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:652,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:653,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:654,1
    - Dst: COL_PRF
      Src: /src/librdkafka/examples/rdkafka_performance.c:655,1
    - Dst: ROW_END
      Src: /src/librdkafka/examples/rdkafka_performance.c:657,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:662,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:671,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:687,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 109
    argCount: 4
    argNames:
    - rk
    - mode
    - otype
    - compression
    argTypes:
    - rd_kafka_t*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 704
    functionName: print_stats
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - printf
    - rd_snprintf
    - ROW_END
    - COL_PRF
    - rd_kafka_outq_len
    - COL_PR64
    - ROW_START
    - rd_clock
    - COL_HDR
    linkageType: ''
    returnType: void
    signature: void print_stats(rd_kafka_t *rk, int mode, int otype, const char *compression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: ROW_START
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW_START()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - NAME
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: COL_HDR
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_HDR(NAME)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: COL_PR64
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_PR64(NAME, VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - VAL
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: COL_PRF
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_PRF(NAME, VAL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: ROW_END
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROW_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_dump
      Src: /src/librdkafka/examples/rdkafka_performance.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 5
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: sig_usr1
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - rd_kafka_dump
    linkageType: ''
    returnType: void
    signature: void sig_usr1(int sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/librdkafka/examples/rdkafka_performance.c:722,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:723,1
    - Dst: strerror
      Src: /src/librdkafka/examples/rdkafka_performance.c:724,1
    - Dst: fgets
      Src: /src/librdkafka/examples/rdkafka_performance.c:728,1
    - Dst: isspace
      Src: /src/librdkafka/examples/rdkafka_performance.c:735,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_performance.c:741,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_performance.c:744,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:746,1
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_performance.c:748,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:755,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:760,1
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_performance.c:762,1
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_performance.c:766,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - conf
    - path
    argTypes:
    - rd_kafka_conf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 769
    functionName: read_conf_file
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 2
    functionsReached:
    - fclose
    - fprintf
    - fgets
    - rd_kafka_conf_set
    - isspace
    - strerror
    - fopen
    - strchr
    linkageType: ''
    returnType: int
    signature: int read_conf_file(rd_kafka_conf_t *conf, const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_headers_copy
      Src: /src/librdkafka/examples/rdkafka_performance.c:787,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/examples/rdkafka_performance.c:789,1
    - Dst: RD_KAFKA_V_RKT
      Src: /src/librdkafka/examples/rdkafka_performance.c:790,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/examples/rdkafka_performance.c:790,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/examples/rdkafka_performance.c:791,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/examples/rdkafka_performance.c:792,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/examples/rdkafka_performance.c:793,1
    - Dst: RD_KAFKA_V_HEADERS
      Src: /src/librdkafka/examples/rdkafka_performance.c:794,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:797,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/examples/rdkafka_performance.c:802,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 9
    argNames:
    - rk
    - rkt
    - partition
    - msgflags
    - payload
    - size
    - key
    - key_size
    - hdrs
    argTypes:
    - rd_kafka_t*
    - rd_kafka_topic_t*
    - int32_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 772
    functionDepth: 5
    functionLinenumber: 772
    functionLinenumberEnd: 808
    functionName: do_produce
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 1
    functionsReached:
    - RD_KAFKA_V_RKT
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - RD_KAFKA_V_HEADERS
    - RD_KAFKA_V_PARTITION
    - RD_KAFKA_V_KEY
    - rd_kafka_headers_destroy
    - rd_kafka_last_error
    - rd_kafka_produce
    - rd_kafka_headers_copy
    - rd_kafka_producev
    linkageType: ''
    returnType: rd_kafka_resp_err_t
    signature: "rd_kafka_resp_err_t do_produce(rd_kafka_t *rk,\n                                      rd_kafka_topic_t
      *rkt,\n                                      int32_t partition,\n                                      int
      msgflags,\n                                      void *payload,\n                                      size_t
      size,\n                                      const void *key,\n                                      size_t
      key_size,\n                                      const rd_kafka_headers_t *hdrs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/librdkafka/examples/rdkafka_performance.c:816,1
    - Dst: usleep
      Src: /src/librdkafka/examples/rdkafka_performance.c:818,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:821,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sleep_us
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 825
    functionName: do_sleep
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 0
    functionsReached:
    - Sleep
    - usleep
    - rd_clock
    linkageType: ''
    returnType: void
    signature: void do_sleep(int sleep_us)
  - BBCount: 125
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/librdkafka/examples/rdkafka_performance.c:843,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:865,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:866,1
    - Dst: rd_kafka_conf_set_throttle_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:867,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:868,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:872,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:873,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:877,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:878,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:879,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:889,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:890,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:891,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:893,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_performance.c:895,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:900,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:903,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:904,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/rdkafka_performance.c:912,1
    - Dst: realloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:917,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:919,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:926,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:932,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:938,1
    - Dst: strtoull
      Src: /src/librdkafka/examples/rdkafka_performance.c:944,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:948,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:951,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:954,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:957,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:958,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_performance.c:962,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:965,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:968,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:969,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:974,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:976,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:978,1
    - Dst: strtoll
      Src: /src/librdkafka/examples/rdkafka_performance.c:981,1
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/examples/rdkafka_performance.c:985,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:996,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_performance.c:1003,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1010,1
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/examples/rdkafka_performance.c:1012,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1015,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1018,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1019,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:1027,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:1028,1
    - Dst: rd_kafka_conf_properties_show
      Src: /src/librdkafka/examples/rdkafka_performance.c:1029,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1030,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:1033,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_performance.c:1039,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1040,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1044,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_performance.c:1050,1
    - Dst: read_conf_file
      Src: /src/librdkafka/examples/rdkafka_performance.c:1051,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1052,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:1056,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1060,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1061,1
    - Dst: strtod
      Src: /src/librdkafka/examples/rdkafka_performance.c:1090,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1093,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1095,1
    - Dst: fopen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1106,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1107,1
    - Dst: strerror
      Src: /src/librdkafka/examples/rdkafka_performance.c:1108,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1109,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1122,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1129,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1131,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1199,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/examples/rdkafka_performance.c:1199,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1201,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1208,1
    - Dst: srand
      Src: /src/librdkafka/examples/rdkafka_performance.c:1210,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_performance.c:1211,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_performance.c:1213,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:1217,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1219,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1221,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:1226,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1231,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:1234,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1237,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1238,1
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/examples/rdkafka_performance.c:1250,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1251,1
    - Dst: rd_kafka_conf_get_default_topic_conf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1254,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1257,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/examples/rdkafka_performance.c:1258,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1269,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1271,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/examples/rdkafka_performance.c:1273,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1276,1
    - Dst: popen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1287,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1294,1
    - Dst: strerror
      Src: /src/librdkafka/examples/rdkafka_performance.c:1297,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1298,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1309,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:1314,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1318,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1319,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1323,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1324,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/rdkafka_performance.c:1329,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1331,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1332,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1342,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1344,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1349,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1350,1
    - Dst: RD_MAX
      Src: /src/librdkafka/examples/rdkafka_performance.c:1351,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_performance.c:1354,1
    - Dst: malloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:1362,1
    - Dst: RD_MIN
      Src: /src/librdkafka/examples/rdkafka_performance.c:1366,1
    - Dst: memcpy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1367,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1372,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1375,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:1379,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1382,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1384,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1387,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1393,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1397,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1405,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1413,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1418,1
    - Dst: wall_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1419,1
    - Dst: rd_snprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1421,1
    - Dst: malloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:1428,1
    - Dst: memcpy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1429,1
    - Dst: do_produce
      Src: /src/librdkafka/examples/rdkafka_performance.c:1437,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1441,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1449,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1451,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1461,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1464,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_performance.c:1469,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1475,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1477,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1488,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1490,1
    - Dst: RD_MAX
      Src: /src/librdkafka/examples/rdkafka_performance.c:1492,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1492,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1494,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1496,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1499,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1504,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1510,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1511,1
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/examples/rdkafka_performance.c:1514,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1516,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1521,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1527,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1530,1
    - Dst: free
      Src: /src/librdkafka/examples/rdkafka_performance.c:1533,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1546,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1548,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1551,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1557,1
    - Dst: malloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:1561,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1564,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/examples/rdkafka_performance.c:1566,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1570,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1572,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:1572,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1573,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1585,1
    - Dst: rd_kafka_consume_batch
      Src: /src/librdkafka/examples/rdkafka_performance.c:1593,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_performance.c:1598,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1600,1
    - Dst: rd_kafka_consume_callback_queue
      Src: /src/librdkafka/examples/rdkafka_performance.c:1606,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1610,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1612,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1614,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:1614,1
    - Dst: do_sleep
      Src: /src/librdkafka/examples/rdkafka_performance.c:1618,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1622,1
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1625,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1627,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/examples/rdkafka_performance.c:1631,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1633,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1635,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:1635,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1638,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1641,1
    - Dst: free
      Src: /src/librdkafka/examples/rdkafka_performance.c:1644,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1647,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/examples/rdkafka_performance.c:1657,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/rdkafka_performance.c:1660,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1662,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1665,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/examples/rdkafka_performance.c:1669,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/examples/rdkafka_performance.c:1673,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1675,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1676,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_performance.c:1677,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1679,1
    - Dst: malloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:1682,1
    - Dst: malloc
      Src: /src/librdkafka/examples/rdkafka_performance.c:1684,1
    - Dst: rd_kafka_queue_get_consumer
      Src: /src/librdkafka/examples/rdkafka_performance.c:1687,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1697,1
    - Dst: rd_kafka_consume_batch_queue
      Src: /src/librdkafka/examples/rdkafka_performance.c:1702,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_performance.c:1706,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1708,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1714,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1715,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/examples/rdkafka_performance.c:1716,1
    - Dst: do_sleep
      Src: /src/librdkafka/examples/rdkafka_performance.c:1720,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/examples/rdkafka_performance.c:1725,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_performance.c:1727,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1728,1
    - Dst: do_sleep
      Src: /src/librdkafka/examples/rdkafka_performance.c:1733,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1737,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1739,1
    - Dst: rd_clock
      Src: /src/librdkafka/examples/rdkafka_performance.c:1741,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/examples/rdkafka_performance.c:1743,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1745,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/rdkafka_performance.c:1746,1
    - Dst: free
      Src: /src/librdkafka/examples/rdkafka_performance.c:1748,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1749,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1750,1
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1754,1
    - Dst: print_stats
      Src: /src/librdkafka/examples/rdkafka_performance.c:1756,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_performance.c:1759,1
    - Dst: fclose
      Src: /src/librdkafka/examples/rdkafka_performance.c:1763,1
    - Dst: pclose
      Src: /src/librdkafka/examples/rdkafka_performance.c:1767,1
    - Dst: free
      Src: /src/librdkafka/examples/rdkafka_performance.c:1773,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/rdkafka_performance.c:1775,1
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/examples/rdkafka_performance.c:1778,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 496
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 828
    functionDepth: 22
    functionLinenumber: 828
    functionLinenumberEnd: 1781
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_performance.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_properties_show
    - rd_kafka_conf_set_offset_commit_cb
    - rd_kafka_outq_len
    - rd_kafka_queue_destroy
    - rd_kafka_subscribe
    - rd_kafka_conf_set_stats_cb
    - fclose
    - rd_kafka_destroy
    - RD_MIN
    - atoi
    - rd_kafka_consume_batch
    - malloc
    - strtoull
    - rd_clock
    - printf
    - msg_consume
    - rd_kafka_queue_get_consumer
    - rd_kafka_poll_set_consumer
    - rd_kafka_conf_set
    - rd_snprintf
    - rd_kafka_topic_partition_list_add
    - rd_kafka_headers_new
    - fprintf
    - print_stats
    - rd_kafka_header_add
    - rd_kafka_topic_conf_dump
    - time
    - getopt
    - rd_kafka_conf_dump_free
    - rd_kafka_conf_dump
    - read_conf_file
    - strtod
    - rd_kafka_conf_set_throttle_cb
    - pclose
    - RD_MAX
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - srand
    - do_produce
    - rd_kafka_version
    - rd_kafka_consume_start_queue
    - rd_kafka_err2str
    - rd_kafka_wait_destroyed
    - rd_kafka_conf_set_rebalance_cb
    - strcmp
    - rd_kafka_message_destroy
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_headers_destroy
    - strchr
    - rd_kafka_consume_batch_queue
    - rd_kafka_version_str
    - exit
    - free
    - signal
    - rd_kafka_queue_new
    - strlen
    - RD_KAFKA_OFFSET_TAIL
    - popen
    - strtoll
    - rd_kafka_conf_get_default_topic_conf
    - rd_kafka_last_error
    - do_sleep
    - strerror
    - memcpy
    - wall_clock
    - rd_kafka_topic_partition_list_new
    - fopen
    - rd_kafka_consume_callback_queue
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_conf_set_dr_msg_cb
    - rd_kafka_conf_new
    - rd_kafka_conf_set_error_cb
    - rd_kafka_consume_stop
    - rd_kafka_poll
    - rd_kafka_new
    - realloc
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:63,1
    - Dst: exit
      Src: /src/librdkafka/examples/user_scram.c:64,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/user_scram.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 59
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:72,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/user_scram.c:87,1
    - Dst: va_start
      Src: /src/librdkafka/examples/user_scram.c:93,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/user_scram.c:94,1
    - Dst: va_end
      Src: /src/librdkafka/examples/user_scram.c:95,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:97,1
    - Dst: exit
      Src: /src/librdkafka/examples/user_scram.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 101
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 12
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/user_scram.c:118,1
    - Dst: fatal
      Src: /src/librdkafka/examples/user_scram.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 284
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/user_scram.c:129,1
    - Dst: strlen
      Src: /src/librdkafka/examples/user_scram.c:131,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:132,1
    - Dst: exit
      Src: /src/librdkafka/examples/user_scram.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 3
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/librdkafka/examples/user_scram.c:141,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/user_scram.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: parse_mechanism
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: rd_kafka_ScramMechanism_t
    signature: rd_kafka_ScramMechanism_t parse_mechanism(const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:151,1
    - Dst: rd_kafka_UserScramCredentialsDescription_user
      Src: /src/librdkafka/examples/user_scram.c:159,1
    - Dst: rd_kafka_UserScramCredentialsDescription_error
      Src: /src/librdkafka/examples/user_scram.c:161,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/user_scram.c:162,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:163,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/user_scram.c:164,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/user_scram.c:166,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:167,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
      Src: /src/librdkafka/examples/user_scram.c:170,1
    - Dst: rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
      Src: /src/librdkafka/examples/user_scram.c:175,1
    - Dst: rd_kafka_ScramCredentialInfo_mechanism
      Src: /src/librdkafka/examples/user_scram.c:179,1
    - Dst: rd_kafka_ScramCredentialInfo_iterations
      Src: /src/librdkafka/examples/user_scram.c:181,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:185,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:190,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:195,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:200,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - descriptions
    - description_cnt
    argTypes:
    - rd_kafka_UserScramCredentialsDescription_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 207
    functionName: print_descriptions
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ScramCredentialInfo_iterations
    - printf
    - rd_kafka_ScramCredentialInfo_mechanism
    - rd_kafka_err2str
    - rd_kafka_UserScramCredentialsDescription_user
    - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
    - rd_kafka_error_string
    - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
    - rd_kafka_UserScramCredentialsDescription_error
    - rd_kafka_error_code
    linkageType: ''
    returnType: void
    signature: "void print_descriptions(\n    const rd_kafka_UserScramCredentialsDescription_t
      **descriptions,\n    size_t description_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:213,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_user
      Src: /src/librdkafka/examples/user_scram.c:220,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_response_error
      Src: /src/librdkafka/examples/user_scram.c:223,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/user_scram.c:225,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/user_scram.c:227,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:228,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/user_scram.c:229,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:230,1
    - Dst: printf
      Src: /src/librdkafka/examples/user_scram.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - responses
    - responses_cnt
    argTypes:
    - rd_kafka_AlterUserScramCredentials_result_response_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 235
    functionName: print_alteration_responses
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - printf
    - rd_kafka_err2str
    - rd_kafka_AlterUserScramCredentials_result_response_error
    - rd_kafka_AlterUserScramCredentials_result_response_user
    - rd_kafka_error_string
    - rd_kafka_error_code
    linkageType: ''
    returnType: void
    signature: "void print_alteration_responses(\n    const rd_kafka_AlterUserScramCredentials_result_response_t
      **responses,\n    size_t responses_cnt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/user_scram.c:241,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/user_scram.c:244,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:246,1
    - Dst: rd_kafka_DescribeUserScramCredentials
      Src: /src/librdkafka/examples/user_scram.c:251,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/user_scram.c:253,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/user_scram.c:256,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:259,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/user_scram.c:261,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:263,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/user_scram.c:264,1
    - Dst: rd_kafka_event_DescribeUserScramCredentials_result
      Src: /src/librdkafka/examples/user_scram.c:272,1
    - Dst: rd_kafka_DescribeUserScramCredentials_result_descriptions
      Src: /src/librdkafka/examples/user_scram.c:274,1
    - Dst: print_descriptions
      Src: /src/librdkafka/examples/user_scram.c:276,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/user_scram.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - rk
    - users
    - user_cnt
    argTypes:
    - rd_kafka_t*
    - char**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 237
    functionDepth: 8
    functionLinenumber: 237
    functionLinenumberEnd: 279
    functionName: Describe
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_error_string
    - rd_kafka_AdminOptions_destroy
    - fprintf
    - rd_kafka_DescribeUserScramCredentials
    - rd_kafka_queue_poll
    - rd_kafka_DescribeUserScramCredentials_result_descriptions
    - rd_kafka_AdminOptions_set_request_timeout
    - print_descriptions
    - rd_kafka_event_DescribeUserScramCredentials_result
    - rd_kafka_AdminOptions_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void Describe(rd_kafka_t *rk, const char **users, size_t user_cnt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/user_scram.c:288,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/user_scram.c:291,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:293,1
    - Dst: rd_kafka_AlterUserScramCredentials
      Src: /src/librdkafka/examples/user_scram.c:298,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/user_scram.c:300,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/user_scram.c:303,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:306,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/user_scram.c:308,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:310,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/user_scram.c:311,1
    - Dst: rd_kafka_event_AlterUserScramCredentials_result
      Src: /src/librdkafka/examples/user_scram.c:316,1
    - Dst: rd_kafka_AlterUserScramCredentials_result_responses
      Src: /src/librdkafka/examples/user_scram.c:320,1
    - Dst: print_alteration_responses
      Src: /src/librdkafka/examples/user_scram.c:323,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/user_scram.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - rk
    - alterations
    - alteration_cnt
    argTypes:
    - rd_kafka_t*
    - rd_kafka_UserScramCredentialAlteration_t**
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 8
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: Alter
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - rd_kafka_event_error_string
    - rd_kafka_AdminOptions_destroy
    - fprintf
    - rd_kafka_queue_poll
    - rd_kafka_AlterUserScramCredentials
    - print_alteration_responses
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AlterUserScramCredentials_result_responses
    - rd_kafka_event_destroy
    - rd_kafka_event_error
    - rd_kafka_event_AlterUserScramCredentials_result
    linkageType: ''
    returnType: void
    signature: "void Alter(rd_kafka_t *rk,\n                  rd_kafka_UserScramCredentialAlteration_t
      **alterations,\n                  size_t alteration_cnt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/user_scram.c:345,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/user_scram.c:347,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/user_scram.c:348,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/user_scram.c:349,1
    - Dst: usage
      Src: /src/librdkafka/examples/user_scram.c:356,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/user_scram.c:368,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/user_scram.c:370,1
    - Dst: exit
      Src: /src/librdkafka/examples/user_scram.c:372,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/user_scram.c:377,1
    - Dst: signal
      Src: /src/librdkafka/examples/user_scram.c:380,1
    - Dst: Describe
      Src: /src/librdkafka/examples/user_scram.c:385,1
    - Dst: calloc
      Src: /src/librdkafka/examples/user_scram.c:391,1
    - Dst: parse_mechanism
      Src: /src/librdkafka/examples/user_scram.c:397,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/user_scram.c:399,1
    - Dst: strlen
      Src: /src/librdkafka/examples/user_scram.c:403,1
    - Dst: strlen
      Src: /src/librdkafka/examples/user_scram.c:406,1
    - Dst: rd_kafka_UserScramCredentialUpsertion_new
      Src: /src/librdkafka/examples/user_scram.c:408,1
    - Dst: strlen
      Src: /src/librdkafka/examples/user_scram.c:410,1
    - Dst: Alter
      Src: /src/librdkafka/examples/user_scram.c:413,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/examples/user_scram.c:414,1
    - Dst: free
      Src: /src/librdkafka/examples/user_scram.c:416,1
    - Dst: calloc
      Src: /src/librdkafka/examples/user_scram.c:421,1
    - Dst: parse_mechanism
      Src: /src/librdkafka/examples/user_scram.c:425,1
    - Dst: rd_kafka_UserScramCredentialDeletion_new
      Src: /src/librdkafka/examples/user_scram.c:428,1
    - Dst: Alter
      Src: /src/librdkafka/examples/user_scram.c:431,1
    - Dst: rd_kafka_UserScramCredentialAlteration_destroy_array
      Src: /src/librdkafka/examples/user_scram.c:432,1
    - Dst: free
      Src: /src/librdkafka/examples/user_scram.c:434,1
    - Dst: signal
      Src: /src/librdkafka/examples/user_scram.c:437,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/user_scram.c:440,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/user_scram.c:444,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 328
    functionDepth: 22
    functionLinenumber: 328
    functionLinenumberEnd: 445
    functionName: cmd_user_scram
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 0
    functionsReached:
    - Describe
    - parse_mechanism
    - rd_kafka_queue_destroy
    - usage
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_UserScramCredentialAlteration_destroy_array
    - strcmp
    - strlen
    - Alter
    - rd_kafka_UserScramCredentialDeletion_new
    - exit
    - free
    - calloc
    - rd_kafka_UserScramCredentialUpsertion_new
    - rd_kafka_new
    - rd_kafka_queue_new
    - parse_int
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_user_scram(rd_kafka_conf_t *conf, int argc, const char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/user_scram.c:455,1
    - Dst: getopt
      Src: /src/librdkafka/examples/user_scram.c:461,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/user_scram.c:464,1
    - Dst: strchr
      Src: /src/librdkafka/examples/user_scram.c:470,1
    - Dst: fatal
      Src: /src/librdkafka/examples/user_scram.c:471,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/user_scram.c:476,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/user_scram.c:481,1
    - Dst: usage
      Src: /src/librdkafka/examples/user_scram.c:485,1
    - Dst: cmd_user_scram
      Src: /src/librdkafka/examples/user_scram.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 447
    functionDepth: 23
    functionLinenumber: 447
    functionLinenumberEnd: 491
    functionName: main
    functionSourceFile: /src/librdkafka/examples/user_scram.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - fatal
    - cmd_user_scram
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/consumer.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/librdkafka/examples/consumer.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: is_printable
    functionSourceFile: /src/librdkafka/examples/consumer.c
    functionUses: 1
    functionsReached:
    - isprint
    linkageType: ''
    returnType: int
    signature: int is_printable(const char *buf, size_t size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:90,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/consumer.c:108,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/consumer.c:114,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:116,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/consumer.c:117,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/consumer.c:126,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:128,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/consumer.c:129,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/consumer.c:133,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:135,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/consumer.c:136,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/consumer.c:145,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:147,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/examples/consumer.c:148,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/consumer.c:159,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:161,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/examples/consumer.c:178,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/consumer.c:182,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/consumer.c:184,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/examples/consumer.c:190,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:192,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/consumer.c:193,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/consumer.c:194,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/consumer.c:195,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:199,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/consumer.c:204,1
    - Dst: signal
      Src: /src/librdkafka/examples/consumer.c:208,1
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/examples/consumer.c:219,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:232,1
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/examples/consumer.c:233,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/consumer.c:234,1
    - Dst: printf
      Src: /src/librdkafka/examples/consumer.c:239,1
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/examples/consumer.c:241,1
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/examples/consumer.c:242,1
    - Dst: is_printable
      Src: /src/librdkafka/examples/consumer.c:245,1
    - Dst: printf
      Src: /src/librdkafka/examples/consumer.c:246,1
    - Dst: printf
      Src: /src/librdkafka/examples/consumer.c:249,1
    - Dst: is_printable
      Src: /src/librdkafka/examples/consumer.c:252,1
    - Dst: printf
      Src: /src/librdkafka/examples/consumer.c:253,1
    - Dst: printf
      Src: /src/librdkafka/examples/consumer.c:256,1
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/examples/consumer.c:258,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/consumer.c:263,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/examples/consumer.c:264,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/consumer.c:268,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 73
    functionDepth: 22
    functionLinenumber: 73
    functionLinenumberEnd: 271
    functionName: main
    functionSourceFile: /src/librdkafka/examples/consumer.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_set
    - rd_kafka_topic_partition_list_add
    - rd_kafka_subscribe
    - rd_kafka_message_leader_epoch
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    - rd_kafka_message_destroy
    - rd_kafka_topic_partition_list_new
    - is_printable
    - rd_kafka_consumer_close
    - rd_kafka_consumer_poll
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_topic_name
    - rd_kafka_conf_new
    - printf
    - rd_kafka_poll_set_consumer
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: sigterm
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigterm(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:84,1
    - Dst: strftime
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:85,1
    - Dst: localtime
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:85,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:86,1
    - Dst: GetLocalTime
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:89,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: print_time
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 0
    functionsReached:
    - fprintf
    - gettimeofday
    - strftime
    - GetLocalTime
    - localtime
    linkageType: ''
    returnType: void
    signature: void print_time()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: print_time
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:98,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:100,1
    - Dst: RdKafka::Event::fatal
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:102,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:106,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:106,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:107,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:111,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:115,1
    - Dst: RdKafka::Event::severity
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:115,1
    - Dst: RdKafka::Event::fac
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:115,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:116,1
    - Dst: RdKafka::Event::throttle_time
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:120,1
    - Dst: RdKafka::Event::broker_name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:121,1
    - Dst: RdKafka::Event::broker_id
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:121,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:126,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:127,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:127,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:127,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: ExampleEventCb::event_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::fac
    - fprintf
    - RdKafka::Event::broker_id
    - RdKafka::Event::broker_name
    - RdKafka::Event::severity
    - RdKafka::Event::throttle_time
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - print_time
    - RdKafka::Event::fatal
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:139,1
    - Dst: topic
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:140,1
    - Dst: partition
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: ExampleRebalanceCb::part_list_print
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 0
    functionsReached:
    - topic
    - std::vector<RdKafka::TopicPartition *>::size
    - partition
    linkageType: ''
    returnType: void
    signature: "void part_list_print(\n      const std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:149,1
    - Dst: ExampleRebalanceCb::part_list_print
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:151,1
    - Dst: RdKafka::KafkaConsumer*::rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:157,1
    - Dst: RdKafka::KafkaConsumer*::incremental_assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:158,1
    - Dst: RdKafka::KafkaConsumer*::assign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:160,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:161,1
    - Dst: RdKafka::KafkaConsumer*::rebalance_protocol
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:163,1
    - Dst: RdKafka::KafkaConsumer*::incremental_unassign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:164,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:165,1
    - Dst: RdKafka::KafkaConsumer*::unassign
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:167,1
    - Dst: RdKafka::Error*::str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:174,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - consumer
    - err
    - partitions
    argTypes:
    - RdKafka::KafkaConsumer*
    - RdKafka::ErrorCode
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: ExampleRebalanceCb::rebalance_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Error*::str
    - RdKafka::KafkaConsumer*::rebalance_protocol
    - RdKafka::KafkaConsumer*::incremental_unassign
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::unassign
    - ExampleRebalanceCb::part_list_print
    - RdKafka::KafkaConsumer*::incremental_assign
    - RdKafka::KafkaConsumer*::assign
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: "void rebalance_cb(RdKafka::KafkaConsumer *consumer,\n                    RdKafka::ErrorCode
      err,\n                    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:183,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:190,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:192,1
    - Dst: RdKafka::Message*::timestamp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:194,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:205,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:206,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:209,1
    - Dst: static_cast<int>
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:209,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:209,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:210,1
    - Dst: RdKafka::Message*::payload
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:210,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:225,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:231,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - message
    - opaque
    argTypes:
    - RdKafka::Message*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 234
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - RdKafka::Message*::payload
    - RdKafka::Message*::errstr
    - printf
    - RdKafka::Message*::key
    - RdKafka::Message*::len
    - RdKafka::Message*::err
    - RdKafka::Message*::offset
    - static_cast<const char *>
    - RdKafka::Message*::timestamp
    linkageType: ''
    returnType: void
    signature: void msg_consume(RdKafka::Message *message, void *opaque)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:249,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:252,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:254,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:256,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:259,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:261,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:268,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:271,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:281,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:284,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:290,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:296,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:298,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:304,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:307,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:325,1
    - Dst: std::string
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:325,1
    - Dst: std::vector::empty
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:327,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:329,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:352,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:352,1
    - Dst: RdKafka::get_debug_contexts
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:353,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:354,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:359,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:366,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:373,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:375,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:376,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:378,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:383,1
    - Dst: RdKafka::Conf*::dump
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:387,1
    - Dst: std::list*::begin
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:390,1
    - Dst: std::list*::end
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:391,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:399,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:402,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:403,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:414,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:417,1
    - Dst: RdKafka::KafkaConsumer*::name
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:422,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:428,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:430,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:431,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:432,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:439,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:440,1
    - Dst: alarm
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:445,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:451,1
    - Dst: RdKafka::wait_destroyed
      Src: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp:464,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 236
    functionDepth: 5
    functionLinenumber: 236
    functionLinenumberEnd: 467
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
    functionUses: 18
    functionsReached:
    - std::list*::end
    - std::string::empty
    - RdKafka::get_debug_contexts
    - RdKafka::KafkaConsumer*::consume
    - RdKafka::KafkaConsumer*::name
    - alarm
    - fprintf
    - std::list*::begin
    - std::string
    - RdKafka::Conf*::set
    - strcmp
    - RdKafka::version
    - thrd_create
    - RdKafka::err2str
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - strchr
    - RdKafka::Conf*::get
    - getopt
    - RdKafka::version_str
    - exit
    - std::vector::size
    - msg_consume
    - RdKafka::Conf*::dump
    - std::vector::push_back
    - RdKafka::wait_destroyed
    - signal
    - std::vector::empty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:62,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_topics.c:63,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/describe_topics.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 59
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:73,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/describe_topics.c:85,1
    - Dst: va_start
      Src: /src/librdkafka/examples/describe_topics.c:91,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/describe_topics.c:92,1
    - Dst: va_end
      Src: /src/librdkafka/examples/describe_topics.c:93,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:95,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_topics.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 14
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/describe_topics.c:117,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_topics.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 287
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/librdkafka/examples/describe_topics.c:128,1
    - Dst: strlen
      Src: /src/librdkafka/examples/describe_topics.c:130,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:131,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_topics.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 4
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtol
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:144,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:148,1
    - Dst: rd_kafka_Node_id
      Src: /src/librdkafka/examples/describe_topics.c:151,1
    - Dst: rd_kafka_Node_host
      Src: /src/librdkafka/examples/describe_topics.c:151,1
    - Dst: rd_kafka_Node_port
      Src: /src/librdkafka/examples/describe_topics.c:152,1
    - Dst: rd_kafka_Node_rack
      Src: /src/librdkafka/examples/describe_topics.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - node
    argTypes:
    - rd_kafka_Node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: print_node_info
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 0
    functionsReached:
    - printf
    - rd_kafka_Node_id
    - rd_kafka_Node_port
    - rd_kafka_Node_host
    - rd_kafka_Node_rack
    linkageType: ''
    returnType: void
    signature: void print_node_info(const rd_kafka_Node_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_TopicPartitionInfo_partition
      Src: /src/librdkafka/examples/describe_topics.c:167,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:168,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:170,1
    - Dst: print_node_info
      Src: /src/librdkafka/examples/describe_topics.c:171,1
    - Dst: rd_kafka_TopicPartitionInfo_leader
      Src: /src/librdkafka/examples/describe_topics.c:171,1
    - Dst: rd_kafka_TopicPartitionInfo_isr
      Src: /src/librdkafka/examples/describe_topics.c:173,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:175,1
    - Dst: print_node_info
      Src: /src/librdkafka/examples/describe_topics.c:180,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:182,1
    - Dst: rd_kafka_TopicPartitionInfo_isr
      Src: /src/librdkafka/examples/describe_topics.c:184,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:186,1
    - Dst: print_node_info
      Src: /src/librdkafka/examples/describe_topics.c:191,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - partition
    argTypes:
    - rd_kafka_TopicPartitionInfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: print_partition_info
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 0
    functionsReached:
    - printf
    - rd_kafka_TopicPartitionInfo_isr
    - rd_kafka_TopicPartitionInfo_leader
    - rd_kafka_TopicPartitionInfo_partition
    - print_node_info
    linkageType: ''
    returnType: void
    signature: void print_partition_info(const rd_kafka_TopicPartitionInfo_t *partition)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_TopicDescription_name
      Src: /src/librdkafka/examples/describe_topics.c:201,1
    - Dst: rd_kafka_TopicDescription_error
      Src: /src/librdkafka/examples/describe_topics.c:202,1
    - Dst: rd_kafka_TopicDescription_topic_id
      Src: /src/librdkafka/examples/describe_topics.c:208,1
    - Dst: rd_kafka_Uuid_base64str
      Src: /src/librdkafka/examples/describe_topics.c:209,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/describe_topics.c:211,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:212,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/describe_topics.c:213,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/describe_topics.c:214,1
    - Dst: rd_kafka_TopicDescription_authorized_operations
      Src: /src/librdkafka/examples/describe_topics.c:218,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:221,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:227,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/examples/describe_topics.c:228,1
    - Dst: rd_kafka_TopicDescription_partitions
      Src: /src/librdkafka/examples/describe_topics.c:232,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:234,1
    - Dst: print_partition_info
      Src: /src/librdkafka/examples/describe_topics.c:236,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - topic
    argTypes:
    - rd_kafka_TopicDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 239
    functionName: print_topic_info
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 0
    functionsReached:
    - rd_kafka_TopicDescription_topic_id
    - printf
    - rd_kafka_TopicDescription_authorized_operations
    - rd_kafka_Uuid_base64str
    - rd_kafka_TopicDescription_name
    - rd_kafka_AclOperation_name
    - rd_kafka_error_string
    - rd_kafka_error_code
    - rd_kafka_TopicDescription_partitions
    - print_partition_info
    - rd_kafka_TopicDescription_error
    linkageType: ''
    returnType: void
    signature: void print_topic_info(const rd_kafka_TopicDescription_t *topic)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeTopics_result_topics
      Src: /src/librdkafka/examples/describe_topics.c:250,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:255,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:258,1
    - Dst: print_topic_info
      Src: /src/librdkafka/examples/describe_topics.c:263,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - topicdesc
    - topic_cnt
    argTypes:
    - rd_kafka_DescribeTopics_result_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 245
    functionDepth: 4
    functionLinenumber: 245
    functionLinenumberEnd: 267
    functionName: print_topics_info
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 0
    functionsReached:
    - fprintf
    - print_topic_info
    - printf
    - rd_kafka_DescribeTopics_result_topics
    linkageType: ''
    returnType: int
    signature: "int print_topics_info(const rd_kafka_DescribeTopics_result_t *topicdesc,\n
      \                            int topic_cnt)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/describe_topics.c:288,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/describe_topics.c:291,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_topics.c:294,1
    - Dst: rd_kafka_TopicCollection_of_topic_names
      Src: /src/librdkafka/examples/describe_topics.c:299,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/describe_topics.c:307,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_topics.c:309,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/describe_topics.c:311,1
    - Dst: signal
      Src: /src/librdkafka/examples/describe_topics.c:314,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/describe_topics.c:317,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/describe_topics.c:319,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:321,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/examples/describe_topics.c:324,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:326,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/describe_topics.c:329,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/describe_topics.c:330,1
    - Dst: rd_kafka_DescribeTopics
      Src: /src/librdkafka/examples/describe_topics.c:336,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/describe_topics.c:339,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:346,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_topics.c:348,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_topics.c:349,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_topics.c:351,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/describe_topics.c:352,1
    - Dst: rd_kafka_event_DescribeTopics_result
      Src: /src/librdkafka/examples/describe_topics.c:361,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_topics.c:362,1
    - Dst: print_topics_info
      Src: /src/librdkafka/examples/describe_topics.c:363,1
    - Dst: rd_kafka_TopicCollection_destroy
      Src: /src/librdkafka/examples/describe_topics.c:370,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/describe_topics.c:372,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/describe_topics.c:374,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/describe_topics.c:376,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/describe_topics.c:378,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_topics.c:380,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 274
    functionDepth: 22
    functionLinenumber: 274
    functionLinenumberEnd: 381
    functionName: cmd_describe_topics
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - print_topics_info
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_DescribeTopics
    - rd_kafka_event_DescribeTopics_result
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_TopicCollection_of_topic_names
    - rd_kafka_TopicCollection_destroy
    - exit
    - printf
    - rd_kafka_error_string
    - rd_kafka_new
    - rd_kafka_queue_new
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_describe_topics(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/describe_topics.c:392,1
    - Dst: getopt
      Src: /src/librdkafka/examples/describe_topics.c:397,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_topics.c:400,1
    - Dst: strchr
      Src: /src/librdkafka/examples/describe_topics.c:406,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_topics.c:407,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_topics.c:412,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_topics.c:417,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_topics.c:421,1
    - Dst: cmd_describe_topics
      Src: /src/librdkafka/examples/describe_topics.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 384
    functionDepth: 23
    functionLinenumber: 384
    functionLinenumberEnd: 427
    functionName: main
    functionSourceFile: /src/librdkafka/examples/describe_topics.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - fatal
    - strchr
    - usage
    - getopt
    - cmd_describe_topics
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:59,1
    - Dst: RdKafka::Metadata*::orig_broker_id
      Src: /src/librdkafka/examples/rdkafka_example.cpp:60,1
    - Dst: RdKafka::Metadata*::orig_broker_name
      Src: /src/librdkafka/examples/rdkafka_example.cpp:61,1
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/rdkafka_example.cpp:64,1
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/rdkafka_example.cpp:66,1
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/rdkafka_example.cpp:66,1
    - Dst: id
      Src: /src/librdkafka/examples/rdkafka_example.cpp:68,1
    - Dst: host
      Src: /src/librdkafka/examples/rdkafka_example.cpp:68,1
    - Dst: port
      Src: /src/librdkafka/examples/rdkafka_example.cpp:69,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/rdkafka_example.cpp:72,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/rdkafka_example.cpp:74,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/rdkafka_example.cpp:74,1
    - Dst: topic
      Src: /src/librdkafka/examples/rdkafka_example.cpp:76,1
    - Dst: partitions
      Src: /src/librdkafka/examples/rdkafka_example.cpp:77,1
    - Dst: err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:79,1
    - Dst: err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:80,1
    - Dst: err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:80,1
    - Dst: err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:81,1
    - Dst: partitions
      Src: /src/librdkafka/examples/rdkafka_example.cpp:88,1
    - Dst: partitions
      Src: /src/librdkafka/examples/rdkafka_example.cpp:88,1
    - Dst: id
      Src: /src/librdkafka/examples/rdkafka_example.cpp:90,1
    - Dst: leader
      Src: /src/librdkafka/examples/rdkafka_example.cpp:91,1
    - Dst: replicas
      Src: /src/librdkafka/examples/rdkafka_example.cpp:95,1
    - Dst: replicas
      Src: /src/librdkafka/examples/rdkafka_example.cpp:95,1
    - Dst: replicas
      Src: /src/librdkafka/examples/rdkafka_example.cpp:97,1
    - Dst: isrs
      Src: /src/librdkafka/examples/rdkafka_example.cpp:103,1
    - Dst: isrs
      Src: /src/librdkafka/examples/rdkafka_example.cpp:103,1
    - Dst: isrs
      Src: /src/librdkafka/examples/rdkafka_example.cpp:104,1
    - Dst: err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:106,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:107,1
    - Dst: err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - topic
    - metadata
    argTypes:
    - std::string
    - RdKafka::Metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 112
    functionName: metadata_print
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 1
    functionsReached:
    - err2str
    - topic
    - isrs
    - host
    - RdKafka::Metadata*::topics
    - leader
    - replicas
    - RdKafka::err2str
    - RdKafka::Metadata*::orig_broker_name
    - port
    - RdKafka::Metadata*::brokers
    - std::string::empty
    - id
    - RdKafka::Metadata*::orig_broker_id
    - partitions
    - err
    linkageType: ''
    returnType: void
    signature: "void metadata_print(const std::string &topic,\n                           const
      RdKafka::Metadata *metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: sigterm
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigterm(int sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message::status
      Src: /src/librdkafka/examples/rdkafka_example.cpp:126,1
    - Dst: RdKafka::Message::len
      Src: /src/librdkafka/examples/rdkafka_example.cpp:140,1
    - Dst: RdKafka::Message::errstr
      Src: /src/librdkafka/examples/rdkafka_example.cpp:141,1
    - Dst: RdKafka::Message::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:143,1
    - Dst: RdKafka::Message::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - message
    argTypes:
    - RdKafka::Message
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: ExampleDeliveryReportCb::dr_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Message::status
    - RdKafka::Message::key
    - RdKafka::Message::errstr
    - RdKafka::Message::len
    linkageType: ''
    returnType: void
    signature: void dr_cb(RdKafka::Message &message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/rdkafka_example.cpp:152,1
    - Dst: RdKafka::Event::fatal
      Src: /src/librdkafka/examples/rdkafka_example.cpp:154,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:158,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:158,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:159,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:163,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.cpp:167,1
    - Dst: RdKafka::Event::severity
      Src: /src/librdkafka/examples/rdkafka_example.cpp:167,1
    - Dst: RdKafka::Event::fac
      Src: /src/librdkafka/examples/rdkafka_example.cpp:167,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:168,1
    - Dst: RdKafka::Event::type
      Src: /src/librdkafka/examples/rdkafka_example.cpp:172,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:173,1
    - Dst: RdKafka::Event::err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:173,1
    - Dst: RdKafka::Event::str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - event
    argTypes:
    - RdKafka::Event
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 177
    functionName: ExampleEventCb::event_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Event::type
    - RdKafka::Event::fac
    - fprintf
    - RdKafka::Event::severity
    - RdKafka::Event::str
    - RdKafka::err2str
    - RdKafka::Event::err
    - RdKafka::Event::fatal
    linkageType: ''
    returnType: void
    signature: void event_cb(RdKafka::Event &event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MyHashPartitionerCb::djb_hash
      Src: /src/librdkafka/examples/rdkafka_example.cpp:189,1
    - Dst: std::string*::c_str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:189,1
    - Dst: std::string*::size
      Src: /src/librdkafka/examples/rdkafka_example.cpp:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topic
    - key
    - partition_cnt
    - msg_opaque
    argTypes:
    - RdKafka::Topic*
    - std::string*
    - int32_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: MyHashPartitionerCb::partitioner_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 0
    functionsReached:
    - MyHashPartitionerCb::djb_hash
    - std::string*::size
    - std::string*::c_str
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitioner_cb(const RdKafka::Topic *topic,\n                         const
      std::string *key,\n                         int32_t partition_cnt,\n                         void
      *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: MyHashPartitionerCb::djb_hash
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int djb_hash(const char *str, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/examples/rdkafka_example.cpp:204,1
    - Dst: RdKafka::Message*::offset
      Src: /src/librdkafka/examples/rdkafka_example.cpp:210,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:211,1
    - Dst: RdKafka::Message*::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:212,1
    - Dst: RdKafka::Message*::headers
      Src: /src/librdkafka/examples/rdkafka_example.cpp:214,1
    - Dst: RdKafka::Headers*::get_all
      Src: /src/librdkafka/examples/rdkafka_example.cpp:216,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/rdkafka_example.cpp:217,1
    - Dst: RdKafka::Headers::Header::value
      Src: /src/librdkafka/examples/rdkafka_example.cpp:220,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.cpp:221,1
    - Dst: RdKafka::Headers::Header::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:221,1
    - Dst: RdKafka::Headers::Header::value_size
      Src: /src/librdkafka/examples/rdkafka_example.cpp:222,1
    - Dst: RdKafka::Headers::Header::value
      Src: /src/librdkafka/examples/rdkafka_example.cpp:222,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.cpp:224,1
    - Dst: RdKafka::Headers::Header::key
      Src: /src/librdkafka/examples/rdkafka_example.cpp:224,1
    - Dst: printf
      Src: /src/librdkafka/examples/rdkafka_example.cpp:227,1
    - Dst: static_cast<int>
      Src: /src/librdkafka/examples/rdkafka_example.cpp:227,1
    - Dst: RdKafka::Message*::len
      Src: /src/librdkafka/examples/rdkafka_example.cpp:227,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/examples/rdkafka_example.cpp:228,1
    - Dst: RdKafka::Message*::payload
      Src: /src/librdkafka/examples/rdkafka_example.cpp:228,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/rdkafka_example.cpp:240,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/rdkafka_example.cpp:246,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - message
    - opaque
    argTypes:
    - RdKafka::Message*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 249
    functionName: msg_consume
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - RdKafka::Message*::payload
    - RdKafka::Message*::errstr
    - printf
    - RdKafka::Message*::key
    - std::vector::size
    - RdKafka::Message*::err
    - RdKafka::Message*::len
    - RdKafka::Headers::Header::key
    - RdKafka::Headers*::get_all
    - RdKafka::Headers::Header::value
    - RdKafka::Message*::offset
    - RdKafka::Message*::headers
    - RdKafka::Headers::Header::value_size
    - static_cast<const char *>
    linkageType: ''
    returnType: void
    signature: void msg_consume(RdKafka::Message *message, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_example.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - RdKafka::Message
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: ExampleConsumeCb::consume_cb
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 0
    functionsReached:
    - msg_consume
    linkageType: ''
    returnType: void
    signature: void consume_cb(RdKafka::Message &msg, void *opaque)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:277,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:278,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_example.cpp:281,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:292,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:294,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:295,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:298,1
    - Dst: std::atoi
      Src: /src/librdkafka/examples/rdkafka_example.cpp:301,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:307,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:310,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:314,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:316,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:318,1
    - Dst: strtoll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:321,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:330,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:333,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:339,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_example.cpp:345,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:347,1
    - Dst: strncmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:357,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.cpp:357,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:358,1
    - Dst: strlen
      Src: /src/librdkafka/examples/rdkafka_example.cpp:358,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:360,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:364,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/rdkafka_example.cpp:369,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:373,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:382,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:382,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/examples/rdkafka_example.cpp:385,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_example.cpp:386,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:424,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/rdkafka_example.cpp:424,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:425,1
    - Dst: RdKafka::get_debug_contexts
      Src: /src/librdkafka/examples/rdkafka_example.cpp:425,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:426,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:433,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:435,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:436,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:438,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:443,1
    - Dst: RdKafka::Conf*::dump
      Src: /src/librdkafka/examples/rdkafka_example.cpp:451,1
    - Dst: RdKafka::Conf*::dump
      Src: /src/librdkafka/examples/rdkafka_example.cpp:454,1
    - Dst: std::list*::begin
      Src: /src/librdkafka/examples/rdkafka_example.cpp:458,1
    - Dst: std::list*::end
      Src: /src/librdkafka/examples/rdkafka_example.cpp:459,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:467,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_example.cpp:470,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_example.cpp:471,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:479,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:485,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:487,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:492,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:495,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/examples/rdkafka_example.cpp:498,1
    - Dst: std::getline
      Src: /src/librdkafka/examples/rdkafka_example.cpp:504,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:505,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:506,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:510,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/examples/rdkafka_example.cpp:511,1
    - Dst: RdKafka::Headers*::add
      Src: /src/librdkafka/examples/rdkafka_example.cpp:512,1
    - Dst: RdKafka::Producer*::produce
      Src: /src/librdkafka/examples/rdkafka_example.cpp:518,1
    - Dst: const_cast<char *>
      Src: /src/librdkafka/examples/rdkafka_example.cpp:521,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:521,1
    - Dst: std::string::size
      Src: /src/librdkafka/examples/rdkafka_example.cpp:521,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:532,1
    - Dst: std::string::size
      Src: /src/librdkafka/examples/rdkafka_example.cpp:537,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:541,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/rdkafka_example.cpp:545,1
    - Dst: RdKafka::Producer*::outq_len
      Src: /src/librdkafka/examples/rdkafka_example.cpp:546,1
    - Dst: RdKafka::Producer*::poll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:547,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_example.cpp:558,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:560,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:566,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:569,1
    - Dst: RdKafka::Consumer*::name
      Src: /src/librdkafka/examples/rdkafka_example.cpp:572,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:578,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:581,1
    - Dst: RdKafka::Consumer*::start
      Src: /src/librdkafka/examples/rdkafka_example.cpp:587,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:589,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:591,1
    - Dst: RdKafka::Consumer*::consume_callback
      Src: /src/librdkafka/examples/rdkafka_example.cpp:601,1
    - Dst: RdKafka::Consumer*::consume
      Src: /src/librdkafka/examples/rdkafka_example.cpp:604,1
    - Dst: msg_consume
      Src: /src/librdkafka/examples/rdkafka_example.cpp:605,1
    - Dst: RdKafka::Consumer*::poll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:608,1
    - Dst: RdKafka::Consumer*::stop
      Src: /src/librdkafka/examples/rdkafka_example.cpp:614,1
    - Dst: RdKafka::Consumer*::poll
      Src: /src/librdkafka/examples/rdkafka_example.cpp:616,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:626,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:629,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/examples/rdkafka_example.cpp:632,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/rdkafka_example.cpp:638,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_example.cpp:639,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_example.cpp:642,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/examples/rdkafka_example.cpp:651,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_example.cpp:653,1
    - Dst: metadata_print
      Src: /src/librdkafka/examples/rdkafka_example.cpp:659,1
    - Dst: RdKafka::wait_destroyed
      Src: /src/librdkafka/examples/rdkafka_example.cpp:676,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 213
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 261
    functionDepth: 5
    functionLinenumber: 261
    functionLinenumberEnd: 679
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_example.cpp
    functionUses: 18
    functionsReached:
    - strtoll
    - std::getline
    - std::list*::end
    - std::string::empty
    - RdKafka::get_debug_contexts
    - RdKafka::Producer*::poll
    - fprintf
    - RdKafka::Producer*::name
    - std::atoi
    - std::list*::begin
    - RdKafka::Consumer*::poll
    - RdKafka::Consumer*::start
    - RdKafka::Conf*::set
    - strcmp
    - RdKafka::Headers*::add
    - RdKafka::version
    - std::string::c_str
    - thrd_create
    - RdKafka::err2str
    - RdKafka::Consumer*::name
    - RdKafka::Producer*::metadata
    - strchr
    - RdKafka::Conf*::get
    - getopt
    - RdKafka::version_str
    - exit
    - RdKafka::Consumer*::consume_callback
    - RdKafka::Producer*::produce
    - const_cast<char *>
    - RdKafka::Producer*::outq_len
    - msg_consume
    - RdKafka::Conf*::dump
    - RdKafka::Consumer*::consume
    - RdKafka::Consumer*::stop
    - RdKafka::wait_destroyed
    - strncmp
    - strlen
    - metadata_print
    - std::string::size
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:56,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:60,1
    - Dst: RdKafka::Metadata*::topics
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:60,1
    - Dst: topic
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:61,1
    - Dst: partitions
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - RdKafka::Metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: metadata_print
    functionSourceFile: /src/librdkafka/examples/openssl_engine_example.cpp
    functionUses: 2
    functionsReached:
    - partitions
    - topic
    - RdKafka::Metadata*::topics
    linkageType: ''
    returnType: void
    signature: void metadata_print(const RdKafka::Metadata *metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - broker_name
    - broker_id
    - x509_error
    - depth
    - buf
    - size
    - errstr
    argTypes:
    - std::string
    - int32_t
    - int*
    - int
    - char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: PrintingSSLVerifyCb::ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/examples/openssl_engine_example.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cert_verify_cb(const std::string &broker_name,\n                          int32_t
      broker_id,\n                          int *x509_error,\n                          int
      depth,\n                          const char *buf,\n                          size_t
      size,\n                          std::string &errstr)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:95,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:100,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:102,1
    - Dst: getopt
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:105,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:123,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:125,1
    - Dst: strchr
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:132,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:134,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:140,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:142,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:151,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:151,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:154,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:155,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:174,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:174,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:175,1
    - Dst: RdKafka::get_debug_contexts
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:175,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:176,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:179,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:182,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:185,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:188,1
    - Dst: std::string::length
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:191,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:191,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:194,1
    - Dst: std::string::length
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:197,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:198,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:200,1
    - Dst: std::string::length
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:205,1
    - Dst: RdKafka::Conf*::set_engine_callback_data
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:206,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:206,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:209,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:216,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:219,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:225,1
    - Dst: exit
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:228,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:231,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:236,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:238,1
    - Dst: metadata_print
      Src: /src/librdkafka/examples/openssl_engine_example.cpp:241,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 86
    functionDepth: 5
    functionLinenumber: 86
    functionLinenumberEnd: 248
    functionName: main
    functionSourceFile: /src/librdkafka/examples/openssl_engine_example.cpp
    functionUses: 18
    functionsReached:
    - exit
    - fprintf
    - RdKafka::get_debug_contexts
    - RdKafka::Producer*::name
    - RdKafka::Conf*::set
    - RdKafka::version
    - std::string::c_str
    - thrd_create
    - RdKafka::Producer*::metadata
    - RdKafka::Conf*::set_engine_callback_data
    - RdKafka::err2str
    - strchr
    - std::string::length
    - std::string::empty
    - RdKafka::Conf*::get
    - getopt
    - metadata_print
    - RdKafka::version_str
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: sigterm
    functionSourceFile: /src/librdkafka/examples/rdkafka_consume_batch.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sigterm(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: now
    functionSourceFile: /src/librdkafka/examples/rdkafka_consume_batch.cpp
    functionUses: 14
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: int64_t now()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::reserve
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:101,1
    - Dst: now
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:103,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:106,1
    - Dst: RdKafka::KafkaConsumer*::consume
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:107,1
    - Dst: RdKafka::Message*::err
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:109,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:115,1
    - Dst: RdKafka::Message*::errstr
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:119,1
    - Dst: now
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - consumer
    - batch_size
    - batch_tmout
    argTypes:
    - RdKafka::KafkaConsumer*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: consume_batch
    functionSourceFile: /src/librdkafka/examples/rdkafka_consume_batch.cpp
    functionUses: 4
    functionsReached:
    - RdKafka::Message*::errstr
    - std::vector::size
    - RdKafka::Message*::err
    - std::vector::reserve
    - std::vector::push_back
    - now
    - RdKafka::KafkaConsumer*::consume
    linkageType: ''
    returnType: std::vector<RdKafka::Message *>
    signature: "std::vector<RdKafka::Message *> consume_batch(\n    RdKafka::KafkaConsumer
      *consumer,\n    size_t batch_size,\n    int batch_tmout)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:142,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:144,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:147,1
    - Dst: getopt
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:152,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:155,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:157,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:162,1
    - Dst: atoi
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:166,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:170,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:173,1
    - Dst: strchr
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:181,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:183,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:189,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:191,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:202,1
    - Dst: std::string
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:202,1
    - Dst: std::vector::empty
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:204,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:206,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:220,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:220,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:221,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:225,1
    - Dst: signal
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:226,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:230,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:233,1
    - Dst: RdKafka::KafkaConsumer*::subscribe
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:239,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:241,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:242,1
    - Dst: exit
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:243,1
    - Dst: consume_batch
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:248,1
    - Dst: auto::size
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:249,1
    - Dst: topic_name
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:252,1
    - Dst: partition
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:253,1
    - Dst: offset
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:253,1
    - Dst: RdKafka::KafkaConsumer*::close
      Src: /src/librdkafka/examples/rdkafka_consume_batch.cpp:260,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 134
    functionDepth: 5
    functionLinenumber: 134
    functionLinenumberEnd: 264
    functionName: main
    functionSourceFile: /src/librdkafka/examples/rdkafka_consume_batch.cpp
    functionUses: 18
    functionsReached:
    - fprintf
    - atoi
    - std::string
    - consume_batch
    - topic_name
    - RdKafka::Conf*::set
    - auto::size
    - RdKafka::version
    - thrd_create
    - RdKafka::err2str
    - partition
    - offset
    - RdKafka::KafkaConsumer*::close
    - RdKafka::KafkaConsumer*::subscribe
    - strchr
    - getopt
    - RdKafka::version_str
    - exit
    - std::vector::size
    - std::vector::push_back
    - signal
    - std::vector::empty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:62,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_cluster.c:63,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/describe_cluster.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:74,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/describe_cluster.c:85,1
    - Dst: va_start
      Src: /src/librdkafka/examples/describe_cluster.c:91,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/describe_cluster.c:92,1
    - Dst: va_end
      Src: /src/librdkafka/examples/describe_cluster.c:93,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:95,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_cluster.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 16
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/describe_cluster.c:117,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_cluster.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 289
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/librdkafka/examples/describe_cluster.c:127,1
    - Dst: strlen
      Src: /src/librdkafka/examples/describe_cluster.c:129,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:130,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_cluster.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 5
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtol
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeCluster_result_cluster_id
      Src: /src/librdkafka/examples/describe_cluster.c:148,1
    - Dst: rd_kafka_DescribeCluster_result_nodes
      Src: /src/librdkafka/examples/describe_cluster.c:150,1
    - Dst: rd_kafka_DescribeCluster_result_authorized_operations
      Src: /src/librdkafka/examples/describe_cluster.c:152,1
    - Dst: rd_kafka_DescribeCluster_result_controller
      Src: /src/librdkafka/examples/describe_cluster.c:155,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_cluster.c:157,1
    - Dst: rd_kafka_Node_id
      Src: /src/librdkafka/examples/describe_cluster.c:160,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_cluster.c:164,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/examples/describe_cluster.c:165,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_cluster.c:170,1
    - Dst: rd_kafka_Node_id
      Src: /src/librdkafka/examples/describe_cluster.c:173,1
    - Dst: rd_kafka_Node_host
      Src: /src/librdkafka/examples/describe_cluster.c:173,1
    - Dst: rd_kafka_Node_port
      Src: /src/librdkafka/examples/describe_cluster.c:174,1
    - Dst: rd_kafka_Node_rack
      Src: /src/librdkafka/examples/describe_cluster.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - clusterdesc
    argTypes:
    - rd_kafka_DescribeCluster_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 177
    functionName: print_cluster_info
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 0
    functionsReached:
    - rd_kafka_Node_rack
    - printf
    - rd_kafka_Node_id
    - rd_kafka_DescribeCluster_result_cluster_id
    - rd_kafka_DescribeCluster_result_nodes
    - rd_kafka_AclOperation_name
    - rd_kafka_Node_port
    - rd_kafka_DescribeCluster_result_authorized_operations
    - rd_kafka_Node_host
    - rd_kafka_DescribeCluster_result_controller
    linkageType: ''
    returnType: int
    signature: int print_cluster_info(const rd_kafka_DescribeCluster_result_t *clusterdesc)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/describe_cluster.c:193,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/describe_cluster.c:196,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_cluster.c:199,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/describe_cluster.c:207,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_cluster.c:209,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/describe_cluster.c:211,1
    - Dst: signal
      Src: /src/librdkafka/examples/describe_cluster.c:214,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/describe_cluster.c:217,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/describe_cluster.c:219,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:221,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/examples/describe_cluster.c:225,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:227,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/describe_cluster.c:230,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/describe_cluster.c:231,1
    - Dst: rd_kafka_DescribeCluster
      Src: /src/librdkafka/examples/describe_cluster.c:237,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/describe_cluster.c:240,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:247,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_cluster.c:249,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_cluster.c:250,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_cluster.c:252,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/describe_cluster.c:253,1
    - Dst: rd_kafka_event_DescribeCluster_result
      Src: /src/librdkafka/examples/describe_cluster.c:259,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_cluster.c:260,1
    - Dst: print_cluster_info
      Src: /src/librdkafka/examples/describe_cluster.c:261,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/describe_cluster.c:268,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/describe_cluster.c:270,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/describe_cluster.c:272,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/describe_cluster.c:274,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_cluster.c:276,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 183
    functionDepth: 22
    functionLinenumber: 183
    functionLinenumberEnd: 277
    functionName: cmd_describe_cluster
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_DescribeCluster
    - print_cluster_info
    - exit
    - printf
    - rd_kafka_error_string
    - rd_kafka_new
    - rd_kafka_queue_new
    - rd_kafka_event_DescribeCluster_result
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_describe_cluster(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/describe_cluster.c:287,1
    - Dst: getopt
      Src: /src/librdkafka/examples/describe_cluster.c:292,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_cluster.c:295,1
    - Dst: strchr
      Src: /src/librdkafka/examples/describe_cluster.c:301,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_cluster.c:302,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_cluster.c:307,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_cluster.c:312,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_cluster.c:316,1
    - Dst: cmd_describe_cluster
      Src: /src/librdkafka/examples/describe_cluster.c:320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 279
    functionDepth: 23
    functionLinenumber: 279
    functionLinenumberEnd: 322
    functionName: main
    functionSourceFile: /src/librdkafka/examples/describe_cluster.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - cmd_describe_cluster
    - conf_set
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:63,1
    - Dst: exit
      Src: /src/librdkafka/examples/incremental_alter_configs.c:64,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/incremental_alter_configs.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:73,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/incremental_alter_configs.c:85,1
    - Dst: va_start
      Src: /src/librdkafka/examples/incremental_alter_configs.c:91,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:92,1
    - Dst: va_end
      Src: /src/librdkafka/examples/incremental_alter_configs.c:93,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:95,1
    - Dst: exit
      Src: /src/librdkafka/examples/incremental_alter_configs.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 18
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 109
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/incremental_alter_configs.c:117,1
    - Dst: fatal
      Src: /src/librdkafka/examples/incremental_alter_configs.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 120
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 291
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_IncrementalAlterConfigs_result_resources
      Src: /src/librdkafka/examples/incremental_alter_configs.c:131,1
    - Dst: rd_kafka_ConfigResource_name
      Src: /src/librdkafka/examples/incremental_alter_configs.c:137,1
    - Dst: rd_kafka_ConfigResource_type
      Src: /src/librdkafka/examples/incremental_alter_configs.c:139,1
    - Dst: rd_kafka_ConfigResource_error
      Src: /src/librdkafka/examples/incremental_alter_configs.c:140,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:142,1
    - Dst: rd_kafka_ResourceType_name
      Src: /src/librdkafka/examples/incremental_alter_configs.c:143,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/incremental_alter_configs.c:144,1
    - Dst: rd_kafka_ConfigResource_error_string
      Src: /src/librdkafka/examples/incremental_alter_configs.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fp
    - result
    - prefix
    argTypes:
    - FILE*
    - rd_kafka_IncrementalAlterConfigs_result_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 3
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: print_alter_configs_result
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_ConfigResource_type
    - rd_kafka_err2str
    - rd_kafka_ConfigResource_name
    - rd_kafka_ConfigResource_error
    - rd_kafka_ResourceType_name
    - rd_kafka_ConfigResource_error_string
    - rd_kafka_IncrementalAlterConfigs_result_resources
    linkageType: ''
    returnType: void
    signature: "void print_alter_configs_result(\n    FILE *fp,\n    const rd_kafka_IncrementalAlterConfigs_result_t
      *result,\n    const char *prefix)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/incremental_alter_configs.c:171,1
    - Dst: calloc
      Src: /src/librdkafka/examples/incremental_alter_configs.c:175,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:186,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:187,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:188,1
    - Dst: usage
      Src: /src/librdkafka/examples/incremental_alter_configs.c:192,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:197,1
    - Dst: rd_kafka_ConfigResource_new
      Src: /src/librdkafka/examples/incremental_alter_configs.c:199,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:206,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:208,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:210,1
    - Dst: strcmp
      Src: /src/librdkafka/examples/incremental_alter_configs.c:212,1
    - Dst: usage
      Src: /src/librdkafka/examples/incremental_alter_configs.c:215,1
    - Dst: rd_kafka_ConfigResource_add_incremental_config
      Src: /src/librdkafka/examples/incremental_alter_configs.c:219,1
    - Dst: usage
      Src: /src/librdkafka/examples/incremental_alter_configs.c:223,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/incremental_alter_configs.c:226,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/incremental_alter_configs.c:236,1
    - Dst: fatal
      Src: /src/librdkafka/examples/incremental_alter_configs.c:238,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/incremental_alter_configs.c:243,1
    - Dst: signal
      Src: /src/librdkafka/examples/incremental_alter_configs.c:246,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/incremental_alter_configs.c:248,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/incremental_alter_configs.c:251,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:253,1
    - Dst: rd_kafka_IncrementalAlterConfigs
      Src: /src/librdkafka/examples/incremental_alter_configs.c:257,1
    - Dst: rd_kafka_ConfigResource_destroy_array
      Src: /src/librdkafka/examples/incremental_alter_configs.c:260,1
    - Dst: free
      Src: /src/librdkafka/examples/incremental_alter_configs.c:261,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/incremental_alter_configs.c:264,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:271,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/incremental_alter_configs.c:273,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/incremental_alter_configs.c:274,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:276,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/incremental_alter_configs.c:277,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/incremental_alter_configs.c:278,1
    - Dst: rd_kafka_event_IncrementalAlterConfigs_result
      Src: /src/librdkafka/examples/incremental_alter_configs.c:285,1
    - Dst: printf
      Src: /src/librdkafka/examples/incremental_alter_configs.c:286,1
    - Dst: print_alter_configs_result
      Src: /src/librdkafka/examples/incremental_alter_configs.c:287,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/incremental_alter_configs.c:293,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/incremental_alter_configs.c:294,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/incremental_alter_configs.c:295,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/incremental_alter_configs.c:297,1
    - Dst: exit
      Src: /src/librdkafka/examples/incremental_alter_configs.c:299,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 154
    functionDepth: 22
    functionLinenumber: 154
    functionLinenumberEnd: 300
    functionName: cmd_incremental_alter_configs
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_IncrementalAlterConfigs
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - print_alter_configs_result
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_event_IncrementalAlterConfigs_result
    - rd_kafka_err2str
    - rd_kafka_ConfigResource_add_incremental_config
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - strcmp
    - rd_kafka_ConfigResource_destroy_array
    - exit
    - free
    - calloc
    - printf
    - rd_kafka_error_string
    - rd_kafka_ConfigResource_new
    - rd_kafka_new
    - rd_kafka_queue_new
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_incremental_alter_configs(rd_kafka_conf_t *conf, int argc,
      char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/incremental_alter_configs.c:310,1
    - Dst: getopt
      Src: /src/librdkafka/examples/incremental_alter_configs.c:316,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/incremental_alter_configs.c:319,1
    - Dst: strchr
      Src: /src/librdkafka/examples/incremental_alter_configs.c:325,1
    - Dst: fatal
      Src: /src/librdkafka/examples/incremental_alter_configs.c:326,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/incremental_alter_configs.c:331,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/incremental_alter_configs.c:336,1
    - Dst: usage
      Src: /src/librdkafka/examples/incremental_alter_configs.c:340,1
    - Dst: cmd_incremental_alter_configs
      Src: /src/librdkafka/examples/incremental_alter_configs.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 302
    functionDepth: 23
    functionLinenumber: 302
    functionLinenumberEnd: 347
    functionName: main
    functionSourceFile: /src/librdkafka/examples/incremental_alter_configs.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - fatal
    - cmd_incremental_alter_configs
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ExampleStoreRetriever::load_certificate
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - subject
    - pass
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: ExampleStoreRetriever::ExampleStoreRetriever
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - ExampleStoreRetriever::load_certificate
    linkageType: ''
    returnType: void
    signature: void ExampleStoreRetriever(std::string const &subject, std::string
      const &pass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CertFreeCertificateContext
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:65,1
    - Dst: CertCloseStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: ~ExampleStoreRetriever()
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - CertFreeCertificateContext
    - CertCloseStore
    linkageType: ''
    returnType: void
    signature: void ~ExampleStoreRetriever()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector::assign
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: ExampleStoreRetriever::get_public_key
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - std::vector::assign
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> get_public_key()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:95,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:98,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:98,1
    - Dst: CertAddCertificateContextToStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:101,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:104,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:104,1
    - Dst: begin
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:111,1
    - Dst: end
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:111,1
    - Dst: PFXExportCertStoreEx
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:114,1
    - Dst: std::wstring::c_str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:114,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:117,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:117,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:121,1
    - Dst: PFXExportCertStoreEx
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:125,1
    - Dst: std::wstring::c_str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:125,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:129,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:129,1
    - Dst: CertCloseStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:131,1
    - Dst: std::vector::resize
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 136
    functionName: ExampleStoreRetriever::get_private_key
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - end
    - PFXExportCertStoreEx
    - std::wstring::c_str
    - CertOpenStore
    - CertAddCertificateContextToStore
    - begin
    - std::vector::resize
    - GetLastError
    - ExampleStoreRetriever::GetErrorMsg
    - CertCloseStore
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> get_private_key()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CertOpenStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:143,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:146,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:146,1
    - Dst: CertFindCertificateInStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:148,1
    - Dst: std::wstring
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:151,1
    - Dst: begin
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:151,1
    - Dst: end
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:151,1
    - Dst: CertCloseStore
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:154,1
    - Dst: ExampleStoreRetriever::GetErrorMsg
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:157,1
    - Dst: GetLastError
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 159
    functionName: ExampleStoreRetriever::load_certificate
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 1
    functionsReached:
    - end
    - CertOpenStore
    - begin
    - CertFindCertificateInStore
    - GetLastError
    - ExampleStoreRetriever::GetErrorMsg
    - std::wstring
    - CertCloseStore
    linkageType: ''
    returnType: void
    signature: void load_certificate()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatMessageA
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:163,1
    - Dst: std::string
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:169,1
    - Dst: std::stringstream::str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:170,1
    - Dst: LocalFree
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - error
    argTypes:
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 176
    functionName: ExampleStoreRetriever::GetErrorMsg
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 2
    functionsReached:
    - FormatMessageA
    - std::string
    - std::stringstream::str
    - LocalFree
    linkageType: ''
    returnType: std::string
    signature: std::string GetErrorMsg(unsigned long error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CertCreateCertificateContext
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:198,1
    - Dst: static_cast<unsigned long>
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:200,1
    - Dst: CertGetNameStringA
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:208,1
    - Dst: CertGetNameStringA
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:211,1
    - Dst: CertFreeCertificateContext
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - broker_name
    - broker_id
    - x509_error
    - depth
    - buf
    - size
    - errstr
    argTypes:
    - std::string
    - int32_t
    - int*
    - int
    - char*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: PrintingSSLVerifyCb::ssl_cert_verify_cb
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - CertCreateCertificateContext
    - static_cast<unsigned long>
    - CertGetNameStringA
    - CertFreeCertificateContext
    linkageType: ''
    returnType: bool
    signature: "bool ssl_cert_verify_cb(const std::string &broker_name,\n                          int32_t
      broker_id,\n                          int *x509_error,\n                          int
      depth,\n                          const char *buf,\n                          size_t
      size,\n                          std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:232,1
    - Dst: RdKafka::Handle*::clusterid
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:233,1
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:237,1
    - Dst: RdKafka::Metadata*::brokers
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:237,1
    - Dst: id
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:238,1
    - Dst: host
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:238,1
    - Dst: port
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - md
    argTypes:
    - RdKafka::Handle*
    - RdKafka::Metadata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 240
    functionName: print_brokers
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::Handle*::clusterid
    - host
    - port
    - RdKafka::Metadata*::brokers
    - id
    linkageType: ''
    returnType: void
    signature: "void print_brokers(RdKafka::Handle *handle,\n                          const
      RdKafka::Metadata *md)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:252,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:253,1
    - Dst: getopt
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:256,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:262,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:264,1
    - Dst: strchr
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:271,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:273,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:279,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:281,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:291,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:294,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:304,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:307,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:308,1
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:326,1
    - Dst: RdKafka::version
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:326,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:327,1
    - Dst: RdKafka::get_debug_contexts
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:327,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:328,1
    - Dst: std::string::empty
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:331,1
    - Dst: ExampleStoreRetriever::get_public_key
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:338,1
    - Dst: ExampleStoreRetriever::get_private_key
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:339,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:341,1
    - Dst: std::vector::size
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:342,1
    - Dst: RdKafka::Conf*::set_ssl_cert
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:346,1
    - Dst: size
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:348,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:353,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:361,1
    - Dst: RdKafka::Conf*::set
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:367,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:370,1
    - Dst: thrd_create
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:374,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:377,1
    - Dst: RdKafka::Producer*::metadata
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:383,1
    - Dst: RdKafka::err2str
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:385,1
    - Dst: exit
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:387,1
    - Dst: print_brokers
      Src: /src/librdkafka/examples/win_ssl_cert_store.cpp:390,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 243
    functionDepth: 5
    functionLinenumber: 243
    functionLinenumberEnd: 396
    functionName: main
    functionSourceFile: /src/librdkafka/examples/win_ssl_cert_store.cpp
    functionUses: 18
    functionsReached:
    - std::string::empty
    - RdKafka::get_debug_contexts
    - ExampleStoreRetriever::get_private_key
    - fprintf
    - ExampleStoreRetriever::get_public_key
    - size
    - RdKafka::Conf*::set_ssl_cert
    - RdKafka::Conf*::set
    - RdKafka::version
    - std::string::c_str
    - thrd_create
    - RdKafka::Producer*::metadata
    - RdKafka::err2str
    - strchr
    - RdKafka::Conf*::get
    - getopt
    - RdKafka::version_str
    - exit
    - print_brokers
    - std::vector::size
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:56,1
    - Dst: exit
      Src: /src/librdkafka/examples/delete_records.c:57,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/delete_records.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 4
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/delete_records.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/delete_records.c:69,1
    - Dst: strlen
      Src: /src/librdkafka/examples/delete_records.c:71,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:72,1
    - Dst: exit
      Src: /src/librdkafka/examples/delete_records.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/delete_records.c
    functionUses: 6
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:101,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/delete_records.c:116,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/delete_records.c:119,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/delete_records.c:120,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/delete_records.c:122,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/delete_records.c:130,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/delete_records.c:136,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:138,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/delete_records.c:141,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/delete_records.c:152,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:154,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/delete_records.c:161,1
    - Dst: signal
      Src: /src/librdkafka/examples/delete_records.c:164,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/delete_records.c:168,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/delete_records.c:169,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:171,1
    - Dst: rd_kafka_DeleteRecords_new
      Src: /src/librdkafka/examples/delete_records.c:176,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/delete_records.c:178,1
    - Dst: rd_kafka_DeleteRecords
      Src: /src/librdkafka/examples/delete_records.c:181,1
    - Dst: rd_kafka_DeleteRecords_destroy
      Src: /src/librdkafka/examples/delete_records.c:184,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/delete_records.c:185,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/delete_records.c:189,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:193,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/delete_records.c:195,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/delete_records.c:197,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/delete_records.c:198,1
    - Dst: rd_kafka_event_DeleteRecords_result
      Src: /src/librdkafka/examples/delete_records.c:208,1
    - Dst: rd_kafka_DeleteRecords_result_offsets
      Src: /src/librdkafka/examples/delete_records.c:209,1
    - Dst: printf
      Src: /src/librdkafka/examples/delete_records.c:211,1
    - Dst: printf
      Src: /src/librdkafka/examples/delete_records.c:213,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/delete_records.c:217,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/delete_records.c:222,1
    - Dst: signal
      Src: /src/librdkafka/examples/delete_records.c:224,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/delete_records.c:227,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/delete_records.c:230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 81
    functionDepth: 22
    functionLinenumber: 81
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/librdkafka/examples/delete_records.c
    functionUses: 18
    functionsReached:
    - rd_kafka_DeleteRecords_result_offsets
    - rd_kafka_conf_set
    - rd_kafka_queue_poll
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - rd_kafka_DeleteRecords
    - rd_kafka_DeleteRecords_new
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_err2str
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_AdminOptions_new
    - rd_kafka_DeleteRecords_destroy
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_event_DeleteRecords_result
    - rd_kafka_conf_new
    - printf
    - rd_kafka_new
    - rd_kafka_queue_new
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:62,1
    - Dst: exit
      Src: /src/librdkafka/examples/elect_leaders.c:63,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/elect_leaders.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:72,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/elect_leaders.c:84,1
    - Dst: va_start
      Src: /src/librdkafka/examples/elect_leaders.c:90,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/elect_leaders.c:91,1
    - Dst: va_end
      Src: /src/librdkafka/examples/elect_leaders.c:92,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:94,1
    - Dst: exit
      Src: /src/librdkafka/examples/elect_leaders.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 20
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/elect_leaders.c:116,1
    - Dst: fatal
      Src: /src/librdkafka/examples/elect_leaders.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 294
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ElectLeaders_result_partitions
      Src: /src/librdkafka/examples/elect_leaders.c:127,1
    - Dst: printf
      Src: /src/librdkafka/examples/elect_leaders.c:128,1
    - Dst: rd_kafka_topic_partition_result_partition
      Src: /src/librdkafka/examples/elect_leaders.c:131,1
    - Dst: rd_kafka_topic_partition_result_error
      Src: /src/librdkafka/examples/elect_leaders.c:133,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/elect_leaders.c:134,1
    - Dst: printf
      Src: /src/librdkafka/examples/elect_leaders.c:135,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/elect_leaders.c:138,1
    - Dst: printf
      Src: /src/librdkafka/examples/elect_leaders.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - result
    argTypes:
    - rd_kafka_ElectLeaders_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 145
    functionName: print_elect_leaders_result
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_result_partition
    - printf
    - rd_kafka_ElectLeaders_result_partitions
    - rd_kafka_error_string
    - rd_kafka_topic_partition_result_error
    - rd_kafka_error_code
    linkageType: ''
    returnType: void
    signature: void print_elect_leaders_result(const rd_kafka_ElectLeaders_result_t
      *result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/elect_leaders.c:152,1
    - Dst: strlen
      Src: /src/librdkafka/examples/elect_leaders.c:154,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:155,1
    - Dst: exit
      Src: /src/librdkafka/examples/elect_leaders.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 7
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/elect_leaders.c:175,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/elect_leaders.c:178,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/elect_leaders.c:183,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/elect_leaders.c:185,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/elect_leaders.c:187,1
    - Dst: rd_kafka_ElectLeaders_new
      Src: /src/librdkafka/examples/elect_leaders.c:191,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:194,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/elect_leaders.c:203,1
    - Dst: fatal
      Src: /src/librdkafka/examples/elect_leaders.c:205,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/elect_leaders.c:210,1
    - Dst: signal
      Src: /src/librdkafka/examples/elect_leaders.c:213,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/elect_leaders.c:216,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/elect_leaders.c:218,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:220,1
    - Dst: rd_kafka_AdminOptions_set_operation_timeout
      Src: /src/librdkafka/examples/elect_leaders.c:224,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:226,1
    - Dst: rd_kafka_ElectLeaders
      Src: /src/librdkafka/examples/elect_leaders.c:231,1
    - Dst: rd_kafka_ElectLeaders_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:233,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:234,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/elect_leaders.c:237,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:244,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/elect_leaders.c:246,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/elect_leaders.c:247,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/elect_leaders.c:249,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/elect_leaders.c:250,1
    - Dst: rd_kafka_event_ElectLeaders_result
      Src: /src/librdkafka/examples/elect_leaders.c:256,1
    - Dst: print_elect_leaders_result
      Src: /src/librdkafka/examples/elect_leaders.c:257,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:263,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:265,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/elect_leaders.c:267,1
    - Dst: exit
      Src: /src/librdkafka/examples/elect_leaders.c:269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 163
    functionDepth: 22
    functionLinenumber: 163
    functionLinenumberEnd: 270
    functionName: cmd_elect_leaders
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - print_elect_leaders_result
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_ElectLeaders_result
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_AdminOptions_set_operation_timeout
    - rd_kafka_ElectLeaders_new
    - rd_kafka_ElectLeaders_destroy
    - exit
    - rd_kafka_ElectLeaders
    - rd_kafka_new
    - signal
    - rd_kafka_queue_new
    - parse_int
    - rd_kafka_event_error
    linkageType: ''
    returnType: void
    signature: void cmd_elect_leaders(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/elect_leaders.c:281,1
    - Dst: getopt
      Src: /src/librdkafka/examples/elect_leaders.c:286,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/elect_leaders.c:289,1
    - Dst: strchr
      Src: /src/librdkafka/examples/elect_leaders.c:295,1
    - Dst: fatal
      Src: /src/librdkafka/examples/elect_leaders.c:296,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/elect_leaders.c:301,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/elect_leaders.c:306,1
    - Dst: usage
      Src: /src/librdkafka/examples/elect_leaders.c:310,1
    - Dst: cmd_elect_leaders
      Src: /src/librdkafka/examples/elect_leaders.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 273
    functionDepth: 23
    functionLinenumber: 273
    functionLinenumberEnd: 317
    functionName: main
    functionSourceFile: /src/librdkafka/examples/elect_leaders.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - cmd_elect_leaders
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:64,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_offsets.c:65,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/list_offsets.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:74,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/list_offsets.c:87,1
    - Dst: va_start
      Src: /src/librdkafka/examples/list_offsets.c:93,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/list_offsets.c:94,1
    - Dst: va_end
      Src: /src/librdkafka/examples/list_offsets.c:95,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:97,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_offsets.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 101
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 22
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 111
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/list_offsets.c:119,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_offsets.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 296
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ListOffsets_result_infos
      Src: /src/librdkafka/examples/list_offsets.c:133,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_offsets.c:134,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:137,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:140,1
    - Dst: rd_kafka_ListOffsetsResultInfo_topic_partition
      Src: /src/librdkafka/examples/list_offsets.c:145,1
    - Dst: rd_kafka_ListOffsetsResultInfo_timestamp
      Src: /src/librdkafka/examples/list_offsets.c:148,1
    - Dst: printf
      Src: /src/librdkafka/examples/list_offsets.c:149,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/list_offsets.c:154,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/examples/list_offsets.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - result
    - req_cnt
    argTypes:
    - rd_kafka_ListOffsets_result_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: print_list_offsets_result_info
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 0
    functionsReached:
    - fprintf
    - rd_kafka_ListOffsets_result_infos
    - printf
    - rd_kafka_topic_partition_get_leader_epoch
    - rd_kafka_err2str
    - rd_kafka_ListOffsetsResultInfo_topic_partition
    - rd_kafka_ListOffsetsResultInfo_timestamp
    linkageType: ''
    returnType: int
    signature: "int print_list_offsets_result_info(const rd_kafka_ListOffsets_result_t
      *result,\n                               int req_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/librdkafka/examples/list_offsets.c:167,1
    - Dst: strlen
      Src: /src/librdkafka/examples/list_offsets.c:169,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:170,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_offsets.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 8
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtoull
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/list_offsets.c:194,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_offsets.c:197,1
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/examples/list_offsets.c:200,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/examples/list_offsets.c:202,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_offsets.c:203,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/list_offsets.c:204,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/list_offsets.c:214,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_offsets.c:216,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/list_offsets.c:222,1
    - Dst: signal
      Src: /src/librdkafka/examples/list_offsets.c:225,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/list_offsets.c:227,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/list_offsets.c:229,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:231,1
    - Dst: rd_kafka_AdminOptions_set_isolation_level
      Src: /src/librdkafka/examples/list_offsets.c:235,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:237,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/list_offsets.c:238,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/list_offsets.c:239,1
    - Dst: rd_kafka_ListOffsets
      Src: /src/librdkafka/examples/list_offsets.c:243,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/examples/list_offsets.c:244,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/list_offsets.c:245,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/list_offsets.c:248,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:255,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/list_offsets.c:257,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/list_offsets.c:258,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/list_offsets.c:260,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/list_offsets.c:261,1
    - Dst: rd_kafka_event_ListOffsets_result
      Src: /src/librdkafka/examples/list_offsets.c:267,1
    - Dst: print_list_offsets_result_info
      Src: /src/librdkafka/examples/list_offsets.c:268,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/list_offsets.c:274,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/list_offsets.c:275,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/list_offsets.c:277,1
    - Dst: exit
      Src: /src/librdkafka/examples/list_offsets.c:279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 181
    functionDepth: 22
    functionLinenumber: 181
    functionLinenumberEnd: 280
    functionName: cmd_list_offsets
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - print_list_offsets_result_info
    - rd_kafka_topic_partition_list_add
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - rd_kafka_event_ListOffsets_result
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_destroy
    - exit
    - rd_kafka_AdminOptions_set_isolation_level
    - rd_kafka_error_string
    - rd_kafka_ListOffsets
    - rd_kafka_new
    - rd_kafka_queue_new
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_list_offsets(rd_kafka_conf_t *conf, int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/list_offsets.c:290,1
    - Dst: getopt
      Src: /src/librdkafka/examples/list_offsets.c:296,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_offsets.c:299,1
    - Dst: strchr
      Src: /src/librdkafka/examples/list_offsets.c:305,1
    - Dst: fatal
      Src: /src/librdkafka/examples/list_offsets.c:306,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_offsets.c:311,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/list_offsets.c:316,1
    - Dst: usage
      Src: /src/librdkafka/examples/list_offsets.c:320,1
    - Dst: cmd_list_offsets
      Src: /src/librdkafka/examples/list_offsets.c:324,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 282
    functionDepth: 23
    functionLinenumber: 282
    functionLinenumberEnd: 327
    functionName: main
    functionSourceFile: /src/librdkafka/examples/list_offsets.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - fatal
    - strchr
    - usage
    - getopt
    - cmd_list_offsets
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:64,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_consumer_groups.c:65,1
    - Dst: rd_kafka_queue_yield
      Src: /src/librdkafka/examples/describe_consumer_groups.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 4
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: stop
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 60
    functionsReached:
    - exit
    - fprintf
    - rd_kafka_queue_yield
    linkageType: ''
    returnType: void
    signature: void stop(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:76,1
    - Dst: rd_kafka_get_debug_contexts
      Src: /src/librdkafka/examples/describe_consumer_groups.c:88,1
    - Dst: va_start
      Src: /src/librdkafka/examples/describe_consumer_groups.c:94,1
    - Dst: vsnprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:95,1
    - Dst: va_end
      Src: /src/librdkafka/examples/describe_consumer_groups.c:96,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:98,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_consumer_groups.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 102
    functionName: usage
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 24
    functionsReached:
    - exit
    - fprintf
    - vsnprintf
    - va_start
    - rd_kafka_get_debug_contexts
    - va_end
    linkageType: ''
    returnType: void
    signature: void usage(const char *reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: fatal
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fatal(...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/examples/describe_consumer_groups.c:120,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_consumer_groups.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - conf
    - name
    - val
    argTypes:
    - rd_kafka_conf_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: conf_set
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 298
    functionsReached:
    - fatal
    - rd_kafka_conf_set
    linkageType: ''
    returnType: void
    signature: void conf_set(rd_kafka_conf_t *conf, const char *name, const char *val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:134,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:140,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:144,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/examples/describe_consumer_groups.c:147,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - fp
    - partitions
    - print_offset
    - prefix
    argTypes:
    - FILE*
    - rd_kafka_topic_partition_list_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: print_partition_list
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 22
    functionsReached:
    - fprintf
    - snprintf
    - rd_kafka_err2str
    linkageType: ''
    returnType: void
    signature: "void print_partition_list(FILE *fp,\n                     const rd_kafka_topic_partition_list_t
      *partitions,\n                     int print_offset,\n                     const
      char *prefix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:158,1
    - Dst: rd_kafka_MemberDescription_consumer_id
      Src: /src/librdkafka/examples/describe_consumer_groups.c:161,1
    - Dst: rd_kafka_MemberDescription_client_id
      Src: /src/librdkafka/examples/describe_consumer_groups.c:162,1
    - Dst: rd_kafka_MemberDescription_group_instance_id
      Src: /src/librdkafka/examples/describe_consumer_groups.c:163,1
    - Dst: rd_kafka_MemberDescription_host
      Src: /src/librdkafka/examples/describe_consumer_groups.c:164,1
    - Dst: rd_kafka_MemberDescription_assignment
      Src: /src/librdkafka/examples/describe_consumer_groups.c:166,1
    - Dst: rd_kafka_MemberAssignment_partitions
      Src: /src/librdkafka/examples/describe_consumer_groups.c:168,1
    - Dst: rd_kafka_MemberDescription_target_assignment
      Src: /src/librdkafka/examples/describe_consumer_groups.c:170,1
    - Dst: rd_kafka_MemberAssignment_partitions
      Src: /src/librdkafka/examples/describe_consumer_groups.c:173,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:176,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:178,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:180,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/describe_consumer_groups.c:181,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:185,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:187,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:189,1
    - Dst: print_partition_list
      Src: /src/librdkafka/examples/describe_consumer_groups.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - member
    argTypes:
    - rd_kafka_MemberDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 193
    functionName: print_group_member_info
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 0
    functionsReached:
    - rd_kafka_MemberDescription_host
    - rd_kafka_MemberDescription_group_instance_id
    - rd_kafka_MemberDescription_client_id
    - printf
    - rd_kafka_MemberDescription_target_assignment
    - rd_kafka_MemberDescription_assignment
    - rd_kafka_MemberDescription_consumer_id
    - rd_kafka_MemberAssignment_partitions
    - print_partition_list
    linkageType: ''
    returnType: void
    signature: void print_group_member_info(const rd_kafka_MemberDescription_t *member)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_ConsumerGroupDescription_group_id
      Src: /src/librdkafka/examples/describe_consumer_groups.c:208,1
    - Dst: rd_kafka_ConsumerGroupDescription_partition_assignor
      Src: /src/librdkafka/examples/describe_consumer_groups.c:210,1
    - Dst: rd_kafka_ConsumerGroupDescription_state
      Src: /src/librdkafka/examples/describe_consumer_groups.c:212,1
    - Dst: rd_kafka_ConsumerGroupDescription_type
      Src: /src/librdkafka/examples/describe_consumer_groups.c:214,1
    - Dst: rd_kafka_ConsumerGroupDescription_authorized_operations
      Src: /src/librdkafka/examples/describe_consumer_groups.c:216,1
    - Dst: rd_kafka_ConsumerGroupDescription_member_count
      Src: /src/librdkafka/examples/describe_consumer_groups.c:218,1
    - Dst: rd_kafka_ConsumerGroupDescription_error
      Src: /src/librdkafka/examples/describe_consumer_groups.c:219,1
    - Dst: rd_kafka_ConsumerGroupDescription_coordinator
      Src: /src/librdkafka/examples/describe_consumer_groups.c:220,1
    - Dst: snprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:224,1
    - Dst: rd_kafka_Node_id
      Src: /src/librdkafka/examples/describe_consumer_groups.c:228,1
    - Dst: rd_kafka_Node_host
      Src: /src/librdkafka/examples/describe_consumer_groups.c:229,1
    - Dst: rd_kafka_Node_port
      Src: /src/librdkafka/examples/describe_consumer_groups.c:230,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:232,1
    - Dst: rd_kafka_consumer_group_type_name
      Src: /src/librdkafka/examples/describe_consumer_groups.c:236,1
    - Dst: rd_kafka_consumer_group_state_name
      Src: /src/librdkafka/examples/describe_consumer_groups.c:237,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:240,1
    - Dst: rd_kafka_AclOperation_name
      Src: /src/librdkafka/examples/describe_consumer_groups.c:241,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:244,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/examples/describe_consumer_groups.c:244,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/describe_consumer_groups.c:245,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:246,1
    - Dst: rd_kafka_ConsumerGroupDescription_member
      Src: /src/librdkafka/examples/describe_consumer_groups.c:249,1
    - Dst: print_group_member_info
      Src: /src/librdkafka/examples/describe_consumer_groups.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - group
    argTypes:
    - rd_kafka_ConsumerGroupDescription_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 252
    functionName: print_group_info
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 0
    functionsReached:
    - rd_kafka_ConsumerGroupDescription_error
    - snprintf
    - rd_kafka_ConsumerGroupDescription_member
    - rd_kafka_Node_id
    - print_group_member_info
    - rd_kafka_consumer_group_state_name
    - rd_kafka_error_code
    - rd_kafka_ConsumerGroupDescription_state
    - rd_kafka_ConsumerGroupDescription_partition_assignor
    - rd_kafka_Node_port
    - rd_kafka_ConsumerGroupDescription_coordinator
    - rd_kafka_ConsumerGroupDescription_authorized_operations
    - rd_kafka_ConsumerGroupDescription_group_id
    - printf
    - rd_kafka_consumer_group_type_name
    - rd_kafka_ConsumerGroupDescription_type
    - rd_kafka_AclOperation_name
    - rd_kafka_error_string
    - rd_kafka_Node_host
    - rd_kafka_ConsumerGroupDescription_member_count
    linkageType: ''
    returnType: void
    signature: void print_group_info(const rd_kafka_ConsumerGroupDescription_t *group)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_DescribeConsumerGroups_result_groups
      Src: /src/librdkafka/examples/describe_consumer_groups.c:264,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:269,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:272,1
    - Dst: print_group_info
      Src: /src/librdkafka/examples/describe_consumer_groups.c:277,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - grpdesc
    - groups_cnt
    argTypes:
    - rd_kafka_DescribeConsumerGroups_result_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 281
    functionName: print_groups_info
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 1
    functionsReached:
    - fprintf
    - print_group_info
    - rd_kafka_DescribeConsumerGroups_result_groups
    - printf
    linkageType: ''
    returnType: int
    signature: "int print_groups_info(const rd_kafka_DescribeConsumerGroups_result_t
      *grpdesc,\n                  int groups_cnt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/librdkafka/examples/describe_consumer_groups.c:288,1
    - Dst: strlen
      Src: /src/librdkafka/examples/describe_consumer_groups.c:290,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:291,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_consumer_groups.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - what
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: parse_int
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 9
    functionsReached:
    - strlen
    - exit
    - fprintf
    - strtol
    linkageType: ''
    returnType: int64_t
    signature: int64_t parse_int(const char *what, const char *str)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/librdkafka/examples/describe_consumer_groups.c:317,1
    - Dst: parse_int
      Src: /src/librdkafka/examples/describe_consumer_groups.c:320,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_consumer_groups.c:323,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/examples/describe_consumer_groups.c:334,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_consumer_groups.c:336,1
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/examples/describe_consumer_groups.c:341,1
    - Dst: signal
      Src: /src/librdkafka/examples/describe_consumer_groups.c:344,1
    - Dst: rd_kafka_AdminOptions_new
      Src: /src/librdkafka/examples/describe_consumer_groups.c:346,1
    - Dst: rd_kafka_AdminOptions_set_request_timeout
      Src: /src/librdkafka/examples/describe_consumer_groups.c:349,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:351,1
    - Dst: rd_kafka_AdminOptions_set_include_authorized_operations
      Src: /src/librdkafka/examples/describe_consumer_groups.c:355,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:357,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/examples/describe_consumer_groups.c:359,1
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/examples/describe_consumer_groups.c:360,1
    - Dst: rd_kafka_DescribeConsumerGroups
      Src: /src/librdkafka/examples/describe_consumer_groups.c:365,1
    - Dst: rd_kafka_queue_poll
      Src: /src/librdkafka/examples/describe_consumer_groups.c:368,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:375,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_consumer_groups.c:377,1
    - Dst: rd_kafka_event_error
      Src: /src/librdkafka/examples/describe_consumer_groups.c:378,1
    - Dst: fprintf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:380,1
    - Dst: rd_kafka_event_error_string
      Src: /src/librdkafka/examples/describe_consumer_groups.c:382,1
    - Dst: rd_kafka_event_DescribeConsumerGroups_result
      Src: /src/librdkafka/examples/describe_consumer_groups.c:390,1
    - Dst: printf
      Src: /src/librdkafka/examples/describe_consumer_groups.c:391,1
    - Dst: print_groups_info
      Src: /src/librdkafka/examples/describe_consumer_groups.c:392,1
    - Dst: rd_kafka_event_destroy
      Src: /src/librdkafka/examples/describe_consumer_groups.c:399,1
    - Dst: rd_kafka_AdminOptions_destroy
      Src: /src/librdkafka/examples/describe_consumer_groups.c:401,1
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/examples/describe_consumer_groups.c:403,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/examples/describe_consumer_groups.c:405,1
    - Dst: exit
      Src: /src/librdkafka/examples/describe_consumer_groups.c:407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - conf
    - argc
    - argv
    argTypes:
    - rd_kafka_conf_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 303
    functionDepth: 22
    functionLinenumber: 303
    functionLinenumberEnd: 408
    functionName: cmd_describe_consumer_groups
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll
    - rd_kafka_event_DescribeConsumerGroups_result
    - rd_kafka_queue_destroy
    - usage
    - rd_kafka_event_destroy
    - rd_kafka_event_error_string
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_AdminOptions_set_include_authorized_operations
    - fatal
    - rd_kafka_AdminOptions_set_request_timeout
    - rd_kafka_error_destroy
    - rd_kafka_AdminOptions_new
    - rd_kafka_AdminOptions_destroy
    - exit
    - printf
    - print_groups_info
    - rd_kafka_error_string
    - rd_kafka_DescribeConsumerGroups
    - rd_kafka_new
    - rd_kafka_queue_new
    - parse_int
    - rd_kafka_event_error
    - signal
    linkageType: ''
    returnType: void
    signature: void cmd_describe_consumer_groups(rd_kafka_conf_t *conf, int argc,
      char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/examples/describe_consumer_groups.c:418,1
    - Dst: getopt
      Src: /src/librdkafka/examples/describe_consumer_groups.c:424,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_consumer_groups.c:427,1
    - Dst: strchr
      Src: /src/librdkafka/examples/describe_consumer_groups.c:433,1
    - Dst: fatal
      Src: /src/librdkafka/examples/describe_consumer_groups.c:434,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_consumer_groups.c:439,1
    - Dst: conf_set
      Src: /src/librdkafka/examples/describe_consumer_groups.c:444,1
    - Dst: usage
      Src: /src/librdkafka/examples/describe_consumer_groups.c:448,1
    - Dst: cmd_describe_consumer_groups
      Src: /src/librdkafka/examples/describe_consumer_groups.c:452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 410
    functionDepth: 23
    functionLinenumber: 410
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/librdkafka/examples/describe_consumer_groups.c
    functionUses: 18
    functionsReached:
    - rd_kafka_conf_new
    - conf_set
    - cmd_describe_consumer_groups
    - fatal
    - strchr
    - usage
    - getopt
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flag
      Src: /src/librdkafka/mklove/modules/configure.cc:83,1
    - Dst: $
      Src: /src/librdkafka/mklove/modules/configure.cc:115,1
    - Dst: $
      Src: /src/librdkafka/mklove/modules/configure.cc:117,1
    - Dst: $
      Src: /src/librdkafka/mklove/modules/configure.cc:120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 166
    functionName: host
    functionSourceFile: /src/librdkafka/mklove/modules/configure.cc
    functionUses: 10
    functionsReached:
    - $
    - flag
    linkageType: ''
    returnType: mkl_require
    signature: mkl_require host
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: RdKafka::Producer::~Producer()
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Producer::~Producer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:43,1
    - Dst: RdKafka::HandleImpl*::dr_cb_::dr_cb
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - rkmessage
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 47
    functionName: dr_msg_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::HandleImpl*::dr_cb_::dr_cb
    - static_cast<RdKafka::HandleImpl *>
    linkageType: ''
    returnType: void
    signature: "void dr_msg_cb_trampoline(rd_kafka_t *rk,\n                                 const
      rd_kafka_message_t *rkmessage,\n                                 void *opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:55,1
    - Dst: RdKafka::ProducerImpl::ProducerImpl
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:56,1
    - Dst: RdKafka::ProducerImpl*::set_common_config
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:66,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:68,1
    - Dst: rd_kafka_conf_set_dr_msg_cb
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:71,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:79,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - conf
    - errstr
    argTypes:
    - RdKafka::Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 51
    functionDepth: 22
    functionLinenumber: 51
    functionLinenumberEnd: 91
    functionName: "*RdKafka::Producer::create(const RdKafka::Conf *conf,\n                                             std::string
      &errstr)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_dup
    - RdKafka::ProducerImpl::ProducerImpl
    - dynamic_cast<const RdKafka::ConfImpl *>
    - RdKafka::ProducerImpl*::set_common_config
    - rd_kafka_new
    - rd_kafka_conf_destroy
    - rd_kafka_conf_set_dr_msg_cb
    linkageType: ''
    returnType: RdKafka::Producer
    signature: "RdKafka::Producer *RdKafka::Producer::create(const RdKafka::Conf *conf,\n
      \                                            std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:101,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:103,1
    - Dst: std::string*::c_str
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:104,1
    - Dst: std::string*::size
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:104,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:106,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - topic
    - partition
    - msgflags
    - payload
    - len
    - key
    - msg_opaque
    argTypes:
    - RdKafka::Topic*
    - int32_t
    - int
    - void*
    - size_t
    - std::string*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 94
    functionDepth: 5
    functionLinenumber: 94
    functionLinenumberEnd: 109
    functionName: "RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n                                                  int32_t
      partition,\n                                                  int msgflags,\n
      \                                                 void *payload,\n                                                  size_t
      len,\n                                                  const std::string *key,\n
      \                                                 void *msg_opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - static_cast<RdKafka::ErrorCode>
    - std::string*::c_str
    - dynamic_cast<RdKafka::TopicImpl *>
    - std::string*::size
    - rd_kafka_produce
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n
      \                                                 int32_t partition,\n                                                  int
      msgflags,\n                                                  void *payload,\n
      \                                                 size_t len,\n                                                  const
      std::string *key,\n                                                  void *msg_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:120,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:122,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:124,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - topic
    - partition
    - msgflags
    - payload
    - len
    - key
    - key_len
    - msg_opaque
    argTypes:
    - RdKafka::Topic*
    - int32_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 5
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: "RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n                                                  int32_t
      partition,\n                                                  int msgflags,\n
      \                                                 void *payload,\n                                                  size_t
      len,\n                                                  const void *key,\n                                                  size_t
      key_len,\n                                                  void *msg_opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - dynamic_cast<RdKafka::TopicImpl *>
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_produce
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n
      \                                                 int32_t partition,\n                                                  int
      msgflags,\n                                                  void *payload,\n
      \                                                 size_t len,\n                                                  const
      void *key,\n                                                  size_t key_len,\n
      \                                                 void *msg_opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:136,1
    - Dst: rd_kafka_produce
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:138,1
    - Dst: std::vector<char>*::size
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:140,1
    - Dst: std::vector<char>*::size
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:141,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:142,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - topic
    - partition
    - payload
    - key
    - msg_opaque
    argTypes:
    - RdKafka::Topic*
    - int32_t
    - std::vector<char>*
    - std::vector<char>*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 5
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: "RdKafka::ProducerImpl::produce(\n    RdKafka::Topic *topic,\n    int32_t
      partition,\n    const std::vector<char> *payload,\n    const std::vector<char>
      *key,\n    void *msg_opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - dynamic_cast<RdKafka::TopicImpl *>
    - std::vector<char>*::size
    - rd_kafka_last_error
    - rd_kafka_produce
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ProducerImpl::produce(\n    RdKafka::Topic
      *topic,\n    int32_t partition,\n    const std::vector<char> *payload,\n    const
      std::vector<char> *key,\n    void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:156,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:156,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:157,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:157,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:158,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:158,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:159,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:159,1
    - Dst: RD_KAFKA_V_TIMESTAMP
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:160,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - topic_name
    - partition
    - msgflags
    - payload
    - len
    - key
    - key_len
    - timestamp
    - msg_opaque
    argTypes:
    - std::string
    - int32_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - int64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 4
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: "RdKafka::ProducerImpl::produce(const std::string topic_name,\n
      \                                                 int32_t partition,\n                                                  int
      msgflags,\n                                                  void *payload,\n
      \                                                 size_t len,\n                                                  const
      void *key,\n                                                  size_t key_len,\n
      \                                                 int64_t timestamp,\n                                                  void
      *msg_opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - RD_KAFKA_V_OPAQUE
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    - RD_KAFKA_V_TOPIC
    - RD_KAFKA_V_PARTITION
    - RD_KAFKA_V_KEY
    - RD_KAFKA_V_TIMESTAMP
    - rd_kafka_producev
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ProducerImpl::produce(const std::string
      topic_name,\n                                                  int32_t partition,\n
      \                                                 int msgflags,\n                                                  void
      *payload,\n                                                  size_t len,\n                                                  const
      void *key,\n                                                  size_t key_len,\n
      \                                                 int64_t timestamp,\n                                                  void
      *msg_opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HeadersImpl *>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:179,1
    - Dst: RdKafka::HeadersImpl*::c_ptr
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:180,1
    - Dst: rd_kafka_producev
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:183,1
    - Dst: RD_KAFKA_V_TOPIC
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:184,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:184,1
    - Dst: RD_KAFKA_V_PARTITION
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:185,1
    - Dst: RD_KAFKA_V_MSGFLAGS
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:185,1
    - Dst: RD_KAFKA_V_VALUE
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:186,1
    - Dst: RD_KAFKA_V_KEY
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:186,1
    - Dst: RD_KAFKA_V_TIMESTAMP
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:187,1
    - Dst: RD_KAFKA_V_OPAQUE
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:187,1
    - Dst: RD_KAFKA_V_HEADERS
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:188,1
    - Dst: RdKafka::HeadersImpl*::c_headers_destroyed
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:192,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ProducerImpl.cpp:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 10
    argNames:
    - topic_name
    - partition
    - msgflags
    - payload
    - len
    - key
    - key_len
    - timestamp
    - headers
    - msg_opaque
    argTypes:
    - std::string
    - int32_t
    - int
    - void*
    - size_t
    - void*
    - size_t
    - int64_t
    - RdKafka::Headers*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: "RdKafka::ProducerImpl::produce(const std::string topic_name,\n
      \                                                 int32_t partition,\n                                                  int
      msgflags,\n                                                  void *payload,\n
      \                                                 size_t len,\n                                                  const
      void *key,\n                                                  size_t key_len,\n
      \                                                 int64_t timestamp,\n                                                  RdKafka::Headers
      *headers,\n                                                  void *msg_opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ProducerImpl.cpp
    functionUses: 0
    functionsReached:
    - RD_KAFKA_V_VALUE
    - RD_KAFKA_V_MSGFLAGS
    - RD_KAFKA_V_OPAQUE
    - static_cast<RdKafka::HeadersImpl *>
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    - RD_KAFKA_V_TOPIC
    - RdKafka::HeadersImpl*::c_ptr
    - RD_KAFKA_V_HEADERS
    - RD_KAFKA_V_PARTITION
    - RD_KAFKA_V_KEY
    - RD_KAFKA_V_TIMESTAMP
    - RdKafka::HeadersImpl*::c_headers_destroyed
    - rd_kafka_producev
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ProducerImpl::produce(const std::string
      topic_name,\n                                                  int32_t partition,\n
      \                                                 int msgflags,\n                                                  void
      *payload,\n                                                  size_t len,\n                                                  const
      void *key,\n                                                  size_t key_len,\n
      \                                                 int64_t timestamp,\n                                                  RdKafka::Headers
      *headers,\n                                                  void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::HeadersImpl::HeadersImpl
      Src: /src/librdkafka/src-cpp/HeadersImpl.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: '*RdKafka::Headers::create()'
    functionSourceFile: /src/librdkafka/src-cpp/HeadersImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::HeadersImpl::HeadersImpl
    linkageType: ''
    returnType: RdKafka::Headers
    signature: RdKafka::Headers *RdKafka::Headers::create()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/HeadersImpl.cpp:41,1
    - Dst: RdKafka::HeadersImpl::HeadersImpl
      Src: /src/librdkafka/src-cpp/HeadersImpl.cpp:42,1
    - Dst: RdKafka::HeadersImpl::HeadersImpl
      Src: /src/librdkafka/src-cpp/HeadersImpl.cpp:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::vector<Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: '*RdKafka::Headers::create(const std::vector<Header> &headers)'
    functionSourceFile: /src/librdkafka/src-cpp/HeadersImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::HeadersImpl::HeadersImpl
    - std::vector<Header>::size
    linkageType: ''
    returnType: RdKafka::Headers
    signature: RdKafka::Headers *RdKafka::Headers::create(const std::vector<Header>
      &headers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: RdKafka::Headers::~Headers()
    functionSourceFile: /src/librdkafka/src-cpp/HeadersImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Headers::~Headers()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:44,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:44,1
    - Dst: rd_kafka_topic_conf_set
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:47,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:47,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - name
    - value
    - errstr
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 22
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: "RdKafka::ConfImpl::set(const std::string &name,\n                                                     const
      std::string &value,\n                                                     std::string
      &errstr)"
    functionSourceFile: /src/librdkafka/src-cpp/ConfImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<Conf::ConfResult>
    - rd_kafka_topic_conf_set
    - rd_kafka_conf_set
    - std::string::c_str
    linkageType: ''
    returnType: RdKafka::ConfImpl::ConfResult
    signature: "RdKafka::ConfImpl::ConfResult RdKafka::ConfImpl::set(const std::string
      &name,\n                                                     const std::string
      &value,\n                                                     std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_dump
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:63,1
    - Dst: rd_kafka_topic_conf_dump
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:65,1
    - Dst: std::list<std::string>::string>
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:67,1
    - Dst: static_cast<int>
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:68,1
    - Dst: std::list*::push_back
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:69,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:69,1
    - Dst: rd_kafka_conf_dump_free
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 73
    functionName: '*RdKafka::ConfImpl::dump()'
    functionSourceFile: /src/librdkafka/src-cpp/ConfImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<int>
    - std::list*::push_back
    - rd_kafka_conf_dump
    - std::string
    - std::list<std::string>::string>
    - rd_kafka_conf_dump_free
    - rd_kafka_topic_conf_dump
    linkageType: ''
    returnType: std::list<std::string>
    signature: std::list<std::string> *RdKafka::ConfImpl::dump()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ConfImpl::ConfImpl
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:76,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:79,1
    - Dst: rd_kafka_topic_conf_new
      Src: /src/librdkafka/src-cpp/ConfImpl.cpp:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - ConfType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 75
    functionDepth: 21
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: '*RdKafka::Conf::create(ConfType type)'
    functionSourceFile: /src/librdkafka/src-cpp/ConfImpl.cpp
    functionUses: 0
    functionsReached:
    - ConfImpl::ConfImpl
    - rd_kafka_topic_conf_new
    - rd_kafka_conf_new
    linkageType: ''
    returnType: RdKafka::Conf
    signature: RdKafka::Conf *RdKafka::Conf::create(ConfType type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: BrokerMetadata::~BrokerMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BrokerMetadata::~BrokerMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: PartitionMetadata::~PartitionMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PartitionMetadata::~PartitionMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: TopicMetadata::~TopicMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopicMetadata::~TopicMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: Metadata::~Metadata()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Metadata::~Metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - broker_metadata
    argTypes:
    - rd_kafka_metadata_broker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: BrokerMetadataImpl::BrokerMetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BrokerMetadataImpl(const rd_kafka_metadata_broker_t *broker_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: BrokerMetadataImpl::id
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: BrokerMetadataImpl::host
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string host() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: BrokerMetadataImpl::port
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int port() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: ~BrokerMetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BrokerMetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:82,1
    - Dst: push_back
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:84,1
    - Dst: reserve
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:86,1
    - Dst: push_back
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - partition_metadata
    argTypes:
    - rd_kafka_metadata_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 89
    functionName: PartitionMetadataImpl::PartitionMetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - push_back
    linkageType: ''
    returnType: void
    signature: "void PartitionMetadataImpl(\n      const rd_kafka_metadata_partition_t
      *partition_metadata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: PartitionMetadataImpl::id
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: PartitionMetadataImpl::leader
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t leader() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: PartitionMetadataImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: PartitionMetadataImpl::replicas
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int32_t>
    signature: std::vector<int32_t> *replicas() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: PartitionMetadataImpl::isrs
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<int32_t>
    signature: std::vector<int32_t> *isrs() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: ~PartitionMetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionMetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:123,1
    - Dst: push_back
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:125,1
    - Dst: PartitionMetadataImpl::PartitionMetadataImpl
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - topic_metadata
    argTypes:
    - rd_kafka_metadata_topic_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: TopicMetadataImpl::TopicMetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - PartitionMetadataImpl::PartitionMetadataImpl
    - push_back
    linkageType: ''
    returnType: void
    signature: void TopicMetadataImpl(const rd_kafka_metadata_topic_t *topic_metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: ~TopicMetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void ~TopicMetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: TopicMetadataImpl::topic
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string topic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: TopicMetadataImpl::partitions
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const PartitionMetadata *>
    signature: std::vector<const PartitionMetadata *> *partitions() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: TopicMetadataImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:152,1
    - Dst: push_back
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:154,1
    - Dst: BrokerMetadataImpl::BrokerMetadataImpl
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:154,1
    - Dst: reserve
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:156,1
    - Dst: push_back
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:158,1
    - Dst: TopicMetadataImpl::TopicMetadataImpl
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - rd_kafka_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: MetadataImpl::MetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - reserve
    - TopicMetadataImpl::TopicMetadataImpl
    - BrokerMetadataImpl::BrokerMetadataImpl
    - push_back
    linkageType: ''
    returnType: void
    signature: void MetadataImpl::MetadataImpl(const rd_kafka_metadata_t *metadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:162,1
    - Dst: size
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:164,1
    - Dst: rd_kafka_metadata_destroy
      Src: /src/librdkafka/src-cpp/MetadataImpl.cpp:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: MetadataImpl::~MetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/MetadataImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_metadata_destroy
    - size
    linkageType: ''
    returnType: void
    signature: void MetadataImpl::~MetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: RdKafka::KafkaConsumer::~KafkaConsumer()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::KafkaConsumer::~KafkaConsumer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:42,1
    - Dst: RdKafka::KafkaConsumerImpl::KafkaConsumerImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:43,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:53,1
    - Dst: RdKafka::KafkaConsumerImpl*::set_common_config
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:61,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:63,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:67,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:70,1
    - Dst: rd_kafka_poll_set_consumer
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - conf
    - errstr
    argTypes:
    - RdKafka::Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 37
    functionDepth: 22
    functionLinenumber: 37
    functionLinenumberEnd: 81
    functionName: "*RdKafka::KafkaConsumer::create(\n    const RdKafka::Conf *conf,\n
      \   std::string &errstr)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::KafkaConsumerImpl*::set_common_config
    - RdKafka::KafkaConsumerImpl::KafkaConsumerImpl
    - rd_kafka_conf_dup
    - dynamic_cast<const RdKafka::ConfImpl *>
    - rd_kafka_poll_set_consumer
    - rd_kafka_conf_get
    - rd_kafka_new
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: RdKafka::KafkaConsumer
    signature: "RdKafka::KafkaConsumer *RdKafka::KafkaConsumer::create(\n    const
      RdKafka::Conf *conf,\n    std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:90,1
    - Dst: std::vector<std::string>::size
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:90,1
    - Dst: std::vector<std::string>::size
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:92,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:93,1
    - Dst: c_str
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:93,1
    - Dst: rd_kafka_subscribe
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:96,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:98,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - topics
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: "RdKafka::KafkaConsumerImpl::subscribe(\n    const std::vector<std::string>
      &topics)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - std::vector<std::string>::size
    - c_str
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_subscribe
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::subscribe(\n    const
      std::vector<std::string> &topics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:106,1
    - Dst: rd_kafka_unsubscribe
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: RdKafka::KafkaConsumerImpl::unsubscribe()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_unsubscribe
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::unsubscribe()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_poll
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:112,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:115,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 6
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: '*RdKafka::KafkaConsumerImpl::consume(int timeout_ms)'
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_poll
    - RdKafka::MessageImpl::MessageImpl
    linkageType: ''
    returnType: RdKafka::Message
    signature: RdKafka::Message *RdKafka::KafkaConsumerImpl::consume(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:128,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:129,1
    - Dst: std::vector<RdKafka::TopicPartition *>::resize
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:131,1
    - Dst: RdKafka::TopicPartitionImpl::TopicPartitionImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:134,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 123
    functionDepth: 4
    functionLinenumber: 123
    functionLinenumberEnd: 139
    functionName: "RdKafka::KafkaConsumerImpl::assignment(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - std::vector<RdKafka::TopicPartition *>::resize
    - RdKafka::TopicPartitionImpl::TopicPartitionImpl
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_assignment
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::assignment(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_assignment_lost
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: RdKafka::KafkaConsumerImpl::assignment_lost()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_assignment_lost
    linkageType: ''
    returnType: bool
    signature: bool RdKafka::KafkaConsumerImpl::assignment_lost()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_subscription
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:154,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:155,1
    - Dst: std::vector<std::string>::resize
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:157,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:159,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - topics
    argTypes:
    - std::vector<std::string>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 4
    functionLinenumber: 149
    functionLinenumberEnd: 164
    functionName: "RdKafka::KafkaConsumerImpl::subscription(\n    std::vector<std::string>
      &topics)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_subscription
    - std::vector<std::string>::resize
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::subscription(\n    std::vector<std::string>
      &topics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:172,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:174,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:176,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: "RdKafka::KafkaConsumerImpl::assign(\n    const std::vector<TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_assign
    - rd_kafka_topic_partition_list_destroy
    - static_cast<RdKafka::ErrorCode>
    - partitions_to_c_parts
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::assign(\n    const
      std::vector<TopicPartition *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:182,1
    - Dst: rd_kafka_assign
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: RdKafka::KafkaConsumerImpl::unassign()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_assign
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::unassign()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:191,1
    - Dst: rd_kafka_incremental_assign
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:192,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:193,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: "*RdKafka::KafkaConsumerImpl::incremental_assign(\n    const std::vector<TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_incremental_assign
    - ErrorImpl::ErrorImpl
    - rd_kafka_topic_partition_list_destroy
    - partitions_to_c_parts
    linkageType: ''
    returnType: RdKafka::Error
    signature: "RdKafka::Error *RdKafka::KafkaConsumerImpl::incremental_assign(\n
      \   const std::vector<TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:207,1
    - Dst: rd_kafka_incremental_unassign
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:208,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:209,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 4
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: "*RdKafka::KafkaConsumerImpl::incremental_unassign(\n    const std::vector<TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_incremental_unassign
    - partitions_to_c_parts
    linkageType: ''
    returnType: RdKafka::Error
    signature: "RdKafka::Error *RdKafka::KafkaConsumerImpl::incremental_unassign(\n
      \   const std::vector<TopicPartition *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:224,1
    - Dst: rd_kafka_committed
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:226,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:229,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:232,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - partitions
    - timeout_ms
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 218
    functionDepth: 7
    functionLinenumber: 218
    functionLinenumberEnd: 235
    functionName: "RdKafka::KafkaConsumerImpl::committed(\n    std::vector<RdKafka::TopicPartition
      *> &partitions,\n    int timeout_ms)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - update_partitions_from_c_parts
    - static_cast<RdKafka::ErrorCode>
    - partitions_to_c_parts
    - rd_kafka_committed
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::committed(\n    std::vector<RdKafka::TopicPartition
      *> &partitions,\n    int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:243,1
    - Dst: rd_kafka_position
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:245,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:248,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:251,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: "RdKafka::KafkaConsumerImpl::position(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_position
    - update_partitions_from_c_parts
    - static_cast<RdKafka::ErrorCode>
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::position(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::TopicPartitionImpl *>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:261,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:264,1
    - Dst: RdKafka::TopicPartitionImpl*::topic_::c_str
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:264,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:265,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:265,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:268,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:269,1
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - partition
    - timeout_ms
    argTypes:
    - RdKafka::TopicPartition
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: "RdKafka::KafkaConsumerImpl::seek(\n    const RdKafka::TopicPartition
      &partition,\n    int timeout_ms)"
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartitionImpl*::topic_::c_str
    - rd_kafka_topic_destroy
    - rd_kafka_topic_new
    - dynamic_cast<const RdKafka::TopicPartitionImpl *>
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_seek
    - rd_kafka_last_error
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::seek(\n    const RdKafka::TopicPartition
      &partition,\n    int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:279,1
    - Dst: rd_kafka_consumer_close
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 7
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: RdKafka::KafkaConsumerImpl::close()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_consumer_close
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode RdKafka::KafkaConsumerImpl::close()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<QueueImpl *>
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:284,1
    - Dst: rd_kafka_consumer_close_queue
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:287,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 4
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: '*RdKafka::KafkaConsumerImpl::close(Queue *queue)'
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - dynamic_cast<QueueImpl *>
    - rd_kafka_consumer_close_queue
    linkageType: ''
    returnType: RdKafka::Error
    signature: RdKafka::Error *RdKafka::KafkaConsumerImpl::close(Queue *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: RdKafka::ConsumerGroupMetadata::~ConsumerGroupMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::ConsumerGroupMetadata::~ConsumerGroupMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 694
    functionName: RdKafka::Error
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Error
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: ~Error()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: RdKafka::DeliveryReportCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT DeliveryReportCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: ~DeliveryReportCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeliveryReportCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: RdKafka::OAuthBearerTokenRefreshCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OAuthBearerTokenRefreshCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: ~OAuthBearerTokenRefreshCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OAuthBearerTokenRefreshCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 817
    functionName: RdKafka::PartitionerCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT PartitionerCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: ~PartitionerCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionerCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: ~PartitionerKeyPointerCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionerKeyPointerCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 864
    functionName: RdKafka::EventCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT EventCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: ~EventCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 958
    functionName: RdKafka::Event
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Event
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: ~Event()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 978
    functionName: RdKafka::ConsumeCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT ConsumeCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 977
    functionName: ~ConsumeCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConsumeCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1060
    functionName: RdKafka::RebalanceCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT RebalanceCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1059
    functionName: ~RebalanceCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RebalanceCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1088
    functionName: RdKafka::OffsetCommitCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OffsetCommitCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1087
    functionName: ~OffsetCommitCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OffsetCommitCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1145
    functionName: RdKafka::SslCertificateVerifyCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT SslCertificateVerifyCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1144
    functionName: ~SslCertificateVerifyCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SslCertificateVerifyCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1171
    functionName: RdKafka::SocketCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT SocketCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1170
    functionName: ~SocketCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SocketCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1195
    functionName: RdKafka::OpenCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OpenCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1194
    functionName: ~OpenCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OpenCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1525
    functionName: RdKafka::Conf
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Conf
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1243
    functionName: ~Conf()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Conf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1948
    functionName: RdKafka::Handle
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Handle
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 2022
    functionName: RdKafka::TopicPartition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT TopicPartition
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ~TopicPartition()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicPartition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2109
    functionName: RdKafka::Topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Topic
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2061
    functionName: ~Topic()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: RdKafka::MessageTimestamp
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT MessageTimestamp
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2158,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2182,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2204,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2214,1
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2232,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2234,1
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2241,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2257,1
    - Dst: RdKafka::mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2275,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2385
    functionName: RdKafka::Headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 1
    functionsReached:
    - copy_value
    - RdKafka::mem_free
    - RdKafka::mem_malloc
    - RdKafka::Headers
    - static_cast<const char *>
    - memcpy
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Headers
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - value_size
    argTypes:
    - std::string
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2183
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: void Header(const std::string &key, const void *value, size_t value_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - key
    - value
    - value_size
    - err
    argTypes:
    - std::string
    - void*
    - size_t
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2205
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: "void Header(const std::string &key,\n           const void *value,\n
      \          size_t value_size,\n           const RdKafka::ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: void Header(const Header &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2232,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2237
    functionName: '&operator=(const Header &other)'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::mem_free
    - copy_value
    linkageType: ''
    returnType: Header
    signature: Header &operator=(const Header &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2239
    functionDepth: 1
    functionLinenumber: 2239
    functionLinenumberEnd: 2242
    functionName: ~Header()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::mem_free
    linkageType: ''
    returnType: void
    signature: void ~Header()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2247
    functionName: RdKafka::Header::key
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2252
    functionName: RdKafka::Header::value
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2258
    functionName: RdKafka::Header::value_string
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    linkageType: ''
    returnType: char
    signature: char *value_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2263
    functionName: RdKafka::Header::value_size
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t value_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2268
    functionName: RdKafka::Header::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode err() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2275,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - value_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2280
    functionName: RdKafka::Header::copy_value
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 3
    functionsReached:
    - memcpy
    - mem_malloc
    linkageType: ''
    returnType: char
    signature: char *copy_value(const void *value, size_t value_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2539
    functionName: RdKafka::Message
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Message
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: ~Message()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2624
    functionName: RdKafka::Queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Queue
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2606
    functionName: ~Queue()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::ConsumerGroupMetadata
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2642
    functionName: RdKafka::ConsumerGroupMetadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 1
    functionsReached:
    - RdKafka::ConsumerGroupMetadata
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT ConsumerGroupMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 3059
    functionName: RdKafka::KafkaConsumer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT KafkaConsumer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2676
    functionName: ~KafkaConsumer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KafkaConsumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3243
    functionName: RdKafka::Consumer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Consumer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3090
    functionName: ~Consumer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Consumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3661
    functionName: RdKafka::Producer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Producer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3273
    functionName: ~Producer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Producer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3687
    functionName: ~BrokerMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BrokerMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3725
      start: 3725
    functionDepth: 0
    functionLinenumber: 3725
    functionLinenumberEnd: 3725
    functionName: ~PartitionMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3749
    functionName: ~TopicMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3789
    functionName: ~Metadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 694
    functionName: RdKafka::Error
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Error
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: ~Error()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Error()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: RdKafka::DeliveryReportCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT DeliveryReportCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: ~DeliveryReportCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~DeliveryReportCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 781
    functionName: RdKafka::OAuthBearerTokenRefreshCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OAuthBearerTokenRefreshCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: ~OAuthBearerTokenRefreshCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OAuthBearerTokenRefreshCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 817
    functionName: RdKafka::PartitionerCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT PartitionerCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: ~PartitionerCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionerCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 840
    functionName: ~PartitionerKeyPointerCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionerKeyPointerCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 864
    functionName: RdKafka::EventCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT EventCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 863
    functionName: ~EventCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 958
    functionName: RdKafka::Event
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Event
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 893
    functionName: ~Event()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Event()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 978
    functionName: RdKafka::ConsumeCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT ConsumeCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 977
    functionName: ~ConsumeCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~ConsumeCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1060
    functionName: RdKafka::RebalanceCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT RebalanceCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1059
    functionName: ~RebalanceCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~RebalanceCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1088
    functionName: RdKafka::OffsetCommitCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OffsetCommitCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1087
    functionName: ~OffsetCommitCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OffsetCommitCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1145
    functionName: RdKafka::SslCertificateVerifyCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT SslCertificateVerifyCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1144
    functionName: ~SslCertificateVerifyCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SslCertificateVerifyCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1171
    functionName: RdKafka::SocketCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT SocketCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1170
    functionName: ~SocketCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~SocketCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1195
    functionName: RdKafka::OpenCb
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT OpenCb
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1194
    functionName: ~OpenCb()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~OpenCb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1525
    functionName: RdKafka::Conf
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Conf
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1243
    functionName: ~Conf()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Conf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1948
    functionName: RdKafka::Handle
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Handle
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 2022
    functionName: RdKafka::TopicPartition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT TopicPartition
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1988
    functionName: ~TopicPartition()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicPartition()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2109
    functionName: RdKafka::Topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Topic
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2061
    functionName: ~Topic()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2144
    functionName: RdKafka::MessageTimestamp
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT MessageTimestamp
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2158,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2182,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2204,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2214,1
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2232,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2234,1
    - Dst: RdKafka::mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2241,1
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2257,1
    - Dst: RdKafka::mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2275,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2385
    functionName: RdKafka::Headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 2
    functionsReached:
    - copy_value
    - RdKafka::mem_free
    - RdKafka::mem_malloc
    - RdKafka::Headers
    - static_cast<const char *>
    - memcpy
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Headers
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - key
    - value
    - value_size
    argTypes:
    - std::string
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2183
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: void Header(const std::string &key, const void *value, size_t value_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - key
    - value
    - value_size
    - err
    argTypes:
    - std::string
    - void*
    - size_t
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2198
    functionDepth: 1
    functionLinenumber: 2198
    functionLinenumberEnd: 2205
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: "void Header(const std::string &key,\n           const void *value,\n
      \          size_t value_size,\n           const RdKafka::ErrorCode err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::Header::copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - other
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2215
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2215
    functionName: RdKafka::Header::Header
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - RdKafka::Header::copy_value
    linkageType: ''
    returnType: void
    signature: void Header(const Header &other)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2232,1
    - Dst: copy_value
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - other
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2237
    functionName: '&operator=(const Header &other)'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - copy_value
    - mem_free
    linkageType: ''
    returnType: Header
    signature: Header &operator=(const Header &other)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2242
    functionName: ~Header()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - mem_free
    linkageType: ''
    returnType: void
    signature: void ~Header()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2247
    functionName: RdKafka::Header::key
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2252
    functionName: RdKafka::Header::value
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const char *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2258
    functionName: RdKafka::Header::value_string
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached:
    - static_cast<const char *>
    linkageType: ''
    returnType: char
    signature: char *value_string() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2263
    functionName: RdKafka::Header::value_size
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t value_size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2268
    functionName: RdKafka::Header::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode err() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2275,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - value
    - value_size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2280
    functionName: RdKafka::Header::copy_value
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 6
    functionsReached:
    - memcpy
    - mem_malloc
    linkageType: ''
    returnType: char
    signature: char *copy_value(const void *value, size_t value_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2399
    functionDepth: 0
    functionLinenumber: 2399
    functionLinenumberEnd: 2539
    functionName: RdKafka::Message
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Message
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2468
    functionName: ~Message()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2624
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2624
    functionName: RdKafka::Queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Queue
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2606
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2606
    functionName: ~Queue()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::ConsumerGroupMetadata
      Src: /src/librdkafka/src-cpp/rdkafkacpp.h:2641,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2642
      start: 2639
    functionDepth: 1
    functionLinenumber: 2639
    functionLinenumberEnd: 2642
    functionName: RdKafka::ConsumerGroupMetadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 2
    functionsReached:
    - RdKafka::ConsumerGroupMetadata
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT ConsumerGroupMetadata
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 3059
    functionName: RdKafka::KafkaConsumer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT KafkaConsumer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2676
    functionDepth: 0
    functionLinenumber: 2676
    functionLinenumberEnd: 2676
    functionName: ~KafkaConsumer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~KafkaConsumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3243
    functionName: RdKafka::Consumer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Consumer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3090
    functionName: ~Consumer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Consumer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3661
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3661
    functionName: RdKafka::Producer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: class RD_EXPORT
    signature: class RD_EXPORT Producer
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3273
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3273
    functionName: ~Producer()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Producer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3687
    functionName: ~BrokerMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~BrokerMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3725
      start: 3725
    functionDepth: 0
    functionLinenumber: 3725
    functionLinenumberEnd: 3725
    functionName: ~PartitionMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PartitionMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3749
    functionName: ~TopicMetadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3789
    functionName: ~Metadata()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: RdKafka::TopicPartition::~TopicPartition()
    functionSourceFile: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::TopicPartition::~TopicPartition()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopicPartitionImpl::TopicPartitionImpl
      Src: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: "*RdKafka::TopicPartition::create(\n    const std::string &topic,\n
      \   int partition)"
    functionSourceFile: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp
    functionUses: 0
    functionsReached:
    - TopicPartitionImpl::TopicPartitionImpl
    linkageType: ''
    returnType: RdKafka::TopicPartition
    signature: "RdKafka::TopicPartition *RdKafka::TopicPartition::create(\n    const
      std::string &topic,\n    int partition)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TopicPartitionImpl::TopicPartitionImpl
      Src: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - topic
    - partition
    - offset
    argTypes:
    - std::string
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: "*RdKafka::TopicPartition::create(\n    const std::string &topic,\n
      \   int partition,\n    int64_t offset)"
    functionSourceFile: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp
    functionUses: 0
    functionsReached:
    - TopicPartitionImpl::TopicPartitionImpl
    linkageType: ''
    returnType: RdKafka::TopicPartition
    signature: "RdKafka::TopicPartition *RdKafka::TopicPartition::create(\n    const
      std::string &topic,\n    int partition,\n    int64_t offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<TopicPartition *>::begin
      Src: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp:53,1
    - Dst: std::vector<TopicPartition *>::end
      Src: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp:54,1
    - Dst: std::vector<TopicPartition *>::clear
      Src: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: "RdKafka::TopicPartition::destroy(\n    std::vector<TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp
    functionUses: 0
    functionsReached:
    - std::vector<TopicPartition *>::end
    - std::vector<TopicPartition *>::clear
    - std::vector<TopicPartition *>::begin
    linkageType: ''
    returnType: void
    signature: "void RdKafka::TopicPartition::destroy(\n    std::vector<TopicPartition
      *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: RdKafka::Message::~Message()
    functionSourceFile: /src/librdkafka/src-cpp/MessageImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Message::~Message()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:37,1
    - Dst: static_cast<Topic *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:38,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:38,1
    - Dst: RdKafka::HandleImpl*::consume_cb_::consume_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 44
    functionName: RdKafka::consume_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_opaque
    - static_cast<RdKafka::HandleImpl *>
    - static_cast<Topic *>
    - RdKafka::HandleImpl*::consume_cb_::consume_cb
    linkageType: ''
    returnType: void
    signature: void RdKafka::consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_log_print
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:51,1
    - Dst: rd_kafka_opaque
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:55,1
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:56,1
    - Dst: rd_kafka_log_print
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:59,1
    - Dst: RdKafka::HandleImpl*::event_cb_::event_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - rk
    - level
    - fac
    - buf
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: RdKafka::log_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::HandleImpl *>
    - rd_kafka_opaque
    - RdKafka::HandleImpl*::event_cb_::event_cb
    - rd_kafka_log_print
    linkageType: ''
    returnType: void
    signature: "void RdKafka::log_cb_trampoline(const rd_kafka_t *rk,\n                                int
      level,\n                                const char *fac,\n                                const
      char *buf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:75,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:81,1
    - Dst: RdKafka::HandleImpl*::event_cb_::event_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - rk
    - err
    - reason
    - opaque
    argTypes:
    - rd_kafka_t*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 2
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: RdKafka::error_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_fatal_error
    - static_cast<RdKafka::HandleImpl *>
    - RdKafka::HandleImpl*::event_cb_::event_cb
    linkageType: ''
    returnType: void
    signature: "void RdKafka::error_cb_trampoline(rd_kafka_t *rk,\n                                  int
      err,\n                                  const char *reason,\n                                  void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:99,1
    - Dst: RdKafka::HandleImpl*::event_cb_::event_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rk
    - broker_name
    - broker_id
    - throttle_time_ms
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: RdKafka::throttle_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::HandleImpl *>
    - RdKafka::HandleImpl*::event_cb_::event_cb
    linkageType: ''
    returnType: void
    signature: "void RdKafka::throttle_cb_trampoline(rd_kafka_t *rk,\n                                     const
      char *broker_name,\n                                     int32_t broker_id,\n
      \                                    int throttle_time_ms,\n                                     void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:114,1
    - Dst: RdKafka::HandleImpl*::event_cb_::event_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - rk
    - json
    - json_len
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: RdKafka::stats_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::HandleImpl *>
    - RdKafka::HandleImpl*::event_cb_::event_cb
    linkageType: ''
    returnType: int
    signature: "int RdKafka::stats_cb_trampoline(rd_kafka_t *rk,\n                                 char
      *json,\n                                 size_t json_len,\n                                 void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:129,1
    - Dst: RdKafka::HandleImpl*::socket_cb_::socket_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - domain
    - type
    - protocol
    - opaque
    argTypes:
    - int
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: RdKafka::socket_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::HandleImpl *>
    - RdKafka::HandleImpl*::socket_cb_::socket_cb
    linkageType: ''
    returnType: int
    signature: "int RdKafka::socket_cb_trampoline(int domain,\n                                  int
      type,\n                                  int protocol,\n                                  void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:138,1
    - Dst: RdKafka::HandleImpl*::open_cb_::open_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:140,1
    - Dst: static_cast<int>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pathname
    - flags
    - mode
    - opaque
    argTypes:
    - char*
    - int
    - mode_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: RdKafka::open_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::HandleImpl*::open_cb_::open_cb
    - static_cast<int>
    - static_cast<RdKafka::HandleImpl *>
    linkageType: ''
    returnType: int
    signature: "int RdKafka::open_cb_trampoline(const char *pathname,\n                                int
      flags,\n                                mode_t mode,\n                                void
      *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:147,1
    - Dst: RdKafka::HandleImpl*::oauthbearer_token_refresh_cb_::oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:149,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rk
    - oauthbearer_config
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: RdKafka::oauthbearer_token_refresh_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - std::string
    - static_cast<RdKafka::HandleImpl *>
    - RdKafka::HandleImpl*::oauthbearer_token_refresh_cb_::oauthbearer_token_refresh_cb
    linkageType: ''
    returnType: void
    signature: "void RdKafka::oauthbearer_token_refresh_cb_trampoline(\n    rd_kafka_t
      *rk,\n    const char *oauthbearer_config,\n    void *opaque)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:164,1
    - Dst: RdKafka::HandleImpl*::ssl_cert_verify_cb_::ssl_cert_verify_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:167,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:168,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:175,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:175,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:177,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 10
    argNames:
    - rk
    - broker_name
    - broker_id
    - x509_error
    - depth
    - buf
    - size
    - errstr
    - errstr_size
    - opaque
    argTypes:
    - rd_kafka_t*
    - char*
    - int32_t
    - int*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 182
    functionName: RdKafka::ssl_cert_verify_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::HandleImpl*::ssl_cert_verify_cb_::ssl_cert_verify_cb
    - std::string::c_str
    - std::string
    - memcpy
    - static_cast<RdKafka::HandleImpl *>
    - std::string::size
    linkageType: ''
    returnType: int
    signature: "int RdKafka::ssl_cert_verify_cb_trampoline(rd_kafka_t *rk,\n                                           const
      char *broker_name,\n                                           int32_t broker_id,\n
      \                                          int *x509_error,\n                                           int
      depth,\n                                           const char *buf,\n                                           size_t
      size,\n                                           char *errstr,\n                                           size_t
      errstr_size,\n                                           void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const TopicImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:192,1
    - Dst: rd_kafka_metadata
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:195,1
    - Dst: RdKafka::MetadataImpl::MetadataImpl
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:198,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - all_topics
    - only_rkt
    - metadatap
    - timeout_ms
    argTypes:
    - bool
    - Topic*
    - Metadata**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 11
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: "RdKafka::HandleImpl::metadata(bool all_topics,\n                                                 const
      Topic *only_rkt,\n                                                 Metadata
      **metadatap,\n                                                 int timeout_ms)"
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<const TopicImpl *>
    - RdKafka::MetadataImpl::MetadataImpl
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_metadata
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::HandleImpl::metadata(bool all_topics,\n
      \                                                const Topic *only_rkt,\n                                                 Metadata
      **metadatap,\n                                                 int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::resize
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:210,1
    - Dst: RdKafka::TopicPartitionImpl::TopicPartitionImpl
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - c_parts
    - partitions
    argTypes:
    - rd_kafka_topic_partition_list_t*
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 213
    functionName: c_parts_to_partitions
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - std::vector<RdKafka::TopicPartition *>::resize
    - RdKafka::TopicPartitionImpl::TopicPartitionImpl
    linkageType: ''
    returnType: void
    signature: "void c_parts_to_partitions(\n    const rd_kafka_topic_partition_list_t
      *c_parts,\n    std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:216,1
    - Dst: std::vector<RdKafka::TopicPartition *>::clear
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: free_partition_vector
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - std::vector<RdKafka::TopicPartition *>::clear
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: void free_partition_vector(std::vector<RdKafka::TopicPartition *> &v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:226,1
    - Dst: c_parts_to_partitions
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:229,1
    - Dst: RdKafka::HandleImpl*::rebalance_cb_::rebalance_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:231,1
    - Dst: dynamic_cast<RdKafka::KafkaConsumer *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:232,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:233,1
    - Dst: free_partition_vector
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rk
    - err
    - c_partitions
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: RdKafka::rebalance_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<RdKafka::KafkaConsumer *>
    - c_parts_to_partitions
    - RdKafka::HandleImpl*::rebalance_cb_::rebalance_cb
    - static_cast<RdKafka::ErrorCode>
    - free_partition_vector
    - static_cast<RdKafka::HandleImpl *>
    linkageType: ''
    returnType: void
    signature: "void RdKafka::rebalance_cb_trampoline(\n    rd_kafka_t *rk,\n    rd_kafka_resp_err_t
      err,\n    rd_kafka_topic_partition_list_t *c_partitions,\n    void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::OffsetCommitCb *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:244,1
    - Dst: c_parts_to_partitions
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:248,1
    - Dst: OffsetCommitCb*::offset_commit_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:250,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:250,1
    - Dst: free_partition_vector
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - rk
    - err
    - c_offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: RdKafka::offset_commit_cb_trampoline0
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - c_parts_to_partitions
    - OffsetCommitCb*::offset_commit_cb
    - static_cast<RdKafka::ErrorCode>
    - free_partition_vector
    - static_cast<RdKafka::OffsetCommitCb *>
    linkageType: ''
    returnType: void
    signature: "void RdKafka::offset_commit_cb_trampoline0(\n    rd_kafka_t *rk,\n
      \   rd_kafka_resp_err_t err,\n    rd_kafka_topic_partition_list_t *c_offsets,\n
      \   void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::HandleImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:260,1
    - Dst: RdKafka::offset_commit_cb_trampoline0
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - rk
    - err
    - c_offsets
    - opaque
    argTypes:
    - rd_kafka_t*
    - rd_kafka_resp_err_t
    - rd_kafka_topic_partition_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: offset_commit_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::offset_commit_cb_trampoline0
    - static_cast<RdKafka::HandleImpl *>
    linkageType: ''
    returnType: void
    signature: "void offset_commit_cb_trampoline(\n    rd_kafka_t *rk,\n    rd_kafka_resp_err_t
      err,\n    rd_kafka_topic_partition_list_t *c_offsets,\n    void *opaque)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_opaque
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:267,1
    - Dst: rd_kafka_conf_set_log_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:270,1
    - Dst: rd_kafka_conf_set_error_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:271,1
    - Dst: rd_kafka_conf_set_throttle_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:273,1
    - Dst: rd_kafka_conf_set_stats_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:275,1
    - Dst: rd_kafka_conf_set_oauthbearer_token_refresh_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:281,1
    - Dst: rd_kafka_conf_set_socket_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:287,1
    - Dst: rd_kafka_conf_set_ssl_cert_verify_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:293,1
    - Dst: rd_kafka_conf_set_open_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:300,1
    - Dst: rd_kafka_conf_set_rebalance_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:306,1
    - Dst: rd_kafka_conf_set_offset_commit_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:312,1
    - Dst: rd_kafka_conf_set_consume_cb
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - confimpl
    argTypes:
    - RdKafka::ConfImpl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 322
    functionName: RdKafka::HandleImpl::set_common_config(const RdKafka::ConfImpl *confimpl)
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_throttle_cb
    - rd_kafka_conf_set_error_cb
    - rd_kafka_conf_set_rebalance_cb
    - rd_kafka_conf_set_offset_commit_cb
    - rd_kafka_conf_set_consume_cb
    - rd_kafka_conf_set_opaque
    - rd_kafka_conf_set_open_cb
    - rd_kafka_conf_set_log_cb
    - rd_kafka_conf_set_oauthbearer_token_refresh_cb
    - rd_kafka_conf_set_socket_cb
    - rd_kafka_conf_set_ssl_cert_verify_cb
    - rd_kafka_conf_set_stats_cb
    linkageType: ''
    returnType: void
    signature: void RdKafka::HandleImpl::set_common_config(const RdKafka::ConfImpl
      *confimpl)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:330,1
    - Dst: rd_kafka_pause_partitions
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:332,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:335,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:337,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 4
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: "RdKafka::HandleImpl::pause(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - update_partitions_from_c_parts
    - static_cast<RdKafka::ErrorCode>
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_pause_partitions
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::HandleImpl::pause(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:348,1
    - Dst: rd_kafka_resume_partitions
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:350,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:353,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:355,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:357,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 4
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: "RdKafka::HandleImpl::resume(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_resume_partitions
    - update_partitions_from_c_parts
    - static_cast<RdKafka::ErrorCode>
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::HandleImpl::resume(\n    std::vector<RdKafka::TopicPartition
      *> &partitions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_partition
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:363,1
    - Dst: TopicPartition*::topic
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:363,1
    - Dst: TopicPartition*::partition
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:364,1
    - Dst: QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - part
    argTypes:
    - TopicPartition*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 360
    functionDepth: 3
    functionLinenumber: 360
    functionLinenumberEnd: 370
    functionName: "*RdKafka::HandleImpl::get_partition_queue(\n    const TopicPartition
      *part)"
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_get_partition
    - TopicPartition*::topic
    - TopicPartition*::partition
    - QueueImpl::QueueImpl
    linkageType: ''
    returnType: RdKafka::Queue
    signature: "RdKafka::Queue *RdKafka::HandleImpl::get_partition_queue(\n    const
      TopicPartition *part)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<QueueImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:375,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:378,1
    - Dst: rd_kafka_set_log_queue
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - RdKafka::Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: RdKafka::HandleImpl::set_log_queue(RdKafka::Queue *queue)
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_set_log_queue
    - dynamic_cast<QueueImpl *>
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode RdKafka::HandleImpl::set_log_queue(RdKafka::Queue
      *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:387,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:387,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:389,1
    - Dst: dynamic_cast<const RdKafka::TopicPartitionImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:391,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:392,1
    - Dst: RdKafka::TopicPartitionImpl*::topic_::c_str
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:393,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:395,1
    - Dst: RdKafka::mem_malloc
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:396,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:396,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::data
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:399,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 406
    functionName: RdKafka::partitions_to_c_parts
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartitionImpl*::topic_::c_str
    - RdKafka::mem_malloc
    - dynamic_cast<const RdKafka::TopicPartitionImpl *>
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - RdKafka::TopicPartitionImpl*::metadata_::size
    - RdKafka::TopicPartitionImpl*::metadata_::data
    - rd_kafka_topic_partition_set_leader_epoch
    - memcpy
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *partitions_to_c_parts(\n    const
      std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:419,1
    - Dst: dynamic_cast<RdKafka::TopicPartitionImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:421,1
    - Dst: strcmp
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:422,1
    - Dst: RdKafka::TopicPartitionImpl*::topic_::c_str
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:422,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:425,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:426,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::assign
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - partitions
    - c_parts
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 434
    functionName: RdKafka::update_partitions_from_c_parts
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartitionImpl*::topic_::c_str
    - rd_kafka_topic_partition_get_leader_epoch
    - strcmp
    - static_cast<RdKafka::ErrorCode>
    - dynamic_cast<RdKafka::TopicPartitionImpl *>
    - RdKafka::TopicPartitionImpl*::metadata_::assign
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: "void update_partitions_from_c_parts(\n    std::vector<RdKafka::TopicPartition
      *> &partitions,\n    const rd_kafka_topic_partition_list_t *c_parts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_list_new
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:387,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:387,1
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:389,1
    - Dst: dynamic_cast<const RdKafka::TopicPartitionImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:391,1
    - Dst: rd_kafka_topic_partition_list_add
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:392,1
    - Dst: RdKafka::TopicPartitionImpl*::topic_::c_str
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:393,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:395,1
    - Dst: RdKafka::mem_malloc
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:396,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:396,1
    - Dst: memcpy
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::data
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:397,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:399,1
    - Dst: rd_kafka_topic_partition_set_leader_epoch
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - partitions
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 383
    functionDepth: 5
    functionLinenumber: 383
    functionLinenumberEnd: 406
    functionName: RdKafka::partitions_to_c_parts
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartitionImpl*::topic_::c_str
    - RdKafka::mem_malloc
    - dynamic_cast<const RdKafka::TopicPartitionImpl *>
    - rd_kafka_topic_partition_list_new
    - rd_kafka_topic_partition_list_add
    - RdKafka::TopicPartitionImpl*::metadata_::size
    - RdKafka::TopicPartitionImpl*::metadata_::data
    - rd_kafka_topic_partition_set_leader_epoch
    - memcpy
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: rd_kafka_topic_partition_list_t
    signature: "rd_kafka_topic_partition_list_t *partitions_to_c_parts(\n    const
      std::vector<RdKafka::TopicPartition *> &partitions)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<RdKafka::TopicPartition *>::size
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:419,1
    - Dst: dynamic_cast<RdKafka::TopicPartitionImpl *>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:421,1
    - Dst: strcmp
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:422,1
    - Dst: RdKafka::TopicPartitionImpl*::topic_::c_str
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:422,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:425,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:426,1
    - Dst: RdKafka::TopicPartitionImpl*::metadata_::assign
      Src: /src/librdkafka/src-cpp/HandleImpl.cpp:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - partitions
    - c_parts
    argTypes:
    - std::vector<RdKafka::TopicPartition *>
    - rd_kafka_topic_partition_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 434
    functionName: RdKafka::update_partitions_from_c_parts
    functionSourceFile: /src/librdkafka/src-cpp/HandleImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicPartitionImpl*::topic_::c_str
    - rd_kafka_topic_partition_get_leader_epoch
    - strcmp
    - static_cast<RdKafka::ErrorCode>
    - dynamic_cast<RdKafka::TopicPartitionImpl *>
    - RdKafka::TopicPartitionImpl*::metadata_::assign
    - std::vector<RdKafka::TopicPartition *>::size
    linkageType: ''
    returnType: void
    signature: "void update_partitions_from_c_parts(\n    std::vector<RdKafka::TopicPartition
      *> &partitions,\n    const rd_kafka_topic_partition_list_t *c_parts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: RdKafka::Consumer::~Consumer()
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Consumer::~Consumer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:43,1
    - Dst: RdKafka::ConsumerImpl::ConsumerImpl
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:44,1
    - Dst: RdKafka::ConsumerImpl*::set_common_config
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:54,1
    - Dst: rd_kafka_conf_dup
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:56,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:61,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - conf
    - errstr
    argTypes:
    - RdKafka::Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 39
    functionDepth: 22
    functionLinenumber: 39
    functionLinenumberEnd: 74
    functionName: "*RdKafka::Consumer::create(const RdKafka::Conf *conf,\n                                             std::string
      &errstr)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_dup
    - RdKafka::ConsumerImpl::ConsumerImpl
    - RdKafka::ConsumerImpl*::set_common_config
    - dynamic_cast<const RdKafka::ConfImpl *>
    - rd_kafka_new
    - rd_kafka_conf_destroy
    linkageType: ''
    returnType: RdKafka::Consumer
    signature: "RdKafka::Consumer *RdKafka::Consumer::create(const RdKafka::Conf *conf,\n
      \                                            std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RD_KAFKA_OFFSET_TAIL
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: RdKafka::Consumer::OffsetTail(int64_t offset)
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - RD_KAFKA_OFFSET_TAIL
    linkageType: ''
    returnType: int64_t
    signature: int64_t RdKafka::Consumer::OffsetTail(int64_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:83,1
    - Dst: rd_kafka_consume_start
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:85,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:86,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - topic
    - partition
    - offset
    argTypes:
    - Topic*
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: "RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
      partition,\n                                                int64_t offset)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - dynamic_cast<RdKafka::TopicImpl *>
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_consume_start
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
      partition,\n                                                int64_t offset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:96,1
    - Dst: dynamic_cast<RdKafka::QueueImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:97,1
    - Dst: rd_kafka_consume_start_queue
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:99,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:101,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - topic
    - partition
    - offset
    - queue
    argTypes:
    - Topic*
    - int32_t
    - int64_t
    - Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 104
    functionName: "RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
      partition,\n                                                int64_t offset,\n
      \                                               Queue *queue)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<RdKafka::QueueImpl *>
    - static_cast<RdKafka::ErrorCode>
    - dynamic_cast<RdKafka::TopicImpl *>
    - rd_kafka_last_error
    - rd_kafka_consume_start_queue
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
      partition,\n                                                int64_t offset,\n
      \                                               Queue *queue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:109,1
    - Dst: rd_kafka_consume_stop
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:111,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:112,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - Topic*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: "RdKafka::ConsumerImpl::stop(Topic *topic,\n                                               int32_t
      partition)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - dynamic_cast<RdKafka::TopicImpl *>
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_consume_stop
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ConsumerImpl::stop(Topic *topic,\n                                               int32_t
      partition)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:121,1
    - Dst: rd_kafka_seek
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:123,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:124,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - topic
    - partition
    - offset
    - timeout_ms
    argTypes:
    - Topic*
    - int32_t
    - int64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: "RdKafka::ConsumerImpl::seek(Topic *topic,\n                                               int32_t
      partition,\n                                               int64_t offset,\n
      \                                              int timeout_ms)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_last_error
    - dynamic_cast<RdKafka::TopicImpl *>
    - rd_kafka_seek
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: "RdKafka::ErrorCode RdKafka::ConsumerImpl::seek(Topic *topic,\n                                               int32_t
      partition,\n                                               int64_t offset,\n
      \                                              int timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:132,1
    - Dst: rd_kafka_consume
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:135,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:139,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:139,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:137,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - topic
    - partition
    - timeout_ms
    argTypes:
    - Topic*
    - int32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 129
    functionDepth: 6
    functionLinenumber: 129
    functionLinenumberEnd: 142
    functionName: "*RdKafka::ConsumerImpl::consume(Topic *topic,\n                                                 int32_t
      partition,\n                                                 int timeout_ms)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::MessageImpl::MessageImpl
    - static_cast<RdKafka::ErrorCode>
    - dynamic_cast<RdKafka::TopicImpl *>
    - rd_kafka_consume
    - rd_kafka_last_error
    linkageType: ''
    returnType: RdKafka::Message
    signature: "RdKafka::Message *RdKafka::ConsumerImpl::consume(Topic *topic,\n                                                 int32_t
      partition,\n                                                 int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - topic
    - cb
    - data
    argTypes:
    - RdKafka::Topic*
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: ConsumerImplCallback
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConsumerImplCallback(RdKafka::Topic *topic,\n                       RdKafka::ConsumeCb
      *cb,\n                       void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConsumerImplCallback *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:161,1
    - Dst: ConsumerImplCallback*::cb_cls::consume_cb
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: consume_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - ConsumerImplCallback*::cb_cls::consume_cb
    - static_cast<ConsumerImplCallback *>
    linkageType: ''
    returnType: void
    signature: void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - topic
    - cb
    - data
    argTypes:
    - RdKafka::Topic*
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: ConsumerImplCallback
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ConsumerImplCallback(RdKafka::Topic *topic,\n                       RdKafka::ConsumeCb
      *cb,\n                       void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConsumerImplCallback *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:161,1
    - Dst: ConsumerImplCallback*::cb_cls::consume_cb
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: consume_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - ConsumerImplCallback*::cb_cls::consume_cb
    - static_cast<ConsumerImplCallback *>
    linkageType: ''
    returnType: void
    signature: void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:177,1
    - Dst: rd_kafka_consume_callback
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topic
    - partition
    - timeout_ms
    - consume_cb
    - opaque
    argTypes:
    - RdKafka::Topic*
    - int32_t
    - int
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: "RdKafka::ConsumerImpl::consume_callback(RdKafka::Topic *topic,\n
      \                                           int32_t partition,\n                                            int
      timeout_ms,\n                                            RdKafka::ConsumeCb
      *consume_cb,\n                                            void *opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::TopicImpl *>
    - rd_kafka_consume_callback
    linkageType: ''
    returnType: int
    signature: "int RdKafka::ConsumerImpl::consume_callback(RdKafka::Topic *topic,\n
      \                                           int32_t partition,\n                                            int
      timeout_ms,\n                                            RdKafka::ConsumeCb
      *consume_cb,\n                                            void *opaque)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::QueueImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:186,1
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:189,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:193,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:193,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:191,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:198,1
    - Dst: static_cast<Topic *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:199,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - timeout_ms
    argTypes:
    - Queue*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: '*RdKafka::ConsumerImpl::consume(Queue *queue, int timeout_ms)'
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_queue
    - dynamic_cast<RdKafka::QueueImpl *>
    - RdKafka::MessageImpl::MessageImpl
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_topic_opaque
    - rd_kafka_last_error
    - static_cast<Topic *>
    linkageType: ''
    returnType: RdKafka::Message
    signature: RdKafka::Message *RdKafka::ConsumerImpl::consume(Queue *queue, int
      timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cb
    - data
    argTypes:
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: ConsumerImplQueueCallback
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsumerImplQueueCallback(RdKafka::ConsumeCb *cb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConsumerImplQueueCallback *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:219,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:224,1
    - Dst: static_cast<RdKafka::Topic *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:225,1
    - Dst: ConsumerImplQueueCallback*::cb_cls::consume_cb
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: consume_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ConsumerImplQueueCallback *>
    - ConsumerImplQueueCallback*::cb_cls::consume_cb
    - rd_kafka_topic_opaque
    - static_cast<RdKafka::Topic *>
    linkageType: ''
    returnType: void
    signature: void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cb
    - data
    argTypes:
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: ConsumerImplQueueCallback
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsumerImplQueueCallback(RdKafka::ConsumeCb *cb, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ConsumerImplQueueCallback *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:219,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:224,1
    - Dst: static_cast<RdKafka::Topic *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:225,1
    - Dst: ConsumerImplQueueCallback*::cb_cls::consume_cb
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - opaque
    argTypes:
    - rd_kafka_message_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: consume_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<ConsumerImplQueueCallback *>
    - ConsumerImplQueueCallback*::cb_cls::consume_cb
    - rd_kafka_topic_opaque
    - static_cast<RdKafka::Topic *>
    linkageType: ''
    returnType: void
    signature: void consume_cb_trampoline(rd_kafka_message_t *msg, void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<RdKafka::QueueImpl *>
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:239,1
    - Dst: rd_kafka_consume_callback_queue
      Src: /src/librdkafka/src-cpp/ConsumerImpl.cpp:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - queue
    - timeout_ms
    - consume_cb
    - opaque
    argTypes:
    - Queue*
    - int
    - RdKafka::ConsumeCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 6
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: "RdKafka::ConsumerImpl::consume_callback(Queue *queue,\n                                            int
      timeout_ms,\n                                            RdKafka::ConsumeCb
      *consume_cb,\n                                            void *opaque)"
    functionSourceFile: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    functionUses: 0
    functionsReached:
    - dynamic_cast<RdKafka::QueueImpl *>
    - rd_kafka_consume_callback_queue
    linkageType: ''
    returnType: int
    signature: "int RdKafka::ConsumerImpl::consume_callback(Queue *queue,\n                                            int
      timeout_ms,\n                                            RdKafka::ConsumeCb
      *consume_cb,\n                                            void *opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: RdKafka::Topic::~Topic()
    functionSourceFile: /src/librdkafka/src-cpp/TopicImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Topic::~Topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:55,1
    - Dst: RdKafka::TopicImpl*::partitioner_cb_::partitioner_cb
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - keydata
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: partitioner_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/TopicImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::TopicImpl *>
    - RdKafka::TopicImpl*::partitioner_cb_::partitioner_cb
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitioner_cb_trampoline(const rd_kafka_topic_t *rkt,\n                                         const
      void *keydata,\n                                         size_t keylen,\n                                         int32_t
      partition_cnt,\n                                         void *rkt_opaque,\n
      \                                        void *msg_opaque)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::TopicImpl *>
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:67,1
    - Dst: RdKafka::TopicImpl*::partitioner_kp_cb_::partitioner_cb
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - rkt
    - keydata
    - keylen
    - partition_cnt
    - rkt_opaque
    - msg_opaque
    argTypes:
    - rd_kafka_topic_t*
    - void*
    - size_t
    - int32_t
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: partitioner_kp_cb_trampoline
    functionSourceFile: /src/librdkafka/src-cpp/TopicImpl.cpp
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::TopicImpl *>
    - RdKafka::TopicImpl*::partitioner_kp_cb_::partitioner_cb
    linkageType: ''
    returnType: int32_t
    signature: "int32_t partitioner_kp_cb_trampoline(const rd_kafka_topic_t *rkt,\n
      \                                           const void *keydata,\n                                            size_t
      keylen,\n                                            int32_t partition_cnt,\n
      \                                           void *rkt_opaque,\n                                            void
      *msg_opaque)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:79,1
    - Dst: dynamic_cast<HandleImpl *>
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:82,1
    - Dst: RdKafka::TopicImpl::TopicImpl
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:84,1
    - Dst: rd_kafka_default_topic_conf_dup
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:89,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:92,1
    - Dst: rd_kafka_topic_conf_set_opaque
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:99,1
    - Dst: static_cast<void *>
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:99,1
    - Dst: rd_kafka_topic_conf_set_partitioner_cb
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:103,1
    - Dst: rd_kafka_topic_conf_set_partitioner_cb
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:107,1
    - Dst: rd_kafka_topic_new
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:114,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:114,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:115,1
    - Dst: rd_kafka_last_error
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:115,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src-cpp/TopicImpl.cpp:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - base
    - topic_str
    - conf
    - errstr
    argTypes:
    - Handle*
    - std::string
    - Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 74
    functionDepth: 23
    functionLinenumber: 74
    functionLinenumberEnd: 124
    functionName: "*RdKafka::Topic::create(Handle *base,\n                                       const
      std::string &topic_str,\n                                       const Conf *conf,\n
      \                                      std::string &errstr)"
    functionSourceFile: /src/librdkafka/src-cpp/TopicImpl.cpp
    functionUses: 0
    functionsReached:
    - RdKafka::TopicImpl::TopicImpl
    - rd_kafka_topic_conf_set_opaque
    - rd_kafka_topic_conf_dup
    - rd_kafka_topic_new
    - rd_kafka_last_error
    - std::string::c_str
    - rd_kafka_err2str
    - rd_kafka_topic_conf_destroy
    - rd_kafka_topic_conf_set_partitioner_cb
    - dynamic_cast<HandleImpl *>
    - static_cast<const RdKafka::ConfImpl *>
    - static_cast<void *>
    - rd_kafka_default_topic_conf_dup
    linkageType: ''
    returnType: RdKafka::Topic
    signature: "RdKafka::Topic *RdKafka::Topic::create(Handle *base,\n                                       const
      std::string &topic_str,\n                                       const Conf *conf,\n
      \                                      std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: ~ErrorImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: void
    signature: void ~ErrorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:124,1
    - Dst: static_cast<rd_kafka_resp_err_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:124,1
    - Dst: std::string*::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - errstr
    argTypes:
    - ErrorCode
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: RdKafka::ErrorImpl::ErrorImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - static_cast<rd_kafka_resp_err_t>
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ErrorImpl(ErrorCode code, const std::string *errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: RdKafka::ErrorImpl::ErrorImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrorImpl(rd_kafka_error_t *c_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - errstr
    argTypes:
    - ErrorCode
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: RdKafka::ErrorImpl::create
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *create(ErrorCode code, const std::string *errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:137,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: RdKafka::ErrorImpl::code
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_error_code
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:141,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: RdKafka::ErrorImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_error_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:145,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: RdKafka::ErrorImpl::str
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: RdKafka::ErrorImpl::is_fatal
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_is_fatal
    linkageType: ''
    returnType: bool
    signature: bool is_fatal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: RdKafka::ErrorImpl::is_retriable
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_is_retriable
    linkageType: ''
    returnType: bool
    signature: bool is_retriable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: RdKafka::ErrorImpl::txn_requires_abort
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_txn_requires_abort
    linkageType: ''
    returnType: bool
    signature: bool txn_requires_abort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: ~EventImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - type
    - err
    - severity
    - fac
    - str
    argTypes:
    - Type
    - ErrorCode
    - Severity
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: RdKafka::EventImpl::EventImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EventImpl(Type type,\n            ErrorCode err,\n            Severity
      severity,\n            const char *fac,\n            const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: RdKafka::EventImpl::EventImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventImpl(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: RdKafka::EventImpl::type
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: RdKafka::EventImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: RdKafka::EventImpl::severity
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Severity
    signature: Severity severity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: RdKafka::EventImpl::fac
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: RdKafka::EventImpl::str
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: RdKafka::EventImpl::broker_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string broker_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: RdKafka::EventImpl::broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int broker_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: RdKafka::EventImpl::throttle_time
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int throttle_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: RdKafka::EventImpl::fatal
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fatal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_rkqu
    argTypes:
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: RdKafka::QueueImpl::QueueImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueueImpl(rd_kafka_queue_t *c_rkqu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: ~QueueImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    linkageType: ''
    returnType: void
    signature: void ~QueueImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - rd_kafka_headers_new
    linkageType: ''
    returnType: void
    signature: void HeadersImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - headers
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersImpl(rd_kafka_headers_t *headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:264,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:265,1
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:265,1
    - Dst: RdKafka::HeadersImpl::from_vector
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:266,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::vector<Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - RdKafka::HeadersImpl::from_vector
    - std::vector<Header>::size
    - rd_kafka_headers_new
    linkageType: ''
    returnType: void
    signature: void HeadersImpl(const std::vector<Header> &headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: ~HeadersImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_headers_destroy
    linkageType: ''
    returnType: void
    signature: void ~HeadersImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - value_size
    argTypes:
    - std::string
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const void *value, size_t value_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:294,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::key
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::key
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::value
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:302,1
    - Dst: Header::value_size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:302,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - Header::value
    - Header::key
    - Header::value_size
    - rd_kafka_header_add
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const Header &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_remove
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:308,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:308,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: RdKafka::HeadersImpl::remove
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_remove
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode remove(const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:317,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:317,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:320,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: RdKafka::HeadersImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::string::c_str
    - rd_kafka_header_get
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: std::vector<Headers::Header>
    signature: std::vector<Headers::Header> get(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get_last
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:329,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:329,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:330,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: RdKafka::HeadersImpl::get_last
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_get_last
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: Headers::Header
    signature: Headers::Header get_last(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:340,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:341,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: RdKafka::HeadersImpl::get_all
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_get_all
    - std::vector::push_back
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: std::vector<Headers::Header>
    signature: std::vector<Headers::Header> get_all() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: RdKafka::HeadersImpl::size
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_cnt
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: RdKafka::HeadersImpl::c_headers_destroyed
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_headers_destroyed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: RdKafka::HeadersImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_headers_t
    signature: rd_kafka_headers_t *c_ptr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:363,1
    - Dst: std::vector<Header>::begin
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:365,1
    - Dst: std::vector<Header>::end
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:366,1
    - Dst: RdKafka::HeadersImpl::add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::vector<Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: RdKafka::HeadersImpl::from_vector
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - std::vector<Header>::end
    - std::vector<Header>::begin
    - std::vector<Header>::size
    - RdKafka::HeadersImpl::add
    linkageType: ''
    returnType: void
    signature: void from_vector(const std::vector<Header> &headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:382,1
    - Dst: const_cast<rd_kafka_message_t *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: ~MessageImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - const_cast<rd_kafka_message_t *>
    - rd_kafka_message_destroy
    linkageType: ''
    returnType: void
    signature: void ~MessageImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - rk_type
    - topic
    - rkmessage
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              rd_kafka_message_t *rkmessage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rk_type
    - topic
    - rkmessage
    - dofree
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - rd_kafka_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              rd_kafka_message_t *rkmessage,\n              bool dofree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Topic *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:421,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk_type
    - rkmessage
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_opaque
    - static_cast<Topic *>
    linkageType: ''
    returnType: void
    signature: void MessageImpl(rd_kafka_type_t rk_type, rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:435,1
    - Dst: static_cast<rd_kafka_resp_err_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk_type
    - topic
    - err
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached:
    - memset
    - static_cast<rd_kafka_resp_err_t>
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              RdKafka::ErrorCode err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:443,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:445,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: RdKafka::MessageImpl::errstr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    linkageType: ''
    returnType: std::string
    signature: std::string errstr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: RdKafka::MessageImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: RdKafka::MessageImpl::topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Topic
    signature: Topic *topic() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: RdKafka::MessageImpl::topic_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_name
    linkageType: ''
    returnType: std::string
    signature: std::string topic_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: RdKafka::MessageImpl::partition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: RdKafka::MessageImpl::payload
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *payload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: RdKafka::MessageImpl::len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t len() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char const *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:476,1
    - Dst: std::string::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: RdKafka::MessageImpl::key
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<char const *>
    - std::string::string
    linkageType: ''
    returnType: std::string
    signature: std::string *key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: RdKafka::MessageImpl::key_pointer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *key_pointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: RdKafka::MessageImpl::key_len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: RdKafka::MessageImpl::offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_timestamp
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:496,1
    - Dst: static_cast<MessageTimestamp::MessageTimestampType>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: RdKafka::MessageImpl::timestamp
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<MessageTimestamp::MessageTimestampType>
    - rd_kafka_message_timestamp
    linkageType: ''
    returnType: MessageTimestamp
    signature: MessageTimestamp timestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: RdKafka::MessageImpl::msg_opaque
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *msg_opaque() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_latency
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: RdKafka::MessageImpl::latency
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_latency
    linkageType: ''
    returnType: int64_t
    signature: int64_t latency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: RdKafka::MessageImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_message_s
    signature: struct rd_kafka_message_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Status>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:514,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: RdKafka::MessageImpl::status
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_status
    - static_cast<Status>
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::MessageImpl::headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: RdKafka::MessageImpl::headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - RdKafka::MessageImpl::headers
    linkageType: ''
    returnType: Headers
    signature: Headers *headers()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_detach_headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:529,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:530,1
    - Dst: HeadersImpl::HeadersImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - err
    argTypes:
    - ErrorCode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 538
    functionName: RdKafka::MessageImpl::headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - HeadersImpl::HeadersImpl
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_message_detach_headers
    linkageType: ''
    returnType: Headers
    signature: Headers *headers(ErrorCode *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: RdKafka::MessageImpl::broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_broker_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t broker_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: RdKafka::MessageImpl::leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_leader_epoch
    linkageType: ''
    returnType: int32_t
    signature: int32_t leader_epoch() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_store_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:552,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: RdKafka::MessageImpl::offset_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_store_message
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *offset_store()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conf_type
    argTypes:
    - ConfType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 595
    functionName: RdKafka::ConfImpl::ConfImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfImpl(ConfType conf_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:598,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 9
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: ~ConfImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_destroy
    - rd_kafka_topic_conf_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConfImpl()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - dr_cb
    - errstr
    argTypes:
    - std::string
    - DeliveryReportCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       DeliveryReportCb
      *dr_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - oauthbearer_token_refresh_cb
    - errstr
    argTypes:
    - std::string
    - OAuthBearerTokenRefreshCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 640
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OAuthBearerTokenRefreshCb
      *oauthbearer_token_refresh_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - event_cb
    - errstr
    argTypes:
    - std::string
    - EventCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       EventCb
      *event_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:663,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:674,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - name
    - topic_conf
    - errstr
    argTypes:
    - std::string
    - Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 22
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_default_topic_conf
    - rd_kafka_topic_conf_dup
    - dynamic_cast<const RdKafka::ConfImpl *>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       const
      Conf *topic_conf,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - partitioner_cb
    - errstr
    argTypes:
    - std::string
    - PartitionerCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 695
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       PartitionerCb
      *partitioner_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - partitioner_kp_cb
    - errstr
    argTypes:
    - std::string
    - PartitionerKeyPointerCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       PartitionerKeyPointerCb
      *partitioner_kp_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - socket_cb
    - errstr
    argTypes:
    - std::string
    - SocketCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 729
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       SocketCb
      *socket_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - open_cb
    - errstr
    argTypes:
    - std::string
    - OpenCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 747
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OpenCb
      *open_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - rebalance_cb
    - errstr
    argTypes:
    - std::string
    - RebalanceCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 766
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       RebalanceCb
      *rebalance_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - offset_commit_cb
    - errstr
    argTypes:
    - std::string
    - OffsetCommitCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OffsetCommitCb
      *offset_commit_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - ssl_cert_verify_cb
    - errstr
    argTypes:
    - std::string
    - SslCertificateVerifyCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       SslCertificateVerifyCb
      *ssl_cert_verify_cb,\n                       std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_engine_callback_data
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - errstr
    argTypes:
    - void*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 812
    functionName: RdKafka::ConfImpl::set_engine_callback_data
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_engine_callback_data
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult set_engine_callback_data(void *value, std::string
      &errstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_ssl_cert
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:828,1
    - Dst: static_cast<rd_kafka_cert_type_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:829,1
    - Dst: static_cast<rd_kafka_cert_enc_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:830,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cert_type
    - cert_enc
    - buffer
    - size
    - errstr
    argTypes:
    - RdKafka::CertificateType
    - RdKafka::CertificateEncoding
    - void*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 837
    functionName: RdKafka::ConfImpl::set_ssl_cert
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<Conf::ConfResult>
    - rd_kafka_conf_set_ssl_cert
    - static_cast<rd_kafka_cert_type_t>
    - static_cast<rd_kafka_cert_enc_t>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set_ssl_cert(RdKafka::CertificateType cert_type,\n
      \                               RdKafka::CertificateEncoding cert_enc,\n                                const
      void *buffer,\n                                size_t size,\n                                std::string
      &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_enable_sasl_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enable
    - errstr
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: RdKafka::ConfImpl::enable_sasl_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_enable_sasl_queue
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult enable_sasl_queue(bool enable, std::string &errstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:852,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:852,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:853,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:854,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:855,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:855,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:856,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:857,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:858,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:859,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:860,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:861,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:869,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:869,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:871,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:871,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:873,1
    - Dst: char::char
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:875,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:878,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:878,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:880,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:880,1
    - Dst: std::string::assign
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:883,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:886,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 851
    functionDepth: 6
    functionLinenumber: 851
    functionLinenumberEnd: 887
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_conf_get
    - std::string::compare
    - std::string::assign
    - std::string::c_str
    - rd_kafka_conf_get
    - char::char
    - static_cast<Conf::ConfResult>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(const std::string &name, std::string &value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dr_cb
    argTypes:
    - DeliveryReportCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(DeliveryReportCb *&dr_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oauthbearer_token_refresh_cb
    argTypes:
    - OAuthBearerTokenRefreshCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 902
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult get(\n      OAuthBearerTokenRefreshCb *&oauthbearer_token_refresh_cb)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event_cb
    argTypes:
    - EventCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(EventCb *&event_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - partitioner_cb
    argTypes:
    - PartitionerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 916
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(PartitionerCb *&partitioner_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - partitioner_kp_cb
    argTypes:
    - PartitionerKeyPointerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(PartitionerKeyPointerCb *&partitioner_kp_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - socket_cb
    argTypes:
    - SocketCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(SocketCb *&socket_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - open_cb
    argTypes:
    - OpenCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(OpenCb *&open_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rebalance_cb
    argTypes:
    - RebalanceCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(RebalanceCb *&rebalance_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - offset_commit_cb
    argTypes:
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(OffsetCommitCb *&offset_commit_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl_cert_verify_cb
    argTypes:
    - SslCertificateVerifyCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(SslCertificateVerifyCb *&ssl_cert_verify_cb) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - consume_cb
    - errstr
    argTypes:
    - std::string
    - ConsumeCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 978
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       ConsumeCb
      *consume_cb,\n                       std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: RdKafka::ConfImpl::c_ptr_global
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_conf_s
    signature: struct rd_kafka_conf_s *c_ptr_global()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 992
    functionName: RdKafka::ConfImpl::c_ptr_topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_topic_conf_s
    signature: struct rd_kafka_topic_conf_s *c_ptr_topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1014
    functionName: ~HandleImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1016
    functionName: RdKafka::HandleImpl::HandleImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandleImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1018,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: RdKafka::HandleImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1021,1
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: RdKafka::HandleImpl::memberid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_memberid
    - rd_kafka_mem_free
    linkageType: ''
    returnType: std::string
    signature: std::string memberid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1029
    functionName: RdKafka::HandleImpl::poll
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_poll
    linkageType: ''
    returnType: int
    signature: int poll(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1032
    functionName: RdKafka::HandleImpl::outq_len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_outq_len
    linkageType: ''
    returnType: int
    signature: int outq_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1049,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1049,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topic
    - partition
    - low
    - high
    - timeout_ms
    argTypes:
    - std::string
    - int32_t
    - int64_t*
    - int64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1044
    functionDepth: 10
    functionLinenumber: 1044
    functionLinenumberEnd: 1051
    functionName: RdKafka::HandleImpl::query_watermark_offsets
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_query_watermark_offsets
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode query_watermark_offsets(const std::string &topic,\n                                    int32_t
      partition,\n                                    int64_t *low,\n                                    int64_t
      *high,\n                                    int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1057,1
    - Dst: rd_kafka_get_watermark_offsets
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1057,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topic
    - partition
    - low
    - high
    argTypes:
    - std::string
    - int32_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: RdKafka::HandleImpl::get_watermark_offsets
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_get_watermark_offsets
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode get_watermark_offsets(const std::string &topic,\n                                  int32_t
      partition,\n                                  int64_t *low,\n                                  int64_t
      *high)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_sasl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1065,1
    - Dst: QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: RdKafka::HandleImpl::get_sasl_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_get_sasl
    - QueueImpl::QueueImpl
    linkageType: ''
    returnType: Queue
    signature: Queue *get_sasl_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_background
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1075,1
    - Dst: QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1081
    functionName: RdKafka::HandleImpl::get_background_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_get_background
    - QueueImpl::QueueImpl
    linkageType: ''
    returnType: Queue
    signature: Queue *get_background_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1086,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1087,1
    - Dst: rd_kafka_offsets_for_times
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1088,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1089,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - offsets
    - timeout_ms
    argTypes:
    - std::vector<TopicPartition *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 10
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: RdKafka::HandleImpl::offsetsForTimes
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_offsets_for_times
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode offsetsForTimes(std::vector<TopicPartition *> &offsets,\n
      \                           int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: RdKafka::HandleImpl::yield
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_yield
    linkageType: ''
    returnType: void
    signature: void yield()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_clusterid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1101,1
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1106
    functionName: RdKafka::HandleImpl::clusterid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_clusterid
    - rd_kafka_mem_free
    linkageType: ''
    returnType: std::string
    signature: std::string clusterid(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1110
    functionName: RdKafka::HandleImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_s
    signature: struct rd_kafka_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_controllerid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: RdKafka::HandleImpl::controllerid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_controllerid
    linkageType: ''
    returnType: int32_t
    signature: int32_t controllerid(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1118,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - errstr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: RdKafka::HandleImpl::fatal_error
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_fatal_error
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode fatal_error(std::string &errstr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const::const
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1132,1
    - Dst: size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1132,1
    - Dst: std::list<std::string>::begin
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1135,1
    - Dst: std::list<std::string>::end
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1136,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1137,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1138,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1138,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1139,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1139,1
    - Dst: std::list<std::string>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - token_value
    - md_lifetime_ms
    - md_principal_name
    - extensions
    - errstr
    argTypes:
    - std::string
    - int64_t
    - std::string
    - std::list<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1125
    functionDepth: 5
    functionLinenumber: 1125
    functionLinenumberEnd: 1147
    functionName: RdKafka::HandleImpl::oauthbearer_set_token
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::list<std::string>::end
    - static_cast<ErrorCode>
    - std::string::c_str
    - std::list<std::string>::begin
    - size
    - std::list<std::string>::size
    - std::list<std::string>::const_iterator::c_str
    - const::const
    - rd_kafka_oauthbearer_set_token
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode oauthbearer_set_token(const std::string &token_value,\n
      \                                 int64_t md_lifetime_ms,\n                                  const
      std::string &md_principal_name,\n                                  const std::list<std::string>
      &extensions,\n                                  std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1150,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1151,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errstr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1152
    functionName: RdKafka::HandleImpl::oauthbearer_set_token_failure
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - std::string::c_str
    - rd_kafka_oauthbearer_set_token_failure
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode oauthbearer_set_token_failure(const std::string &errstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_background_callbacks_enable
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1155,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1154
    functionDepth: 3
    functionLinenumber: 1154
    functionLinenumberEnd: 1161
    functionName: RdKafka::HandleImpl::sasl_background_callbacks_enable
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_sasl_background_callbacks_enable
    linkageType: ''
    returnType: Error
    signature: Error *sasl_background_callbacks_enable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_set_credentials
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 4
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: RdKafka::HandleImpl::sasl_set_credentials
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_set_credentials
    - ErrorImpl::ErrorImpl
    - std::string::c_str
    linkageType: ''
    returnType: Error
    signature: "Error *sasl_set_credentials(const std::string &username,\n                              const
      std::string &password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: RdKafka::HandleImpl::mem_malloc
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_mem_malloc
    linkageType: ''
    returnType: void
    signature: void *mem_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1180
    functionName: RdKafka::HandleImpl::mem_free
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_mem_free
    linkageType: ''
    returnType: void
    signature: void mem_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1203
    functionDepth: 3
    functionLinenumber: 1203
    functionLinenumberEnd: 1205
    functionName: ~TopicImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    linkageType: ''
    returnType: void
    signature: void ~TopicImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: RdKafka::TopicImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_available
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1213
    functionName: RdKafka::TopicImpl::partition_available
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_available
    linkageType: ''
    returnType: bool
    signature: bool partition_available(int32_t partition) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1216,1
    - Dst: rd_kafka_offset_store
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - partition
    - offset
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 3
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: RdKafka::TopicImpl::offset_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_offset_store
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode offset_store(int32_t partition, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1224
    functionName: RdKafka::TopicImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_topic_s
    signature: struct rd_kafka_topic_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1238
    functionName: ~TopicPartitionImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicPartitionImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1248
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const std::string &topic, int partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - topic
    - partition
    - offset
    argTypes:
    - std::string
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1256
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const std::string &topic, int partition, int64_t
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1259,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1262,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1263,1
    - Dst: assign
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c_part
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_get_leader_epoch
    - std::string
    - assign
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const rd_kafka_topic_partition_t *c_part)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1274
    functionName: RdKafka::TopicPartitionImpl::partition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1277
    functionName: '&topic() const'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &topic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: RdKafka::TopicPartitionImpl::offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1285
    functionName: RdKafka::TopicPartitionImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: RdKafka::TopicPartitionImpl::set_offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_offset(int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1293
    functionName: RdKafka::TopicPartitionImpl::get_leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_leader_epoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leader_epoch
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: RdKafka::TopicPartitionImpl::set_leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_leader_epoch(int32_t leader_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: RdKafka::TopicPartitionImpl::get_metadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> get_metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1305
    functionName: RdKafka::TopicPartitionImpl::set_metadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_metadata(std::vector<unsigned char> &metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostrm
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1309
    functionName: '&operator<<(std::ostream &ostrm) const'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &ostrm) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1328
    functionName: ~ConsumerGroupMetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_group_metadata_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConsumerGroupMetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cgmetadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1332
    functionName: RdKafka::ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsumerGroupMetadataImpl(rd_kafka_consumer_group_metadata_t *cgmetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy_flags
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1341
    functionDepth: 11
    functionLinenumber: 1341
    functionLinenumberEnd: 1344
    functionName: ~KafkaConsumerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy_flags
    linkageType: ''
    returnType: void
    signature: void ~KafkaConsumerImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1351,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: RdKafka::KafkaConsumerImpl::rebalance_protocol
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_rebalance_protocol
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string rebalance_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1364,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1363
    functionDepth: 3
    functionLinenumber: 1363
    functionLinenumberEnd: 1365
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1367,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1368
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MessageImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1370,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1371,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1369
    functionDepth: 4
    functionLinenumber: 1369
    functionLinenumberEnd: 1373
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_message
    - dynamic_cast<MessageImpl *>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(Message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MessageImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1375,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1376,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_message
    - dynamic_cast<MessageImpl *>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync(Message *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1381,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1382,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1384,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1385,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1380
    functionDepth: 4
    functionLinenumber: 1380
    functionLinenumberEnd: 1387
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1390,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1391,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1392,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit
    - partitions_to_c_parts
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync(const std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1397,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset_commit_cb
    argTypes:
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1400
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_queue
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(OffsetCommitCb *offset_commit_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1404,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1405,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1408,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - offsets
    - offset_commit_cb
    argTypes:
    - std::vector<TopicPartition *>
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1402
    functionDepth: 4
    functionLinenumber: 1402
    functionLinenumberEnd: 1410
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit_queue
    - partitions_to_c_parts
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode commitSync(std::vector<TopicPartition *> &offsets,\n                       OffsetCommitCb
      *offset_commit_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1419,1
    - Dst: ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: RdKafka::KafkaConsumerImpl::groupMetadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_group_metadata
    - ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
    linkageType: ''
    returnType: ConsumerGroupMetadata
    signature: ConsumerGroupMetadata *groupMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_closed
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: RdKafka::KafkaConsumerImpl::closed
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_closed
    linkageType: ''
    returnType: bool
    signature: bool closed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1437,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1438,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1439,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1440,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1442
    functionName: RdKafka::KafkaConsumerImpl::offsets_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_offsets_store
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode offsets_store(std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1453
    functionName: RdKafka::MetadataImpl::brokers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const BrokerMetadata *>
    signature: std::vector<const BrokerMetadata *> *brokers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: RdKafka::MetadataImpl::topics
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const TopicMetadata *>
    signature: std::vector<const TopicMetadata *> *topics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1461
    functionName: RdKafka::MetadataImpl::orig_broker_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string orig_broker_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1465
    functionName: RdKafka::MetadataImpl::orig_broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t orig_broker_id() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 11
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: ~ConsumerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConsumerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1511
    functionDepth: 11
    functionLinenumber: 1511
    functionLinenumberEnd: 1514
    functionName: ~ProducerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    linkageType: ''
    returnType: void
    signature: void ~ProducerImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1561,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1562
    functionName: RdKafka::ProducerImpl::flush
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_flush
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode flush(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1565,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - purge_flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: RdKafka::ProducerImpl::purge
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_purge
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode purge(int purge_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1572,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1569
    functionDepth: 4
    functionLinenumber: 1569
    functionLinenumberEnd: 1578
    functionName: RdKafka::ProducerImpl::init_transactions
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_init_transactions
    linkageType: ''
    returnType: Error
    signature: Error *init_transactions(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1583,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1580
    functionDepth: 4
    functionLinenumber: 1580
    functionLinenumberEnd: 1589
    functionName: RdKafka::ProducerImpl::begin_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_begin_transaction
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *begin_transaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConsumerGroupMetadataImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1597,1
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1599,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1601,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1604,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offsets
    - group_metadata
    - timeout_ms
    argTypes:
    - std::vector<TopicPartition *>
    - ConsumerGroupMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1591
    functionDepth: 4
    functionLinenumber: 1591
    functionLinenumberEnd: 1610
    functionName: RdKafka::ProducerImpl::send_offsets_to_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_send_offsets_to_transaction
    - ErrorImpl::ErrorImpl
    - dynamic_cast<const RdKafka::ConsumerGroupMetadataImpl *>
    linkageType: ''
    returnType: Error
    signature: "Error *send_offsets_to_transaction(\n      const std::vector<TopicPartition
      *> &offsets,\n      const ConsumerGroupMetadata *group_metadata,\n      int
      timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1615,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1612
    functionDepth: 4
    functionLinenumber: 1612
    functionLinenumberEnd: 1621
    functionName: RdKafka::ProducerImpl::commit_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_commit_transaction
    linkageType: ''
    returnType: Error
    signature: Error *commit_transaction(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1626,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1623
    functionDepth: 4
    functionLinenumber: 1623
    functionLinenumberEnd: 1632
    functionName: RdKafka::ProducerImpl::abort_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_abort_transaction
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *abort_transaction(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: ~ErrorImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_destroy
    linkageType: ''
    returnType: void
    signature: void ~ErrorImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:124,1
    - Dst: static_cast<rd_kafka_resp_err_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:124,1
    - Dst: std::string*::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - errstr
    argTypes:
    - ErrorCode
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: RdKafka::ErrorImpl::ErrorImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_new
    - static_cast<rd_kafka_resp_err_t>
    - std::string*::c_str
    linkageType: ''
    returnType: void
    signature: void ErrorImpl(ErrorCode code, const std::string *errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_error
    argTypes:
    - rd_kafka_error_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: RdKafka::ErrorImpl::ErrorImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ErrorImpl(rd_kafka_error_t *c_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - code
    - errstr
    argTypes:
    - ErrorCode
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: RdKafka::ErrorImpl::create
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *create(ErrorCode code, const std::string *errstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:137,1
    - Dst: rd_kafka_error_code
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: RdKafka::ErrorImpl::code
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_error_code
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode code() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:141,1
    - Dst: rd_kafka_error_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: RdKafka::ErrorImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_error_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:145,1
    - Dst: rd_kafka_error_string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: RdKafka::ErrorImpl::str
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_string
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_is_fatal
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: RdKafka::ErrorImpl::is_fatal
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_is_fatal
    linkageType: ''
    returnType: bool
    signature: bool is_fatal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_is_retriable
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: RdKafka::ErrorImpl::is_retriable
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_is_retriable
    linkageType: ''
    returnType: bool
    signature: bool is_retriable() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_error_txn_requires_abort
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: RdKafka::ErrorImpl::txn_requires_abort
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_error_txn_requires_abort
    linkageType: ''
    returnType: bool
    signature: bool txn_requires_abort() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: ~EventImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~EventImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 5
    argNames:
    - type
    - err
    - severity
    - fac
    - str
    argTypes:
    - Type
    - ErrorCode
    - Severity
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: RdKafka::EventImpl::EventImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EventImpl(Type type,\n            ErrorCode err,\n            Severity
      severity,\n            const char *fac,\n            const char *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: RdKafka::EventImpl::EventImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void EventImpl(Type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: RdKafka::EventImpl::type
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Type
    signature: Type type() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: RdKafka::EventImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: RdKafka::EventImpl::severity
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Severity
    signature: Severity severity() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: RdKafka::EventImpl::fac
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string fac() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: RdKafka::EventImpl::str
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string str() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: RdKafka::EventImpl::broker_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string broker_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: RdKafka::EventImpl::broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int broker_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: RdKafka::EventImpl::throttle_time
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int throttle_time() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: RdKafka::EventImpl::fatal
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool fatal() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - c_rkqu
    argTypes:
    - rd_kafka_queue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: RdKafka::QueueImpl::QueueImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void QueueImpl(rd_kafka_queue_t *c_rkqu)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 4
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: ~QueueImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_destroy
    linkageType: ''
    returnType: void
    signature: void ~QueueImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - rd_kafka_headers_new
    linkageType: ''
    returnType: void
    signature: void HeadersImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - headers
    argTypes:
    - rd_kafka_headers_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HeadersImpl(rd_kafka_headers_t *headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:264,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:265,1
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:265,1
    - Dst: RdKafka::HeadersImpl::from_vector
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:266,1
    - Dst: rd_kafka_headers_new
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::vector<Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 270
    functionName: RdKafka::HeadersImpl::HeadersImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - RdKafka::HeadersImpl::from_vector
    - std::vector<Header>::size
    - rd_kafka_headers_new
    linkageType: ''
    returnType: void
    signature: void HeadersImpl(const std::vector<Header> &headers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_headers_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: ~HeadersImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_headers_destroy
    linkageType: ''
    returnType: void
    signature: void ~HeadersImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:280,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:286,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - value_size
    argTypes:
    - std::string
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 289
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const void *value, size_t value_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:293,1
    - Dst: std::string::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:294,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 296
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - std::string::size
    - rd_kafka_header_add
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const std::string &key, const std::string &value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::key
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::key
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:301,1
    - Dst: Header::value
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:302,1
    - Dst: Header::value_size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:302,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: RdKafka::HeadersImpl::add
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 1
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - Header::value
    - Header::key
    - Header::value_size
    - rd_kafka_header_add
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode add(const Header &header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_remove
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:308,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:308,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: RdKafka::HeadersImpl::remove
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_remove
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode remove(const std::string &key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:317,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:317,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:320,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: RdKafka::HeadersImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::vector::push_back
    - std::string::c_str
    - rd_kafka_header_get
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: std::vector<Headers::Header>
    signature: std::vector<Headers::Header> get(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get_last
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:329,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:329,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:330,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 332
    functionName: RdKafka::HeadersImpl::get_last
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_get_last
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: Headers::Header
    signature: Headers::Header get_last(const std::string &key) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_get_all
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:340,1
    - Dst: std::vector::push_back
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:341,1
    - Dst: LZ4F_decodeHeader
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 3
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: RdKafka::HeadersImpl::get_all
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_get_all
    - std::vector::push_back
    - LZ4F_decodeHeader
    linkageType: ''
    returnType: std::vector<Headers::Header>
    signature: std::vector<Headers::Header> get_all() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_header_cnt
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: RdKafka::HeadersImpl::size
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_header_cnt
    linkageType: ''
    returnType: size_t
    signature: size_t size() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: RdKafka::HeadersImpl::c_headers_destroyed
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void c_headers_destroyed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: RdKafka::HeadersImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: rd_kafka_headers_t
    signature: rd_kafka_headers_t *c_ptr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::vector<Header>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:363,1
    - Dst: std::vector<Header>::begin
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:365,1
    - Dst: std::vector<Header>::end
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:366,1
    - Dst: RdKafka::HeadersImpl::add
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - headers
    argTypes:
    - std::vector<Header>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: RdKafka::HeadersImpl::from_vector
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - std::vector<Header>::end
    - std::vector<Header>::begin
    - std::vector<Header>::size
    - RdKafka::HeadersImpl::add
    linkageType: ''
    returnType: void
    signature: void from_vector(const std::vector<Header> &headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:382,1
    - Dst: const_cast<rd_kafka_message_t *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: ~MessageImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - const_cast<rd_kafka_message_t *>
    - rd_kafka_message_destroy
    linkageType: ''
    returnType: void
    signature: void ~MessageImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - rk_type
    - topic
    - rkmessage
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              rd_kafka_message_t *rkmessage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - rk_type
    - topic
    - rkmessage
    - dofree
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - rd_kafka_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 410
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              rd_kafka_message_t *rkmessage,\n              bool dofree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Topic *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:421,1
    - Dst: rd_kafka_topic_opaque
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rk_type
    - rkmessage
    argTypes:
    - rd_kafka_type_t
    - rd_kafka_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 423
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached:
    - rd_kafka_topic_opaque
    - static_cast<Topic *>
    linkageType: ''
    returnType: void
    signature: void MessageImpl(rd_kafka_type_t rk_type, rd_kafka_message_t *rkmessage)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:435,1
    - Dst: static_cast<rd_kafka_resp_err_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rk_type
    - topic
    - err
    argTypes:
    - rd_kafka_type_t
    - RdKafka::Topic*
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 437
    functionName: RdKafka::MessageImpl::MessageImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 3
    functionsReached:
    - memset
    - static_cast<rd_kafka_resp_err_t>
    linkageType: ''
    returnType: void
    signature: "void MessageImpl(rd_kafka_type_t rk_type,\n              RdKafka::Topic
      *topic,\n              RdKafka::ErrorCode err)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_errstr
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:443,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:445,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 448
    functionName: RdKafka::MessageImpl::errstr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_err2str
    - rd_kafka_message_errstr
    linkageType: ''
    returnType: std::string
    signature: std::string errstr() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: RdKafka::MessageImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: RdKafka::MessageImpl::topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Topic
    signature: Topic *topic() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 462
    functionName: RdKafka::MessageImpl::topic_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_name
    linkageType: ''
    returnType: std::string
    signature: std::string topic_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: RdKafka::MessageImpl::partition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: RdKafka::MessageImpl::payload
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *payload() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: RdKafka::MessageImpl::len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t len() const
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<char const *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:476,1
    - Dst: std::string::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: RdKafka::MessageImpl::key
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<char const *>
    - std::string::string
    linkageType: ''
    returnType: std::string
    signature: std::string *key() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: RdKafka::MessageImpl::key_pointer
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *key_pointer() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: RdKafka::MessageImpl::key_len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t key_len() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: RdKafka::MessageImpl::offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_timestamp
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:496,1
    - Dst: static_cast<MessageTimestamp::MessageTimestampType>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 499
    functionName: RdKafka::MessageImpl::timestamp
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<MessageTimestamp::MessageTimestampType>
    - rd_kafka_message_timestamp
    linkageType: ''
    returnType: MessageTimestamp
    signature: MessageTimestamp timestamp() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: RdKafka::MessageImpl::msg_opaque
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *msg_opaque() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_latency
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: RdKafka::MessageImpl::latency
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_latency
    linkageType: ''
    returnType: int64_t
    signature: int64_t latency() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: RdKafka::MessageImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_message_s
    signature: struct rd_kafka_message_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<Status>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:514,1
    - Dst: rd_kafka_message_status
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: RdKafka::MessageImpl::status
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_status
    - static_cast<Status>
    linkageType: ''
    returnType: Status
    signature: Status status() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::MessageImpl::headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 520
    functionName: RdKafka::MessageImpl::headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - RdKafka::MessageImpl::headers
    linkageType: ''
    returnType: Headers
    signature: Headers *headers()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_detach_headers
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:529,1
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:530,1
    - Dst: HeadersImpl::HeadersImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - err
    argTypes:
    - ErrorCode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 538
    functionName: RdKafka::MessageImpl::headers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - HeadersImpl::HeadersImpl
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_message_detach_headers
    linkageType: ''
    returnType: Headers
    signature: Headers *headers(ErrorCode *err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_broker_id
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: RdKafka::MessageImpl::broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_broker_id
    linkageType: ''
    returnType: int32_t
    signature: int32_t broker_id() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_message_leader_epoch
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: RdKafka::MessageImpl::leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_message_leader_epoch
    linkageType: ''
    returnType: int32_t
    signature: int32_t leader_epoch() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_offset_store_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:552,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: RdKafka::MessageImpl::offset_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_offset_store_message
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *offset_store()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - conf_type
    argTypes:
    - ConfType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 595
    functionName: RdKafka::ConfImpl::ConfImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConfImpl(ConfType conf_type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:598,1
    - Dst: rd_kafka_topic_conf_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 596
    functionDepth: 9
    functionLinenumber: 596
    functionLinenumberEnd: 601
    functionName: ~ConfImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_destroy
    - rd_kafka_topic_conf_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConfImpl()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - dr_cb
    - errstr
    argTypes:
    - std::string
    - DeliveryReportCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       DeliveryReportCb
      *dr_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - oauthbearer_token_refresh_cb
    - errstr
    argTypes:
    - std::string
    - OAuthBearerTokenRefreshCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 640
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OAuthBearerTokenRefreshCb
      *oauthbearer_token_refresh_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - event_cb
    - errstr
    argTypes:
    - std::string
    - EventCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       EventCb
      *event_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConfImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:663,1
    - Dst: rd_kafka_conf_set_default_topic_conf
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:674,1
    - Dst: rd_kafka_topic_conf_dup
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:675,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - name
    - topic_conf
    - errstr
    argTypes:
    - std::string
    - Conf*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 22
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_default_topic_conf
    - rd_kafka_topic_conf_dup
    - dynamic_cast<const RdKafka::ConfImpl *>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       const
      Conf *topic_conf,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - partitioner_cb
    - errstr
    argTypes:
    - std::string
    - PartitionerCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 695
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       PartitionerCb
      *partitioner_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - partitioner_kp_cb
    - errstr
    argTypes:
    - std::string
    - PartitionerKeyPointerCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       PartitionerKeyPointerCb
      *partitioner_kp_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - socket_cb
    - errstr
    argTypes:
    - std::string
    - SocketCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 729
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       SocketCb
      *socket_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - open_cb
    - errstr
    argTypes:
    - std::string
    - OpenCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 747
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OpenCb
      *open_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - rebalance_cb
    - errstr
    argTypes:
    - std::string
    - RebalanceCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 766
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       RebalanceCb
      *rebalance_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - offset_commit_cb
    - errstr
    argTypes:
    - std::string
    - OffsetCommitCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       OffsetCommitCb
      *offset_commit_cb,\n                       std::string &errstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - ssl_cert_verify_cb
    - errstr
    argTypes:
    - std::string
    - SslCertificateVerifyCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 802
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       SslCertificateVerifyCb
      *ssl_cert_verify_cb,\n                       std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_engine_callback_data
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - errstr
    argTypes:
    - void*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 812
    functionName: RdKafka::ConfImpl::set_engine_callback_data
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_set_engine_callback_data
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult set_engine_callback_data(void *value, std::string
      &errstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_set_ssl_cert
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:828,1
    - Dst: static_cast<rd_kafka_cert_type_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:829,1
    - Dst: static_cast<rd_kafka_cert_enc_t>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:830,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - cert_type
    - cert_enc
    - buffer
    - size
    - errstr
    argTypes:
    - RdKafka::CertificateType
    - RdKafka::CertificateEncoding
    - void*
    - size_t
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 815
    functionDepth: 4
    functionLinenumber: 815
    functionLinenumberEnd: 837
    functionName: RdKafka::ConfImpl::set_ssl_cert
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<Conf::ConfResult>
    - rd_kafka_conf_set_ssl_cert
    - static_cast<rd_kafka_cert_type_t>
    - static_cast<rd_kafka_cert_enc_t>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set_ssl_cert(RdKafka::CertificateType cert_type,\n
      \                               RdKafka::CertificateEncoding cert_enc,\n                                const
      void *buffer,\n                                size_t size,\n                                std::string
      &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_conf_enable_sasl_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - enable
    - errstr
    argTypes:
    - bool
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 1
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: RdKafka::ConfImpl::enable_sasl_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_conf_enable_sasl_queue
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult enable_sasl_queue(bool enable, std::string &errstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:852,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:852,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:853,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:854,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:855,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:855,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:856,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:857,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:858,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:859,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:860,1
    - Dst: std::string::compare
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:861,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:869,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:869,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:871,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:871,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:873,1
    - Dst: char::char
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:875,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:878,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:878,1
    - Dst: rd_kafka_topic_conf_get
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:880,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:880,1
    - Dst: std::string::assign
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:883,1
    - Dst: static_cast<Conf::ConfResult>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:886,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 851
    functionDepth: 6
    functionLinenumber: 851
    functionLinenumberEnd: 887
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_conf_get
    - std::string::compare
    - std::string::assign
    - std::string::c_str
    - rd_kafka_conf_get
    - char::char
    - static_cast<Conf::ConfResult>
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(const std::string &name, std::string &value) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dr_cb
    argTypes:
    - DeliveryReportCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 894
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(DeliveryReportCb *&dr_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - oauthbearer_token_refresh_cb
    argTypes:
    - OAuthBearerTokenRefreshCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 902
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult get(\n      OAuthBearerTokenRefreshCb *&oauthbearer_token_refresh_cb)
      const"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - event_cb
    argTypes:
    - EventCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(EventCb *&event_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - partitioner_cb
    argTypes:
    - PartitionerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 916
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(PartitionerCb *&partitioner_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - partitioner_kp_cb
    argTypes:
    - PartitionerKeyPointerCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(PartitionerKeyPointerCb *&partitioner_kp_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - socket_cb
    argTypes:
    - SocketCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 930
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(SocketCb *&socket_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - open_cb
    argTypes:
    - OpenCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 937
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(OpenCb *&open_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rebalance_cb
    argTypes:
    - RebalanceCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 944
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(RebalanceCb *&rebalance_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - offset_commit_cb
    argTypes:
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(OffsetCommitCb *&offset_commit_cb) const
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ssl_cert_verify_cb
    argTypes:
    - SslCertificateVerifyCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 958
    functionName: RdKafka::ConfImpl::get
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: Conf::ConfResult get(SslCertificateVerifyCb *&ssl_cert_verify_cb) const
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - consume_cb
    - errstr
    argTypes:
    - std::string
    - ConsumeCb*
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 978
    functionName: RdKafka::ConfImpl::set
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Conf::ConfResult
    signature: "Conf::ConfResult set(const std::string &name,\n                       ConsumeCb
      *consume_cb,\n                       std::string &errstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 985
    functionName: RdKafka::ConfImpl::c_ptr_global
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_conf_s
    signature: struct rd_kafka_conf_s *c_ptr_global()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 992
    functionName: RdKafka::ConfImpl::c_ptr_topic
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_topic_conf_s
    signature: struct rd_kafka_topic_conf_s *c_ptr_topic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1014
    functionName: ~HandleImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~HandleImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1016
    functionName: RdKafka::HandleImpl::HandleImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HandleImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1018,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: RdKafka::HandleImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    - rd_kafka_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_memberid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1021,1
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1020
    functionDepth: 7
    functionLinenumber: 1020
    functionLinenumberEnd: 1026
    functionName: RdKafka::HandleImpl::memberid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_memberid
    - rd_kafka_mem_free
    linkageType: ''
    returnType: std::string
    signature: std::string memberid() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_poll
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1027
    functionDepth: 2
    functionLinenumber: 1027
    functionLinenumberEnd: 1029
    functionName: RdKafka::HandleImpl::poll
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_poll
    linkageType: ''
    returnType: int
    signature: int poll(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_outq_len
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1030
    functionDepth: 2
    functionLinenumber: 1030
    functionLinenumberEnd: 1032
    functionName: RdKafka::HandleImpl::outq_len
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_outq_len
    linkageType: ''
    returnType: int
    signature: int outq_len()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1049,1
    - Dst: rd_kafka_query_watermark_offsets
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1049,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - topic
    - partition
    - low
    - high
    - timeout_ms
    argTypes:
    - std::string
    - int32_t
    - int64_t*
    - int64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1044
    functionDepth: 10
    functionLinenumber: 1044
    functionLinenumberEnd: 1051
    functionName: RdKafka::HandleImpl::query_watermark_offsets
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_query_watermark_offsets
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode query_watermark_offsets(const std::string &topic,\n                                    int32_t
      partition,\n                                    int64_t *low,\n                                    int64_t
      *high,\n                                    int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1057,1
    - Dst: rd_kafka_get_watermark_offsets
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1057,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - topic
    - partition
    - low
    - high
    argTypes:
    - std::string
    - int32_t
    - int64_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: RdKafka::HandleImpl::get_watermark_offsets
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_get_watermark_offsets
    - static_cast<RdKafka::ErrorCode>
    - std::string::c_str
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode get_watermark_offsets(const std::string &topic,\n                                  int32_t
      partition,\n                                  int64_t *low,\n                                  int64_t
      *high)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_sasl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1065,1
    - Dst: QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1063
    functionDepth: 2
    functionLinenumber: 1063
    functionLinenumberEnd: 1071
    functionName: RdKafka::HandleImpl::get_sasl_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_get_sasl
    - QueueImpl::QueueImpl
    linkageType: ''
    returnType: Queue
    signature: Queue *get_sasl_queue()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_get_background
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1075,1
    - Dst: QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1073
    functionDepth: 3
    functionLinenumber: 1073
    functionLinenumberEnd: 1081
    functionName: RdKafka::HandleImpl::get_background_queue
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_get_background
    - QueueImpl::QueueImpl
    linkageType: ''
    returnType: Queue
    signature: Queue *get_background_queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1086,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1087,1
    - Dst: rd_kafka_offsets_for_times
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1088,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1089,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - offsets
    - timeout_ms
    argTypes:
    - std::vector<TopicPartition *>
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1084
    functionDepth: 10
    functionLinenumber: 1084
    functionLinenumberEnd: 1092
    functionName: RdKafka::HandleImpl::offsetsForTimes
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_offsets_for_times
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode offsetsForTimes(std::vector<TopicPartition *> &offsets,\n
      \                           int timeout_ms)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_yield
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: RdKafka::HandleImpl::yield
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_yield
    linkageType: ''
    returnType: void
    signature: void yield()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_clusterid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1101,1
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1106
    functionName: RdKafka::HandleImpl::clusterid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_clusterid
    - rd_kafka_mem_free
    linkageType: ''
    returnType: std::string
    signature: std::string clusterid(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1110
    functionName: RdKafka::HandleImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_s
    signature: struct rd_kafka_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_controllerid
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: RdKafka::HandleImpl::controllerid
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_controllerid
    linkageType: ''
    returnType: int32_t
    signature: int32_t controllerid(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1118,1
    - Dst: rd_kafka_fatal_error
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - errstr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1123
    functionName: RdKafka::HandleImpl::fatal_error
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_fatal_error
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode fatal_error(std::string &errstr) const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: const::const
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1132,1
    - Dst: size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1132,1
    - Dst: std::list<std::string>::begin
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1135,1
    - Dst: std::list<std::string>::end
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1136,1
    - Dst: std::list<std::string>::const_iterator::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1137,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1138,1
    - Dst: rd_kafka_oauthbearer_set_token
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1138,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1139,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1139,1
    - Dst: std::list<std::string>::size
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - token_value
    - md_lifetime_ms
    - md_principal_name
    - extensions
    - errstr
    argTypes:
    - std::string
    - int64_t
    - std::string
    - std::list<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1125
    functionDepth: 5
    functionLinenumber: 1125
    functionLinenumberEnd: 1147
    functionName: RdKafka::HandleImpl::oauthbearer_set_token
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::list<std::string>::end
    - static_cast<ErrorCode>
    - std::string::c_str
    - std::list<std::string>::begin
    - size
    - std::list<std::string>::size
    - std::list<std::string>::const_iterator::c_str
    - const::const
    - rd_kafka_oauthbearer_set_token
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode oauthbearer_set_token(const std::string &token_value,\n
      \                                 int64_t md_lifetime_ms,\n                                  const
      std::string &md_principal_name,\n                                  const std::list<std::string>
      &extensions,\n                                  std::string &errstr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1150,1
    - Dst: rd_kafka_oauthbearer_set_token_failure
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1151,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errstr
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1152
    functionName: RdKafka::HandleImpl::oauthbearer_set_token_failure
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - std::string::c_str
    - rd_kafka_oauthbearer_set_token_failure
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode oauthbearer_set_token_failure(const std::string &errstr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_background_callbacks_enable
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1155,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1154
    functionDepth: 3
    functionLinenumber: 1154
    functionLinenumberEnd: 1161
    functionName: RdKafka::HandleImpl::sasl_background_callbacks_enable
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_sasl_background_callbacks_enable
    linkageType: ''
    returnType: Error
    signature: Error *sasl_background_callbacks_enable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_sasl_set_credentials
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: std::string::c_str
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1166,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - username
    - password
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1163
    functionDepth: 4
    functionLinenumber: 1163
    functionLinenumberEnd: 1172
    functionName: RdKafka::HandleImpl::sasl_set_credentials
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_sasl_set_credentials
    - ErrorImpl::ErrorImpl
    - std::string::c_str
    linkageType: ''
    returnType: Error
    signature: "Error *sasl_set_credentials(const std::string &username,\n                              const
      std::string &password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_malloc
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1176
    functionName: RdKafka::HandleImpl::mem_malloc
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_mem_malloc
    linkageType: ''
    returnType: void
    signature: void *mem_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1180
    functionName: RdKafka::HandleImpl::mem_free
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_mem_free
    linkageType: ''
    returnType: void
    signature: void mem_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1203
    functionDepth: 3
    functionLinenumber: 1203
    functionLinenumberEnd: 1205
    functionName: ~TopicImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_destroy
    linkageType: ''
    returnType: void
    signature: void ~TopicImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_name
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 2
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: RdKafka::TopicImpl::name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_name
    linkageType: ''
    returnType: std::string
    signature: std::string name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_topic_partition_available
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - partition
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1213
    functionName: RdKafka::TopicImpl::partition_available
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_topic_partition_available
    linkageType: ''
    returnType: bool
    signature: bool partition_available(int32_t partition) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1216,1
    - Dst: rd_kafka_offset_store
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - partition
    - offset
    argTypes:
    - int32_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1215
    functionDepth: 3
    functionLinenumber: 1215
    functionLinenumberEnd: 1218
    functionName: RdKafka::TopicImpl::offset_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<RdKafka::ErrorCode>
    - rd_kafka_offset_store
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode offset_store(int32_t partition, int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1224
    functionName: RdKafka::TopicImpl::c_ptr
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct rd_kafka_topic_s
    signature: struct rd_kafka_topic_s *c_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1238
    functionName: ~TopicPartitionImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~TopicPartitionImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - topic
    - partition
    argTypes:
    - std::string
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1248
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const std::string &topic, int partition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - topic
    - partition
    - offset
    argTypes:
    - std::string
    - int
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1256
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const std::string &topic, int partition, int64_t
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1259,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1262,1
    - Dst: rd_kafka_topic_partition_get_leader_epoch
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1263,1
    - Dst: assign
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - c_part
    argTypes:
    - rd_kafka_topic_partition_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1268
    functionName: RdKafka::TopicPartitionImpl::TopicPartitionImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 2
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_get_leader_epoch
    - std::string
    - assign
    linkageType: ''
    returnType: void
    signature: void TopicPartitionImpl(const rd_kafka_topic_partition_t *c_part)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1274
    functionName: RdKafka::TopicPartitionImpl::partition
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int partition() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1277
    functionName: '&topic() const'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &topic() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1281
    functionName: RdKafka::TopicPartitionImpl::offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t offset() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1285
    functionName: RdKafka::TopicPartitionImpl::err
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode err() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: RdKafka::TopicPartitionImpl::set_offset
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_offset(int64_t offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1293
    functionName: RdKafka::TopicPartitionImpl::get_leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t get_leader_epoch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - leader_epoch
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: RdKafka::TopicPartitionImpl::set_leader_epoch
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_leader_epoch(int32_t leader_epoch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    functionName: RdKafka::TopicPartitionImpl::get_metadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<unsigned char>
    signature: std::vector<unsigned char> get_metadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - metadata
    argTypes:
    - std::vector<unsigned char>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1305
    functionName: RdKafka::TopicPartitionImpl::set_metadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_metadata(std::vector<unsigned char> &metadata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ostrm
    argTypes:
    - std::ostream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1309
    functionName: '&operator<<(std::ostream &ostrm) const'
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &ostrm) const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1326
    functionDepth: 2
    functionLinenumber: 1326
    functionLinenumberEnd: 1328
    functionName: ~ConsumerGroupMetadataImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_group_metadata_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConsumerGroupMetadataImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cgmetadata
    argTypes:
    - rd_kafka_consumer_group_metadata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1332
    functionName: RdKafka::ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ConsumerGroupMetadataImpl(rd_kafka_consumer_group_metadata_t *cgmetadata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy_flags
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1341
    functionDepth: 11
    functionLinenumber: 1341
    functionLinenumberEnd: 1344
    functionName: ~KafkaConsumerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy_flags
    linkageType: ''
    returnType: void
    signature: void ~KafkaConsumerImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_rebalance_protocol
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1351,1
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1350
    functionDepth: 2
    functionLinenumber: 1350
    functionLinenumberEnd: 1353
    functionName: RdKafka::KafkaConsumerImpl::rebalance_protocol
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_rebalance_protocol
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string rebalance_protocol()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1364,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1363
    functionDepth: 3
    functionLinenumber: 1363
    functionLinenumberEnd: 1365
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1367,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1368
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MessageImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1370,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1371,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1369
    functionDepth: 4
    functionLinenumber: 1369
    functionLinenumberEnd: 1373
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_message
    - dynamic_cast<MessageImpl *>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(Message *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<MessageImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1375,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1376,1
    - Dst: rd_kafka_commit_message
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - Message*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1374
    functionDepth: 4
    functionLinenumber: 1374
    functionLinenumberEnd: 1378
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_message
    - dynamic_cast<MessageImpl *>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync(Message *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1381,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1382,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1384,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1385,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1380
    functionDepth: 4
    functionLinenumber: 1380
    functionLinenumberEnd: 1387
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1390,1
    - Dst: rd_kafka_commit
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1391,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1392,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1394
    functionName: RdKafka::KafkaConsumerImpl::commitAsync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit
    - partitions_to_c_parts
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitAsync(const std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1397,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - offset_commit_cb
    argTypes:
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1400
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_commit_queue
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode commitSync(OffsetCommitCb *offset_commit_cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1404,1
    - Dst: rd_kafka_commit_queue
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1405,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1408,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - offsets
    - offset_commit_cb
    argTypes:
    - std::vector<TopicPartition *>
    - OffsetCommitCb*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1402
    functionDepth: 4
    functionLinenumber: 1402
    functionLinenumberEnd: 1410
    functionName: RdKafka::KafkaConsumerImpl::commitSync
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_commit_queue
    - partitions_to_c_parts
    linkageType: ''
    returnType: ErrorCode
    signature: "ErrorCode commitSync(std::vector<TopicPartition *> &offsets,\n                       OffsetCommitCb
      *offset_commit_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_group_metadata
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1419,1
    - Dst: ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: RdKafka::KafkaConsumerImpl::groupMetadata
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_group_metadata
    - ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
    linkageType: ''
    returnType: ConsumerGroupMetadata
    signature: ConsumerGroupMetadata *groupMetadata()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consumer_closed
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1432
    functionName: RdKafka::KafkaConsumerImpl::closed
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_consumer_closed
    linkageType: ''
    returnType: bool
    signature: bool closed()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1437,1
    - Dst: rd_kafka_offsets_store
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1438,1
    - Dst: update_partitions_from_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1439,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1440,1
    - Dst: static_cast<ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - offsets
    argTypes:
    - std::vector<TopicPartition *>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1442
    functionName: RdKafka::KafkaConsumerImpl::offsets_store
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - static_cast<ErrorCode>
    - update_partitions_from_c_parts
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_offsets_store
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode offsets_store(std::vector<TopicPartition *> &offsets)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1453
    functionName: RdKafka::MetadataImpl::brokers
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const BrokerMetadata *>
    signature: std::vector<const BrokerMetadata *> *brokers() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: RdKafka::MetadataImpl::topics
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<const TopicMetadata *>
    signature: std::vector<const TopicMetadata *> *topics() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1461
    functionName: RdKafka::MetadataImpl::orig_broker_name
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string orig_broker_name() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1465
    functionName: RdKafka::MetadataImpl::orig_broker_id
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t orig_broker_id() const
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1478
    functionDepth: 11
    functionLinenumber: 1478
    functionLinenumberEnd: 1481
    functionName: ~ConsumerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    linkageType: ''
    returnType: void
    signature: void ~ConsumerImpl()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1511
    functionDepth: 11
    functionLinenumber: 1511
    functionLinenumberEnd: 1514
    functionName: ~ProducerImpl()
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_destroy
    linkageType: ''
    returnType: void
    signature: void ~ProducerImpl()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1561,1
    - Dst: rd_kafka_flush
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1562
    functionName: RdKafka::ProducerImpl::flush
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_flush
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode flush(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<RdKafka::ErrorCode>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1565,1
    - Dst: rd_kafka_purge
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - purge_flags
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1567
    functionName: RdKafka::ProducerImpl::purge
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_purge
    - static_cast<RdKafka::ErrorCode>
    linkageType: ''
    returnType: ErrorCode
    signature: ErrorCode purge(int purge_flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_init_transactions
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1572,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1569
    functionDepth: 4
    functionLinenumber: 1569
    functionLinenumberEnd: 1578
    functionName: RdKafka::ProducerImpl::init_transactions
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_init_transactions
    linkageType: ''
    returnType: Error
    signature: Error *init_transactions(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_begin_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1583,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1580
    functionDepth: 4
    functionLinenumber: 1580
    functionLinenumberEnd: 1589
    functionName: RdKafka::ProducerImpl::begin_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_begin_transaction
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *begin_transaction()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dynamic_cast<const RdKafka::ConsumerGroupMetadataImpl *>
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1597,1
    - Dst: partitions_to_c_parts
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1599,1
    - Dst: rd_kafka_send_offsets_to_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1601,1
    - Dst: rd_kafka_topic_partition_list_destroy
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1604,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - offsets
    - group_metadata
    - timeout_ms
    argTypes:
    - std::vector<TopicPartition *>
    - ConsumerGroupMetadata*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1591
    functionDepth: 4
    functionLinenumber: 1591
    functionLinenumberEnd: 1610
    functionName: RdKafka::ProducerImpl::send_offsets_to_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - partitions_to_c_parts
    - rd_kafka_topic_partition_list_destroy
    - rd_kafka_send_offsets_to_transaction
    - ErrorImpl::ErrorImpl
    - dynamic_cast<const RdKafka::ConsumerGroupMetadataImpl *>
    linkageType: ''
    returnType: Error
    signature: "Error *send_offsets_to_transaction(\n      const std::vector<TopicPartition
      *> &offsets,\n      const ConsumerGroupMetadata *group_metadata,\n      int
      timeout_ms)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_commit_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1615,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1612
    functionDepth: 4
    functionLinenumber: 1612
    functionLinenumberEnd: 1621
    functionName: RdKafka::ProducerImpl::commit_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - ErrorImpl::ErrorImpl
    - rd_kafka_commit_transaction
    linkageType: ''
    returnType: Error
    signature: Error *commit_transaction(int timeout_ms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_abort_transaction
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1626,1
    - Dst: ErrorImpl::ErrorImpl
      Src: /src/librdkafka/src-cpp/rdkafkacpp_int.h:1629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1623
    functionDepth: 4
    functionLinenumber: 1623
    functionLinenumberEnd: 1632
    functionName: RdKafka::ProducerImpl::abort_transaction
    functionSourceFile: /src/librdkafka/src-cpp/rdkafkacpp_int.h
    functionUses: 0
    functionsReached:
    - rd_kafka_abort_transaction
    - ErrorImpl::ErrorImpl
    linkageType: ''
    returnType: Error
    signature: Error *abort_transaction(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_version
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: RdKafka::version
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 6
    functionsReached:
    - rd_kafka_version
    linkageType: ''
    returnType: int
    signature: int RdKafka::version()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:38,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: RdKafka::version_str
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 6
    functionsReached:
    - rd_kafka_version_str
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string RdKafka::version_str()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: RdKafka::get_debug_contexts
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 4
    functionsReached:
    - std::string
    linkageType: ''
    returnType: std::string
    signature: std::string RdKafka::get_debug_contexts()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:46,1
    - Dst: rd_kafka_err2str
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:46,1
    - Dst: static_cast<rd_kafka_resp_err_t>
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - err
    argTypes:
    - RdKafka::ErrorCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: RdKafka::err2str
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 73
    functionsReached:
    - std::string
    - static_cast<rd_kafka_resp_err_t>
    - rd_kafka_err2str
    linkageType: ''
    returnType: std::string
    signature: std::string RdKafka::err2str(RdKafka::ErrorCode err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_wait_destroyed
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: RdKafka::wait_destroyed
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 3
    functionsReached:
    - rd_kafka_wait_destroyed
    linkageType: ''
    returnType: int
    signature: int RdKafka::wait_destroyed(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_malloc
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: RdKafka::mem_malloc
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 4
    functionsReached:
    - rd_kafka_mem_malloc
    linkageType: ''
    returnType: void
    signature: void *RdKafka::mem_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_mem_free
      Src: /src/librdkafka/src-cpp/RdKafka.cpp:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: RdKafka::mem_free
    functionSourceFile: /src/librdkafka/src-cpp/RdKafka.cpp
    functionUses: 4
    functionsReached:
    - rd_kafka_mem_free
    linkageType: ''
    returnType: void
    signature: void RdKafka::mem_free(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: RdKafka::Queue::~Queue()
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RdKafka::Queue::~Queue()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_new
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:38,1
    - Dst: dynamic_cast<HandleImpl *>
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:38,1
    - Dst: RdKafka::QueueImpl::QueueImpl
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - base
    argTypes:
    - Handle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 3
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: '*RdKafka::Queue::create(Handle *base)'
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_new
    - RdKafka::QueueImpl::QueueImpl
    - dynamic_cast<HandleImpl *>
    linkageType: ''
    returnType: RdKafka::Queue
    signature: RdKafka::Queue *RdKafka::Queue::create(Handle *base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:43,1
    - Dst: dynamic_cast<QueueImpl *>
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:45,1
    - Dst: rd_kafka_queue_forward
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - queue
    argTypes:
    - Queue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 4
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: RdKafka::QueueImpl::forward(Queue *queue)
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_forward
    - dynamic_cast<QueueImpl *>
    linkageType: ''
    returnType: RdKafka::ErrorCode
    signature: RdKafka::ErrorCode RdKafka::QueueImpl::forward(Queue *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_consume_queue
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:53,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:56,1
    - Dst: RdKafka::MessageImpl::MessageImpl
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: '*RdKafka::QueueImpl::consume(int timeout_ms)'
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_consume_queue
    - RdKafka::MessageImpl::MessageImpl
    linkageType: ''
    returnType: RdKafka::Message
    signature: RdKafka::Message *RdKafka::QueueImpl::consume(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_poll_callback
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: RdKafka::QueueImpl::poll(int timeout_ms)
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_poll_callback
    linkageType: ''
    returnType: int
    signature: int RdKafka::QueueImpl::poll(int timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rd_kafka_queue_io_event_enable
      Src: /src/librdkafka/src-cpp/QueueImpl.cpp:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - payload
    - size
    argTypes:
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 3
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: "RdKafka::QueueImpl::io_event_enable(int fd,\n                                         const
      void *payload,\n                                         size_t size)"
    functionSourceFile: /src/librdkafka/src-cpp/QueueImpl.cpp
    functionUses: 0
    functionsReached:
    - rd_kafka_queue_io_event_enable
    linkageType: ''
    returnType: void
    signature: "void RdKafka::QueueImpl::io_event_enable(int fd,\n                                         const
      void *payload,\n                                         size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_darwin_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 6
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_darwin_test.c
    functionUses: 18
    functionsReached:
    - pthread_setname_np
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_add_fetch
      Src: /src/librdkafka/packaging/cmake/try_compile/atomic_64_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: foo
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/atomic_64_test.c
    functionUses: 0
    functionsReached:
    - __atomic_add_fetch
    linkageType: ''
    returnType: int64_t
    signature: int64_t foo(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/atomic_64_test.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/librdkafka/packaging/cmake/try_compile/strndup_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/strndup_test.c
    functionUses: 18
    functionsReached:
    - strndup
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/librdkafka/packaging/cmake/try_compile/sync_32_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: foo
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/sync_32_test.c
    functionUses: 0
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: int32_t
    signature: int32_t foo(int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/sync_32_test.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/librdkafka/packaging/cmake/try_compile/regex_test.c:5,1
    - Dst: regexec
      Src: /src/librdkafka/packaging/cmake/try_compile/regex_test.c:6,1
    - Dst: regerror
      Src: /src/librdkafka/packaging/cmake/try_compile/regex_test.c:7,1
    - Dst: regfree
      Src: /src/librdkafka/packaging/cmake/try_compile/regex_test.c:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 10
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/regex_test.c
    functionUses: 18
    functionsReached:
    - regexec
    - regerror
    - regcomp
    - regfree
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sasl_done
      Src: /src/librdkafka/packaging/cmake/try_compile/libsasl2_test.c:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/libsasl2_test.c
    functionUses: 18
    functionsReached:
    - sasl_done
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/librdkafka/packaging/cmake/try_compile/dlopen_test.c:7,1
    - Dst: dlclose
      Src: /src/librdkafka/packaging/cmake/try_compile/dlopen_test.c:9,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 11
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/dlopen_test.c
    functionUses: 18
    functionsReached:
    - dlopen
    - dlclose
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 27
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c
    functionUses: 18
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_r
      Src: /src/librdkafka/packaging/cmake/try_compile/rand_r_test.c:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/rand_r_test.c
    functionUses: 18
    functionsReached:
    - rand_r
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_set_name_np
      Src: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c:5,1
    - Dst: pthread_self
      Src: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c:5,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 7
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c
    functionUses: 18
    functionsReached:
    - pthread_self
    - pthread_set_name_np
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_add_fetch
      Src: /src/librdkafka/packaging/cmake/try_compile/atomic_32_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: foo
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/atomic_32_test.c
    functionUses: 0
    functionsReached:
    - __atomic_add_fetch
    linkageType: ''
    returnType: int32_t
    signature: int32_t foo(int32_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/atomic_32_test.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/librdkafka/packaging/cmake/try_compile/sync_64_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: foo
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/sync_64_test.c
    functionUses: 0
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: int64_t
    signature: int64_t foo(int64_t i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 8
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/sync_64_test.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_setname_np
      Src: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c:4,1
    - Dst: pthread_self
      Src: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c:4,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 5
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c
    functionUses: 18
    functionsReached:
    - pthread_self
    - pthread_setname_np
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 6
    functionName: start_func
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/c11threads_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int start_func(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: thrd_create
      Src: /src/librdkafka/packaging/cmake/try_compile/c11threads_test.c:11,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 14
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cmake/try_compile/c11threads_test.c
    functionUses: 18
    functionsReached:
    - thrd_create
    linkageType: ''
    returnType: void
    signature: void main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:15,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/packaging/cp/check_features.c:15,1
    - Dst: rd_kafka_version
      Src: /src/librdkafka/packaging/cp/check_features.c:16,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:19,1
    - Dst: strstr
      Src: /src/librdkafka/packaging/cp/check_features.c:26,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/packaging/cp/check_features.c:26,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:27,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/packaging/cp/check_features.c:28,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/packaging/cp/check_features.c:32,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/packaging/cp/check_features.c:33,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:36,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:40,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/cp/check_features.c:45,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:47,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:54,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:58,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/cp/check_features.c:59,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:61,1
    - Dst: rd_kafka_conf_destroy
      Src: /src/librdkafka/packaging/cp/check_features.c:67,1
    - Dst: printf
      Src: /src/librdkafka/packaging/cp/check_features.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 5
    functionDepth: 21
    functionLinenumber: 5
    functionLinenumberEnd: 72
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/cp/check_features.c
    functionUses: 18
    functionsReached:
    - rd_kafka_version_str
    - rd_kafka_conf_new
    - rd_kafka_conf_set
    - printf
    - strstr
    - rd_kafka_conf_get
    - rd_kafka_conf_destroy
    - rd_kafka_version
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:20,1
    - Dst: rd_kafka_version_str
      Src: /src/librdkafka/packaging/rpm/tests/test.c:20,1
    - Dst: rd_kafka_conf_new
      Src: /src/librdkafka/packaging/rpm/tests/test.c:22,1
    - Dst: rd_kafka_conf_get
      Src: /src/librdkafka/packaging/rpm/tests/test.c:23,1
    - Dst: fprintf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:25,1
    - Dst: printf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:29,1
    - Dst: strlen
      Src: /src/librdkafka/packaging/rpm/tests/test.c:34,1
    - Dst: strstr
      Src: /src/librdkafka/packaging/rpm/tests/test.c:37,1
    - Dst: fprintf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:48,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/rpm/tests/test.c:52,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/rpm/tests/test.c:54,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/rpm/tests/test.c:56,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/rpm/tests/test.c:58,1
    - Dst: rd_kafka_conf_set
      Src: /src/librdkafka/packaging/rpm/tests/test.c:60,1
    - Dst: fprintf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:62,1
    - Dst: rd_kafka_new
      Src: /src/librdkafka/packaging/rpm/tests/test.c:66,1
    - Dst: fprintf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:68,1
    - Dst: printf
      Src: /src/librdkafka/packaging/rpm/tests/test.c:72,1
    - Dst: rd_kafka_name
      Src: /src/librdkafka/packaging/rpm/tests/test.c:72,1
    - Dst: rd_kafka_destroy
      Src: /src/librdkafka/packaging/rpm/tests/test.c:74,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 5
    functionDepth: 22
    functionLinenumber: 5
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/rpm/tests/test.c
    functionUses: 18
    functionsReached:
    - rd_kafka_version_str
    - rd_kafka_conf_new
    - fprintf
    - rd_kafka_destroy
    - rd_kafka_conf_set
    - printf
    - rd_kafka_name
    - strstr
    - rd_kafka_conf_get
    - rd_kafka_new
    - strlen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RdKafka::version_str
      Src: /src/librdkafka/packaging/rpm/tests/test.cpp:6,1
    - Dst: thrd_create
      Src: /src/librdkafka/packaging/rpm/tests/test.cpp:8,1
    - Dst: RdKafka::Conf*::get
      Src: /src/librdkafka/packaging/rpm/tests/test.cpp:12,1
    - Dst: thrd_create
      Src: /src/librdkafka/packaging/rpm/tests/test.cpp:20,1
    - Dst: RdKafka::Producer*::name
      Src: /src/librdkafka/packaging/rpm/tests/test.cpp:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 5
    functionDepth: 3
    functionLinenumber: 5
    functionLinenumberEnd: 34
    functionName: main
    functionSourceFile: /src/librdkafka/packaging/rpm/tests/test.cpp
    functionUses: 18
    functionsReached:
    - RdKafka::Conf*::get
    - thrd_create
    - RdKafka::Producer*::name
    - RdKafka::version_str
    linkageType: ''
    returnType: int
    signature: int main()
Fuzzer filename: /src/librdkafka/tests/fuzzers/fuzz_regex.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- rdkafka_transport_int.h
- streambuf
- share.h
- ../src/rdunittest.h
- xxhash.c
- syslog.h
- opentelemetry/common.pb.h
- sys/null.h
- stdbool.h
- linux/kernel.h
- rapidjson/pointer.h
- rapidjson/stringbuffer.h
- PB_SYSTEM_HEADER
- rdkafka_cert.h
- rdbase64.h
- netinet/tcp.h
- rdkafka_fetcher.h
- rapidjson/filereadstream.h
- rdkafka_telemetry_decode.h
- ../src/rdposix.h
- rdkafka_metadata.h
- rdaddr.h
- ../src/rdwin32.h
- algorithm
- openssl/evp.h
- rdrand.h
- stdarg.h
- netdb.h
- openssl/x509.h
- wingetopt.h
- nanopb/pb_decode.h
- openssl/provider.h
- openssl/err.h
- ../test.h
- string.h
- rdkafka_error.h
- testcpp.h
- dlfcn.h
- tinycthread_extra.h
- cstdlib
- rapidjson/document.h
- sys/stat.h
- rdinterval.h
- openssl/pkcs12.h
- ntsecapi.h
- ../src/rdkafka_mock.h
- err.h
- rdavl.h
- basetsd.h
- sockem.h
- rdkafka_ssl.h
- rdstring.h
- rdkafka_assignment.h
- cerrno
- ../src/win32_config.h
- strings.h
- rdendian.h
- rdkafka_pattern.h
- rdfnv1a.h
- rdkafka_txnmgr.h
- libkern/OSByteOrder.h
- librdkafka/rdkafkacpp.h
- linux/module.h
- linux/vmalloc.h
- ../src/rdkafka_protocol.h
- rdkafka_plugin.h
- nanopb/pb.h
- fstream
- interceptor_test/interceptor_test.h
- rdhttp.h
- sys/time.h
- rdkafka_int.h
- rdkafka.h
- winsock2.h
- rdkafka_msgbatch.h
- zstd.h
- ../src/rdkafka.h
- ctime
- rapidjson/prettywriter.h
- openssl/ssl.h
- rdposix.h
- iostream
- rdkafka_coord.h
- rapidjson/error/en.h
- librdkafka/rdkafka.h
- windows.h
- rdcrc32.h
- sys/timeb.h
- rdbuf.h
- lz4.c
- rdkafka_assignor.h
- unistd.h
- ../src/tinycthread.h
- sys/byteorder.h
- rdlist.h
- sys/endian.h
- rdkafka_sasl_oauthbearer.h
- lz4frame.h
- setjmp.h
- rdkafka_buf.h
- errno.h
- netinet/in.h
- rdkafkacpp_int.h
- rdkafka_idempotence.h
- rdtime.h
- openssl/hmac.h
- shlwapi.h
- ctype.h
- sys/wait.h
- rdhdrhistogram.h
- rdmap.h
- lz4.h
- openssl/rand.h
- lz4hc.h
- rdkafka_mock_int.h
- set
- inttypes.h
- machine/endian.h
- rdkafka_request.h
- math.h
- rdkafkacpp.h
- opentelemetry/metrics.pb.h
- list
- rdregex.h
- ../config.h
- win32_config.h
- ws2tcpip.h
- rd.h
- rdports.h
- direct.h
- sys/isa_defs.h
- linux/string.h
- rdtypes.h
- avr/pgmspace.h
- zstd_errors.h
- byteswap.h
- rdwin32.h
- time.h
- linux/slab.h
- cJSON.h
- sasl/sasl.h
- rdgz.h
- stdlib.h
- rdfloat.h
- asm/unaligned.h
- rdkafka_feature.h
- rdxxhash.h
- rdkafka_topic.h
- arpa/inet.h
- rdkafka_offset.h
- rdsysqueue.h
- string
- endian.h
- signal.h
- stddef.h
- rdkafka_sasl.h
- limits.h
- locale.h
- rdkafka_queue.h
- rdkafka_sasl_int.h
- sys/types.h
- openssl/sha.h
- dirent.h
- rdkafka_confval.h
- rdkafka_mock.h
- float.h
- process.h
- getopt.h
- fcntl.h
- rdkafka_msg.h
- ../src/rdkafka_proto.h
- linux/uio.h
- rdkafka_telemetry_encode.h
- rdkafka_admin.h
- test.h
- rdkafka_proto.h
- sspi.h
- rdkafka_telemetry.h
- sys/socket.h
- rdkafka_transport.h
- rdkafka_event.h
- ../win32/wingetopt.h
- ../src/rd.h
- poll.h
- snappy_compat.h
- sys/resource.h
- rdkafka_sasl_oauthbearer_oidc.h
- rdatomic.h
- regexp.h
- crc32c.h
- nanopb/pb_encode.h
- rdvarint.h
- openssl/x509_vfy.h
- sockem_ctrl.h
- zlib.h
- regex.h
- rdkafka_interceptor.h
- csignal
- linux/snappy.h
- cstring
- ../src/rdstring.h
- openssl/engine.h
- rdkafka_protocol.h
- rdkafka_msgset.h
- ../win32/wintime.h
- queue.h
- rdkafka_partition.h
- ws2ipdef.h
- sys/uio.h
- rdmurmur2.h
- wincrypt.h
- nanopb/pb_common.h
- intrin.h
- pthread_np.h
- iterator
- rdkafka_conf.h
- vector
- interceptor_test.h
- cstdio
- snappy.h
- rdkafka_header.h
- rdkafka_op.h
- atltime.h
- io.h
- helpers.h
- rdkafka_timer.h
- alloca.h
- sys/queue.h
- rddl.h
- sstream
- rdunittest.h
- rdlog.h
- rdkafka_aux.h
- curl/curl.h
- map
- stdio.h
- valgrind/memcheck.h
- rdkafka_zstd.h
- rdavg.h
- rapidjson/schema.h
- testshared.h
- pthread.h
- rdkafka_lz4.h
- rdkafka_cgrp.h
- stdint.h
- sched.h
- opentelemetry/resource.pb.h
- assert.h
- crtdefs.h
- rdkafka_broker.h
- tinycthread.h
- threads.h
report: name
sources:
- function_names:
  - _vwarnx
  - warnx
  - gcd
  - permute_args
  - parse_long_options
  - IDENTICAL_INTERPRETATION
  - getopt_internal
  - getopt
  - getopt_long
  - getopt_long_only
  source_file: /src/librdkafka/win32/wingetopt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: optreset
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: __mingw_optreset
    - item_type: preproc_def
      name: PRINT_ERROR
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: ((opterr) && (*options != ':'))
    - item_type: preproc_def
      name: FLAG_PERMUTE
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: FLAG_ALLARGS
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: FLAG_LONGONLY
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: BADCH
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: (int)'?'
    - item_type: preproc_def
      name: BADARG
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: '((*options == '':'') ? (int)'':'' : (int)''?'')'
    - item_type: preproc_def
      name: INORDER
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: (int)1
    - item_type: preproc_def
      name: __progname
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: __argv[0]
    - item_type: preproc_def
      name: EMSG
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/win32/wingetopt.c
      type_or_value: '""'
    structs: []
    typedefs: []
    union: []
- function_names:
  - gettimeofday
  source_file: /src/librdkafka/win32/wintime.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/win32/wingetopt.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: optreset
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/win32/wingetopt.h
      type_or_value: __mingw_optreset
    - item_type: preproc_def
      name: HAVE_DECL_GETOPT
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/librdkafka/win32/wingetopt.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: has_arg
        type: int
      - name: '*flag'
        type: int
      - name: val
        type: int
      item_type: struct
      name: option
      pos:
        line_end: 67
        line_start: 61
        source_file: /src/librdkafka/win32/wingetopt.h
    typedefs: []
    union: []
- function_names:
  - jmx_verify
  - do_test_swname
  - main_0016_client_swname
  source_file: /src/librdkafka/tests/0016-client_swname.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_ProduceResponse
  - do_test_implicit_ack
  - main_0090_idempotence
  source_file: /src/librdkafka/tests/0090-idempotence.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: batch_cnt
        type: int
      - name: initial_fail_batch_cnt
        type: int
      - name: produce_cnt
        type: rd_atomic32_t
      item_type: struct
      name: state
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/librdkafka/tests/0090-idempotence.c
    typedefs: []
    union: []
- function_names:
  - do_test_fetch_max_bytes
  - main_0082_fetch_max_bytes
  source_file: /src/librdkafka/tests/0082-fetch_max_bytes.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_dr_msg_cb
  - is_fatal_cb
  - do_test_produce_timeout
  - main_0094_idempotence_msg_timeout
  source_file: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: dr_ok
        type: int
      - name: dr_fail
        type: int
      - name: mv_delivered
        type: test_msgver_t
      item_type: struct
      name: counters
      pos:
        line_end: 100
        line_start: 96
        source_file: /src/librdkafka/tests/0094-idempotence_msg_timeout.c
    typedefs: []
    union: []
- function_names:
  - DrCb::DrCb
  - DrCb::dr_cb
  - DrCb::DrCb
  - DrCb::dr_cb
  - do_test_producer
  - main_0115_producer_auth
  source_file: /src/librdkafka/tests/0115-producer_auth.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - main_0007_autotopic
  source_file: /src/librdkafka/tests/0007-autotopic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - check_err
  - DrCb0057::dr_cb
  - test_invalid_topic
  - main_0057_invalid_topic
  source_file: /src/librdkafka/tests/0057-invalid_topic.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0079_fork
  source_file: /src/librdkafka/tests/0079-fork.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rebalance_cb
  - main_0069_consumer_add_parts
  source_file: /src/librdkafka/tests/0069-consumer_add_parts.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - main_0005_order
  source_file: /src/librdkafka/tests/0005-order.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_consumer
  - main_0109_auto_create_topics
  source_file: /src/librdkafka/tests/0109-auto_create_topics.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rebalance_cb
  - main_0029_assign_offset
  source_file: /src/librdkafka/tests/0029-assign_offset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REB_METHOD_1
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/tests/0029-assign_offset.c
      type_or_value: '1'
    - item_type: preproc_def
      name: REB_METHOD_2
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/tests/0029-assign_offset.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - _TEST_DECL
  - _TEST
  - _THRES
  - test_socket_add
  - test_socket_find
  - test_socket_del
  - test_socket_sockem_set_all
  - test_socket_sockem_set
  - test_socket_close_all
  - test_connect_cb
  - test_closesocket_cb
  - test_socket_enable
  - test_error_is_not_fatal_cb
  - test_error_cb
  - test_stats_cb
  - test_timeout_set
  - tmout_multip
  - test_init_win32
  - test_init
  - test_mk_topic_name
  - test_set_special_conf
  - test_read_file
  - test_read_conf_file
  - test_conf_get_path
  - test_getenv
  - test_conf_common_init
  - test_conf_init
  - test_conf_log_interceptor_log_cb
  - test_conf_set_log_interceptor
  - test_rand
  - test_id_generate
  - test_str_id_generate
  - test_str_id_generate_tmp
  - test_msg_fmt
  - test_prepare_msg
  - test_msg_parse00
  - test_msg_parse0
  - run_test0
  - run_test_from_thread
  - check_test_timeouts
  - run_test
  - run_tests
  - test_summary
  - test_sig_term
  - test_wait_exit
  - test_cleanup
  - main
  - test_dr_msg_cb
  - test_create_handle
  - test_create_producer
  - test_create_topic_object
  - test_create_producer_topic
  - test_produce_msgs_nowait
  - test_wait_delivery
  - test_produce_msgs
  - test_produce_msgs2
  - test_produce_msgs2_nowait
  - test_produce_msgs_rate
  - test_produce_msgs_easy_size
  - test_produce_sync
  - test_produce_msgs_easy_v
  - test_produce_msgs_easy_multi
  - test_incremental_rebalance_cb
  - test_rebalance_cb
  - test_create_consumer
  - test_create_consumer_topic
  - test_consumer_start
  - test_consumer_stop
  - test_consumer_seek
  - test_consume_msgs
  - test_consume_msgs_easy_mv0
  - test_consume_msgs_easy
  - test_consume_txn_msgs_easy
  - test_consumer_wait_assignment
  - test_consumer_verify_assignment0
  - test_consumer_verify_assignment_topic_partition_list0
  - test_consumer_wait_assignment_topic_partition_list0
  - test_consumer_subscribe
  - test_consumer_subscribe_multi
  - test_consumer_assign
  - test_consumer_incremental_assign
  - test_consumer_unassign
  - test_consumer_incremental_unassign
  - test_consumer_assign_by_rebalance_protocol
  - test_consumer_unassign_by_rebalance_protocol
  - test_consumer_assign_partition
  - test_consumer_pause_resume_partition
  - test_msgver_init
  - test_msgver_ignore_eof
  - TEST_MV_WARN
  - test_mv_mvec_grow
  - test_mv_mvec_reserve
  - test_mv_mvec_init
  - test_mv_mvec_clear
  - test_msgver_clear
  - test_msgver_p_get
  - test_mv_mvec_add
  - test_mv_mvec_get
  - test_mv_mvec_find_by_msgid
  - test_mv_mvec_dump
  - test_mv_mvec_sort
  - test_msgver_add_msg00
  - test_msgver_add_msg0
  - test_mv_mvec_verify_order
  - test_mv_mvec_verify_corr
  - test_mv_m_cmp_offset
  - test_mv_m_cmp_msgid
  - test_mv_mvec_verify_dup
  - test_mv_mvec_verify_broker
  - test_mv_mvec_verify_range
  - test_mv_p_verify_f
  - test_mv_p_verify_f0
  - test_mv_collect_all_msgs
  - test_msgver_verify_range
  - test_msgver_verify_part0
  - test_msgver_verify0
  - test_verify_rkmessage0
  - test_msgver_verify_compare0
  - test_consumer_poll_no_msgs
  - test_consumer_poll_expect_err
  - test_consumer_poll_once
  - test_consumer_poll_exact_timeout
  - test_consumer_poll_exact
  - test_consumer_poll
  - test_consumer_poll_timeout
  - test_consumer_close
  - test_flush
  - test_is_forbidden_conf_group_protocol_consumer
  - test_conf_set
  - test_conf_get
  - test_topic_conf_get
  - test_conf_match
  - test_topic_conf_set
  - test_any_conf_set
  - test_needs_auth
  - test_topic_partitions
  - test_print_partition_list
  - test_partition_list_cmp
  - test_partition_list_and_offsets_cmp
  - test_kafka_cmd
  - test_kafka_topics
  - test_admin_create_topic
  - test_create_topic_sh
  - test_create_topic
  - test_create_topic_wait_exists
  - test_delete_topic_sh
  - test_admin_delete_topic
  - test_delete_topic
  - test_admin_create_partitions
  - test_create_partitions
  - test_get_partition_count
  - test_auto_create_topic_rkt
  - test_auto_create_topic
  - test_check_auto_create_topic
  - test_run_java
  - test_waitpid
  - test_check_builtin
  - tsprintf
  - test_report_add
  - test_can_create_topics
  - test_wait_event
  - test_SAY
  - test_SKIP
  - test_curr_name
  - test_headers_dump
  - test_get_broker_ids
  - test_get_broker_config_entry
  - verify_topics_in_metadata
  - test_wait_metadata_update
  - test_wait_topic_exists
  - test_wait_admin_result
  - test_wait_topic_admin_result
  - test_CreateTopics_simple
  - test_CreatePartitions_simple
  - test_DeleteTopics_simple
  - test_DeleteGroups_simple
  - test_DeleteRecords_simple
  - test_DeleteConsumerGroupOffsets_simple
  - test_AlterConfigs_simple
  - test_IncrementalAlterConfigs_simple
  - test_CreateAcls_simple
  - test_DeleteAcls_simple
  - test_free_string_array
  - test_get_all_test_topics
  - test_delete_all_test_topics
  - test_fail0
  - test_mock_cluster_destroy
  - test_mock_cluster_new
  - test_mock_get_matching_request_cnt
  - test_mock_wait_matching_requests
  - test_mock_cluster_member_assignment
  - test_sub_start
  - test_sub_reset
  - test_sub_pass
  - test_sub_skip
  - test_consumer_group_protocol
  - test_consumer_group_protocol_classic
  source_file: /src/librdkafka/tests/test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENABLE_VIRTUAL_TERMINAL_PROCESSING
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/librdkafka/tests/test.c
      type_or_value: '0x4'
    structs:
    - fields:
      - name: "(*log_cb)(const rd_kafka_t *rk,\n                       int level,\n
          \                      const char *fac,\n                       const char
          *buf)"
        type: void
      item_type: struct
      name: test_conf_log_interceptor_s
      pos:
        line_end: 1000
        line_start: 995
        source_file: /src/librdkafka/tests/test.c
    - fields:
      - name: '*test'
        type: struct test
      - name: argc
        type: int
      - name: '**argv'
        type: char
      item_type: struct
      name: run_args
      pos:
        line_end: 1286
        line_start: 1282
        source_file: /src/librdkafka/tests/test.c
    typedefs: []
    union: []
- function_names:
  - expect_match
  - rebalance_cb
  - consumer_poll_once
  - test_subscribe
  - do_test
  - main_0033_regex_subscribe
  - main_0033_regex_subscribe_local
  source_file: /src/librdkafka/tests/0033-regex_subscribe.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*sub[4]'
        type: char
      - name: '*exp[4]'
        type: char
      - name: exp_err
        type: int
      - name: stat[4]
        type: int
      - name: fails
        type: int
      - name: result
        type: "enum {\n                _EXP_NONE,\n                _EXP_FAIL,\n                _EXP_OK,\n
          \               _EXP_ASSIGN,\n                _EXP_REVOKE,\n                _EXP_ASSIGNED,\n
          \               _EXP_REVOKED,\n        }"
      item_type: struct
      name: expect
      pos:
        line_end: 58
        line_start: 42
        source_file: /src/librdkafka/tests/0033-regex_subscribe.c
    typedefs: []
    union: []
- function_names:
  - do_consume
  - rebalance_cb
  - main_0093_holb_consumer
  source_file: /src/librdkafka/tests/0093-holb.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CONSUMER_CNT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/librdkafka/tests/0093-holb.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*rk'
        type: rd_kafka_t
      - name: last
        type: int64_t
      - name: cnt
        type: int
      - name: rebalance_cnt
        type: int
      - name: max_rebalance_cnt
        type: int
      item_type: struct
      name: _consumer
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/librdkafka/tests/0093-holb.c
    typedefs: []
    union: []
- function_names:
  - consume_pause
  - consume_pause_resume_after_reassign
  - rebalance_cb
  - consume_subscribe_assign_pause_resume
  - consume_seek_pause_resume
  - main_0026_consume_pause
  source_file: /src/librdkafka/tests/0026-consume_pause.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_cb
  - do_test_idle
  - main_0123_connections_max_idle
  source_file: /src/librdkafka/tests/0123-connections_max_idle.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - broker_same_host_port_mock_log_cb
  - broker_same_host_port_mock_verify_broker_ids
  - main_0149_broker_same_host_port_mock
  source_file: /src/librdkafka/tests/0149-broker-same-host-port.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - legacy_consumer_early_destroy
  - main_0037_destroy_hang_local
  source_file: /src/librdkafka/tests/0037-destroy_hang_local.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - print_toppar_list
  - compare_toppar_lists
  - offset_commit_cb
  - commit_metadata
  - get_committed_metadata
  - main_0099_commit_metadata
  source_file: /src/librdkafka/tests/0099-commit_metadata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_hostname_normalize
  - main_0154_ssl_hostname_normalize
  source_file: /src/librdkafka/tests/0154-ssl_hostname_normalize.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*expected'
        type: char
      - name: '*description'
        type: char
      item_type: struct
      name: "test_cases[] = {\n            {\"broker.example.com.\", \"broker.example.com\",\n
        \            \"FQDN with trailing dot\"},\n            {\"broker.example.com\",
        \"broker.example.com\",\n             \"FQDN without trailing dot\"},\n            {\"localhost.\",
        \"localhost\", \"localhost with trailing dot\"},\n            {\"localhost\",
        \"localhost\", \"localhost without trailing dot\"},\n            {\".\", \".\",
        \"single dot (edge case - should remain unchanged)\"},\n            {\"\",
        \"\", \"empty string (edge case)\"},\n            {\"broker-1.example.com.\",
        \"broker-1.example.com\",\n             \"hostname with dash and trailing
        dot\"},\n            {\"192.168.1.1\", \"192.168.1.1\", \"IP address (no trailing
        dot)\"},\n            {NULL, NULL, NULL}}"
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/librdkafka/tests/0154-ssl_hostname_normalize.c
    typedefs: []
    union: []
- function_names:
  - resolve_cb
  - connect_cb
  - main_0136_resolve_cb
  source_file: /src/librdkafka/tests/0136-resolve_cb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - error_is_fatal_cb
  - on_response_received_trampoline
  - on_new_producer
  - create_idempo_producer
  - do_test_idempo_possibly_persisted_not_causing_fatal_error
  - do_test_idempo_duplicate_sequence_number_after_possibly_persisted
  - do_test_idempo_success_after_possibly_persisted
  - main_0144_idempotence_mock
  source_file: /src/librdkafka/tests/0144-idempotence_mock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_invalid_partitioner
  - do_test_failed_partitioning
  - part_dr_msg_cb
  - do_test_partitioner
  - do_test_partitioners
  - main_0048_partitioner
  source_file: /src/librdkafka/tests/0048-partitioner.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MSG_CNT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/librdkafka/tests/0048-partitioner.c
      type_or_value: '5'
    structs:
    - fields:
      - name: '*partitioner'
        type: char
      - name: exp_part[_MSG_CNT]
        type: int32_t
      item_type: struct
      name: "ptest[] = {{\"random\", {-1, -1, -1, -1, -1}},\n                     {\"consistent\",\n
        \                     {/* These constants were acquired using\n                        *
        the 'crc32' command on OSX */\n                       0x0 % part_cnt, 0x0
        % part_cnt, 0xb1b451d7 % part_cnt,\n                       0xb0150df7 % part_cnt,
        0xd077037e % part_cnt}},\n                     {\"consistent_random\",\n                      {-1,
        -1, 0xb1b451d7 % part_cnt, 0xb0150df7 % part_cnt,\n                       0xd077037e
        % part_cnt}},\n                     {\"murmur2\",\n                      {/*
        .. using tests/java/Murmur2Cli */\n                       0x106e08d9 % part_cnt,
        0x106e08d9 % part_cnt,\n                       0x058d780f % part_cnt, 0x4f7703da
        % part_cnt,\n                       0x5ec19395 % part_cnt}},\n                     {\"murmur2_random\",\n
        \                     {-1, 0x106e08d9 % part_cnt, 0x058d780f % part_cnt,\n
        \                      0x4f7703da % part_cnt, 0x5ec19395 % part_cnt}},\n                     {\"fnv1a\",\n
        \                     {/* .. using https://play.golang.org/p/hRkA4xtYyJ6 */\n
        \                      0x7ee3623b % part_cnt, 0x7ee3623b % part_cnt,\n                       0x27e6f469
        % part_cnt, 0x155e3e5f % part_cnt,\n                       0x17b1e27a % part_cnt}},\n
        \                    {\"fnv1a_random\",\n                      {-1, 0x7ee3623b
        % part_cnt, 0x27e6f469 % part_cnt,\n                       0x155e3e5f % part_cnt,
        0x17b1e27a % part_cnt}},\n                     {NULL}}"
      pos:
        line_end: 240
        line_start: 236
        source_file: /src/librdkafka/tests/0048-partitioner.c
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - main_0003_msgmaxsize
  source_file: /src/librdkafka/tests/0003-msgmaxsize.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: keylen
        type: ssize_t
      - name: len
        type: ssize_t
      - name: exp_err
        type: rd_kafka_resp_err_t
      item_type: struct
      name: "sizes[] = {/* message.max.bytes is including framing */\n                     {-1,
        5000, RD_KAFKA_RESP_ERR_NO_ERROR},\n                     {0, 99900, RD_KAFKA_RESP_ERR_NO_ERROR},\n
        \                    {0, 100000, RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE},\n
        \                    {100000, 0, RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE},\n
        \                    {1000, 100000, RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE},\n
        \                    {0, 101000, RD_KAFKA_RESP_ERR_MSG_SIZE_TOO_LARGE},\n
        \                    {99000, -1, RD_KAFKA_RESP_ERR_NO_ERROR},\n                     {-1,
        -1, RD_KAFKA_RESP_ERR__END}}"
      pos:
        line_end: 86
        line_start: 82
        source_file: /src/librdkafka/tests/0003-msgmaxsize.c
    typedefs: []
    union: []
- function_names:
  - do_produce_batch
  - do_test_basic_producer_txn
  - consume_messages
  - destroy_messages
  - do_test_consumer_producer_txn
  - do_test_misuse_txn
  - fenced_txn_is_fatal_cb
  - do_test_fenced_txn
  - do_test_fatal_idempo_error_without_kip360
  - do_test_empty_txn
  - do_test_txn_abort_control_message_leader_epoch
  - query_hi_wmark0
  - query_hi_wmark
  - do_test_wmark_isolation_level
  - main_0103_transactions
  - do_test_txn_local
  - main_0103_transactions_local
  source_file: /src/librdkafka/tests/0103-transactions.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _TXNCNT
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/librdkafka/tests/0103-transactions.c
      type_or_value: '6'
    - item_type: preproc_def
      name: _MSGCNT
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/librdkafka/tests/0103-transactions.c
      type_or_value: (10 * 30)
    structs:
    - fields:
      - name: '*desc'
        type: char
      - name: testid
        type: uint64_t
      - name: msgcnt
        type: int
      - name: abort
        type: rd_bool_t
      - name: sync
        type: rd_bool_t
      - name: batch
        type: rd_bool_t
      - name: batch_any
        type: rd_bool_t
      item_type: struct
      name: "txn[_TXNCNT] = {\n            {\"Commit transaction, sync producing\",
        0, 100, rd_false, rd_true},\n            {\"Commit transaction, async producing\",
        0, 1000, rd_false,\n             rd_false},\n            {\"Commit transaction,
        sync batch producing to any partition\", 0,\n             100, rd_false, rd_true,
        rd_true, rd_true},\n            {\"Abort transaction, sync producing\", 0,
        500, rd_true, rd_true},\n            {\"Abort transaction, async producing\",
        0, 5000, rd_true, rd_false},\n            {\"Abort transaction, sync batch
        producing to one partition\", 0, 500,\n             rd_true, rd_true, rd_true,
        rd_false},\n\n        }"
      pos:
        line_end: 111
        line_start: 103
        source_file: /src/librdkafka/tests/0103-transactions.c
    typedefs: []
    union: []
- function_names:
  - test_variation_name
  - error_is_fatal_cb
  - rebalance_cb
  - is_heartbeat_request
  - wait_all_heartbeats_done
  - create_consumer
  - do_test_consumer_group_heartbeat_fatal_error
  - do_test_consumer_group_heartbeat_fatal_errors
  - do_test_consumer_group_heartbeat_retriable_error
  - do_test_consumer_group_heartbeat_retriable_errors
  - do_test_consumer_group_heartbeat_fenced_error
  - do_test_consumer_group_heartbeat_fenced_errors
  - test_variation_unknown_topic_id_name
  - do_test_metadata_unknown_topic_id_error
  - do_test_metadata_unknown_topic_id_tests
  - do_test_adherence_to_hb_interval
  - do_test_quick_unsubscribe
  - do_test_quick_unsubscribe_tests
  - main_0147_consumer_group_consumer_mock
  source_file: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
  types:
    enum:
    - enumerators:
      - name: TEST_VARIATION_ERROR_FIRST_HB
        value: '0'
      - name: TEST_VARIATION_ERROR_SECOND_HB
        value: '1'
      - name: TEST_VARIATION__CNT
      item_type: enum
      name: test_variation_t
      pos:
        line_end: 50
        line_start: 44
        source_file: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    - enumerators:
      - name: TEST_VARIATION_UNKNOWN_TOPIC_ID_ONE_TOPIC
        value: '0'
      - name: TEST_VARIATION_UNKNOWN_TOPIC_ID__CNT
      - name: TEST_VARIATION_UNKNOWN_TOPIC_ID_TWO_TOPICS
        value: '1'
      item_type: enum
      name: test_variation_unknown_topic_id_t
      pos:
        line_end: 687
        line_start: 681
        source_file: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    - enumerators:
      - name: DO_TEST_QUICK_UNSUBSCRIBE_VARIATION_NO_CLUSTER
        value: '0'
      - name: DO_TEST_QUICK_UNSUBSCRIBE_VARIATION__CNT
      - name: DO_TEST_QUICK_UNSUBSCRIBE_VARIATION_CLUSTER_READY
        value: '1'
      item_type: enum
      name: do_test_quick_unsubscribe_variation_t
      pos:
        line_end: 863
        line_start: 857
        source_file: /src/librdkafka/tests/0147-consumer_group_consumer_mock.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_empty_topic_consumer
  - main_0067_empty_topic
  source_file: /src/librdkafka/tests/0067-empty_topic.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MyCb::MyCb
  - MyCb::called
  - MyCb::oauthbearer_token_refresh_cb
  - MyCb::MyCb
  - MyCb::called
  - MyCb::oauthbearer_token_refresh_cb
  - do_test
  - main_0128_sasl_callback_queue
  source_file: /src/librdkafka/tests/0128-sasl_callback_queue.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_fetch_unauth
  - main_0119_consumer_auth
  source_file: /src/librdkafka/tests/0119-consumer_auth.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nonexist_part
  - producer_groupid
  - main_0020_destroy_hang
  source_file: /src/librdkafka/tests/0020-destroy_hang.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - on_request_sent
  - on_response_received
  - on_new_producer
  - dr_msg_cb
  - purge_and_expect
  - gapless_is_not_fatal_cb
  - do_test_purge
  - main_0086_purge_remote
  - main_0086_purge_local
  source_file: /src/librdkafka/tests/0086-purge.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: exp_err[29]
        type: rd_kafka_resp_err_t
      - name: cnt
        type: int
      item_type: struct
      name: waitmsgs
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/librdkafka/tests/0086-purge.c
    typedefs: []
    union: []
- function_names:
  - socket_errno
  - socket_errno
  - strdupa
  - mtx_init
  - mtx_destroy
  - mtx_lock
  - mtx_unlock
  - thrd_create
  - thrd_join0
  - sockem_close0
  - sockem_connect0
  - sockem_close0
  - sockem_connect0
  - sockem_clock
  - sockem_init
  - sockem_calc_waittime
  - sockem_buf_destroy
  - sockem_buf_add
  - sockem_fwd_bufs
  - sockem_recv_fwd
  - sockem_close_all
  - sockem_conf_use
  - sockem_run
  - sockem_do_connect
  - sockem_connect
  - sockem_bufs_purge
  - sockem_close
  - sockem_set0
  - sockem_vset
  - sockem_set
  - sockem_find
  - connect
  - close
  source_file: /src/librdkafka/tests/sockem.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SOCKET_ERROR
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/tests/sockem.c
      type_or_value: '-1'
    structs:
    - fields:
      - name: tx_thruput
        type: int
      - name: rx_thruput
        type: int
      - name: delay
        type: int
      - name: jitter
        type: int
      - name: debug
        type: int
      - name: recv_bufsz
        type: size_t
      - name: direct
        type: int
      item_type: struct
      name: sockem_conf
      pos:
        line_end: 108
        line_start: 99
        source_file: /src/librdkafka/tests/sockem.c
    - fields:
      - name: (sockem_buf_s)
        type: TAILQ_ENTRY
      - name: sb_size
        type: size_t
      - name: sb_of
        type: size_t
      - name: '*sb_data'
        type: char
      - name: sb_at
        type: int64_t
      item_type: struct
      name: sockem_buf_s
      pos:
        line_end: 117
        line_start: 111
        source_file: /src/librdkafka/tests/sockem.c
    - fields:
      - name: (sockem_s)
        type: LIST_ENTRY
      - name: run
        type: "enum {\n                /* Forwarder thread run states */\n                SOCKEM_INIT,\n
          \               SOCKEM_START,\n                SOCKEM_RUN,\n                SOCKEM_TERM\n
          \       }"
      - name: as
        type: int
      - name: ls
        type: int
      - name: ps
        type: int
      - name: '*recv_buf'
        type: void
      - name: recv_bufsz
        type: size_t
      - name: linked
        type: int
      - name: thrd
        type: thrd_t
      - name: lock
        type: mtx_t
      - name: conf
        type: struct sockem_conf
      - name: use
        type: struct sockem_conf
      - name: (, sockem_buf_s)
        type: TAILQ_HEAD
      - name: bufs_size
        type: size_t
      - name: bufs_size_max
        type: size_t
      - name: poll_fd_cnt
        type: int
      - name: ts_last_fwd
        type: int64_t
      item_type: struct
      name: sockem_s
      pos:
        line_end: 162
        line_start: 120
        source_file: /src/librdkafka/tests/sockem.c
    typedefs:
    - item_type: typedef
      name: mtx_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/librdkafka/tests/sockem.c
      type: pthread_mutex_t
    - item_type: typedef
      name: thrd_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/librdkafka/tests/sockem.c
      type: pthread_t
    - item_type: typedef
      name: sockem_ts_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/librdkafka/tests/sockem.c
      type: int64_t
    union: []
- function_names:
  - dr_msg_cb
  - stats_cb
  - verify_latency
  - measure_rtt
  - test_producer_latency
  - find_min
  - find_max
  - main_0055_producer_latency
  - dr_msg_cb_first_message
  - test_producer_latency_first_message
  - main_0055_producer_latency_mock
  source_file: /src/librdkafka/tests/0055-producer_latency.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _MSG_COUNT
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/tests/0055-producer_latency.c
      type_or_value: '10'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*conf[16]'
        type: char
      - name: min
        type: int
      - name: max
        type: int
      - name: rtt
        type: float
      - name: linger_ms_conf[32]
        type: char
      - name: passed
        type: rd_bool_t
      - name: latency[_MSG_COUNT]
        type: float
      - name: sum
        type: float
      - name: cnt
        type: int
      - name: wakeups
        type: int
      item_type: struct
      name: latconf
      pos:
        line_end: 52
        line_start: 35
        source_file: /src/librdkafka/tests/0055-producer_latency.c
    typedefs: []
    union: []
- function_names:
  - prepare_timestamps
  - produce_msgs
  - consume_msgs_verify_timestamps
  - test_timestamps
  - main_0052_msg_timestamps
  source_file: /src/librdkafka/tests/0052-msg_timestamps.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: min
        type: int64_t
      - name: max
        type: int64_t
      item_type: struct
      name: timestamp_range
      pos:
        line_end: 39
        line_start: 36
        source_file: /src/librdkafka/tests/0052-msg_timestamps.c
    typedefs: []
    union: []
- function_names:
  - ctrl_thrd_main
  - connect_cb
  - is_fatal_cb
  - set_delay
  - do_test_low_socket_timeout
  - main_0075_retry
  source_file: /src/librdkafka/tests/0075-retry.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: mtx_t
      - name: cnd
        type: cnd_t
      - name: '*skm'
        type: sockem_t
      - name: thrd
        type: thrd_t
      - name: cmd
        type: "struct {\n                int64_t ts_at; /* to ctrl thread: at this
          time, set delay */\n                int delay;\n                int ack;
          /* from ctrl thread: new delay acked */\n        }"
      - name: next
        type: "struct {\n                int64_t ts_at; /* to ctrl thread: at this
          time, set delay */\n                int delay;\n\n        }"
      - name: term
        type: int
      - name: num_sockets
        type: int
      - name: '*test_curr'
        type: struct test
      item_type: struct
      name: ctrl
      pos:
        line_end: 64
        line_start: 44
        source_file: /src/librdkafka/tests/0075-retry.c
    typedefs: []
    union: []
- function_names:
  - main_0016_assign_partition
  source_file: /src/librdkafka/tests/xxxx-assign_partition.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0112_assign_unknown_part
  source_file: /src/librdkafka/tests/0112-assign_unknown_part.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_single_partition_cb
  - test_single_partition
  - dr_partitioner_cb
  - test_partitioner
  - dr_per_message_partition_cb
  - test_per_message_partition_flag
  - dr_partitioner_wo_per_message_flag_cb
  - test_message_partitioner_wo_per_message_flag
  - dr_message_single_partition_record_fail
  - test_message_single_partition_record_fail
  - main_0011_produce_batch
  source_file: /src/librdkafka/tests/0011-produce_batch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_fatal_cb
  - do_test_produce_retries
  - on_request_sent
  - on_new_producer
  - do_test_produce_retries_disconnect
  - free_mock_requests
  - wait_produce_requests_done
  - do_test_produce_retry_invalid_msg
  - main_0076_produce_retry
  - main_0076_produce_retry_mock
  source_file: /src/librdkafka/tests/0076-produce_retry.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - expect_check
  - dr_msg_cb
  - expect_iter
  - on_send1
  - on_send2
  - on_new
  - main_0072_headers_ut
  source_file: /src/librdkafka/tests/0072-headers_ut.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: expect
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/librdkafka/tests/0072-headers_ut.c
    typedefs: []
    union: []
- function_names:
  - stats_cb
  - do_test_stats_timer
  - main_0025_timers
  source_file: /src/librdkafka/tests/0025-timers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: calls
        type: int
      - name: ts_last
        type: int64_t
      - name: interval
        type: int
      - name: fails
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 43
        line_start: 38
        source_file: /src/librdkafka/tests/0025-timers.c
    typedefs: []
    union: []
- function_names:
  - run_polling_thread
  - start_polling_thread
  - stop_polling_thread
  - do_test_consumer_close
  - main_0116_kafkaconsumer_close
  source_file: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*queue'
        type: RdKafka::Queue
      - name: '*c'
        type: RdKafka::KafkaConsumer
      item_type: struct
      name: args
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/librdkafka/tests/0116-kafkaconsumer_close.cpp
    typedefs: []
    union: []
- function_names:
  - background_event_cb
  - wait_background_event_cb
  - do_test_CreateTopics
  - do_test_DeleteTopics
  - do_test_DeleteGroups
  - do_test_ListConsumerGroups
  - do_test_DescribeConsumerGroups
  - do_test_DescribeTopics
  - do_test_DescribeCluster
  - do_test_DeleteRecords
  - do_test_DeleteConsumerGroupOffsets
  - do_test_AclBinding
  - do_test_AclBindingFilter
  - do_test_CreateAcls
  - do_test_DescribeAcls
  - do_test_DeleteAcls
  - do_test_AlterConsumerGroupOffsets
  - do_test_ListConsumerGroupOffsets
  - do_test_DescribeUserScramCredentials
  - do_test_AlterUserScramCredentials
  - do_test_ElectLeaders
  - do_test_mix
  - do_test_configs
  - do_test_unclean_destroy
  - do_test_options
  - create_admin_client
  - do_test_apis
  - main_0080_admin_ut
  source_file: /src/librdkafka/tests/0080-admin_ut.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_SOCKET_TIMEOUT_MS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '100'
    - item_type: preproc_def
      name: MY_SOCKET_TIMEOUT_MS_STR
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '"100"'
    - item_type: preproc_def
      name: MY_NEW_TOPICS_CNT
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '6'
    - item_type: preproc_def
      name: MY_DEL_TOPICS_CNT
      pos:
        line_end: 286
        line_start: 285
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MY_DEL_GROUPS_CNT
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_DESCRIBE_CONSUMER_GROUPS_CNT
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_DESCRIBE_TOPICS_CNT
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MY_DEL_RECORDS_CNT
      pos:
        line_end: 1007
        line_start: 1006
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MY_DEL_CGRPOFFS_CNT
      pos:
        line_end: 1110
        line_start: 1109
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MY_NEW_ACLS_CNT
      pos:
        line_end: 1477
        line_start: 1476
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '2'
    - item_type: preproc_def
      name: DELETE_ACLS_FILTERS_CNT
      pos:
        line_end: 1704
        line_start: 1703
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '2'
    - item_type: preproc_def
      name: MY_ALTER_CGRPOFFS_CNT
      pos:
        line_end: 1818
        line_start: 1817
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MY_LIST_CGRPOFFS_CNT
      pos:
        line_end: 2075
        line_start: 2074
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MY_CONFRES_CNT
      pos:
        line_end: 2598
        line_start: 2597
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: RD_KAFKA_RESOURCE__CNT + 2
    - item_type: preproc_def
      name: _all_apis
      pos:
        line_end: 2772
        line_start: 2754
        source_file: /src/librdkafka/tests/0080-admin_ut.c
      type_or_value: "{                                                                      \\\n
        \               RD_KAFKA_ADMIN_OP_CREATETOPICS,                                \\\n
        \                   RD_KAFKA_ADMIN_OP_DELETETOPICS,                            \\\n
        \                   RD_KAFKA_ADMIN_OP_CREATEPARTITIONS,                        \\\n
        \                   RD_KAFKA_ADMIN_OP_ALTERCONFIGS,                            \\\n
        \                   RD_KAFKA_ADMIN_OP_DESCRIBECONFIGS,                         \\\n
        \                   RD_KAFKA_ADMIN_OP_DELETERECORDS,                           \\\n
        \                   RD_KAFKA_ADMIN_OP_CREATEACLS,                              \\\n
        \                   RD_KAFKA_ADMIN_OP_DESCRIBEACLS,                            \\\n
        \                   RD_KAFKA_ADMIN_OP_DELETEACLS,                              \\\n
        \                   RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPS,                      \\\n
        \                   RD_KAFKA_ADMIN_OP_DESCRIBECONSUMERGROUPS,                  \\\n
        \                   RD_KAFKA_ADMIN_OP_DELETEGROUPS,                            \\\n
        \                   RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPOFFSETS,                \\\n
        \                   RD_KAFKA_ADMIN_OP_ALTERCONSUMERGROUPOFFSETS,               \\\n
        \                   RD_KAFKA_ADMIN_OP_DELETECONSUMERGROUPOFFSETS,              \\\n
        \                   RD_KAFKA_ADMIN_OP_ELECTLEADERS,                            \\\n
        \                   RD_KAFKA_ADMIN_OP_ANY "
    structs:
    - fields:
      - name: evtype
        type: rd_kafka_event_type_t
      - name: seen
        type: int
      item_type: struct
      name: waiting
      pos:
        line_end: 2526
        line_start: 2523
        source_file: /src/librdkafka/tests/0080-admin_ut.c
    - fields:
      - name: '*setter'
        type: char
      - name: valid_apis[17]
        type: rd_kafka_admin_op_t
      item_type: struct
      name: "matrix[] = {\n            {\"request_timeout\", _all_apis},\n            {\"operation_timeout\",\n
        \            {RD_KAFKA_ADMIN_OP_CREATETOPICS, RD_KAFKA_ADMIN_OP_DELETETOPICS,\n
        \             RD_KAFKA_ADMIN_OP_CREATEPARTITIONS,\n              RD_KAFKA_ADMIN_OP_DELETERECORDS,
        RD_KAFKA_ADMIN_OP_ELECTLEADERS}},\n            {\"validate_only\",\n             {RD_KAFKA_ADMIN_OP_CREATETOPICS,\n
        \             RD_KAFKA_ADMIN_OP_CREATEPARTITIONS,\n              RD_KAFKA_ADMIN_OP_ALTERCONFIGS}},\n
        \           {\"broker\", _all_apis},\n            {\"require_stable_offsets\",\n
        \            {RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPOFFSETS}},\n            {\"match_consumer_group_states\",\n
        \            {RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPS}},\n            {\"opaque\",
        _all_apis},\n            {NULL},\n        }"
      pos:
        line_end: 2777
        line_start: 2774
        source_file: /src/librdkafka/tests/0080-admin_ut.c
    typedefs: []
    union: []
- function_names:
  - check_equal
  - do_test_null_empty
  - main_0070_null_empty
  source_file: /src/librdkafka/tests/0070-null_empty.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_produce_consumer_with_OIDC
  - auth_error_cb
  - do_test_produce_consumer_with_OIDC_expired_token_should_fail
  - do_test_produce_consumer_with_OIDC_should_fail
  - do_test_produce_consumer_with_OIDC_should_fail_invalid_token_endpoint
  - oidc_configuration_jwt_bearer_variation_name
  - oidc_configuration_jwt_bearer
  - do_test_produce_consumer_with_OIDC_jwt_bearer
  - oidc_configuration_metadata_authentication_variation_name
  - oidc_configuration_metadata_authentication
  - do_test_produce_consumer_with_OIDC_metadata_authentication
  - main_0126_oauthbearer_oidc
  source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
  types:
    enum:
    - enumerators:
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_PRIVATE_KEY_FILE
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_PRIVATE_KEY_STRING_ENCRYPTED
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_PRIVATE_KEY_FILE_ENCRYPTED
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_TEMPLATE_FILE
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_PRIVATE_KEY_STRING
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_JOSE_ALGORITHM_ES256
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_INVALID_SCOPE
      - name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION__CNT
      item_type: enum
      name: oidc_configuration_jwt_bearer_variation_t
      pos:
        line_end: 255
        line_start: 235
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    - enumerators:
      - name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION_AZURE_IMDS_SUCCESS
      - name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION_AZURE_IMDS_MISSING_RESOURCE
      - name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION_AZURE_IMDS_MISSING_API_VERSION
      - name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION_AZURE_IMDS_MISSING_CLIENT_ID
      - name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION__CNT
      item_type: enum
      name: oidc_configuration_metadata_authentication_variation_t
      pos:
        line_end: 399
        line_start: 389
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
    preproc_defs:
    - item_type: preproc_def
      name: TEST_FIXTURES_FOLDER
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
      type_or_value: '"./fixtures"'
    - item_type: preproc_def
      name: TEST_FIXTURES_OAUTHBEARER_FOLDER
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
      type_or_value: TEST_FIXTURES_FOLDER "/oauthbearer/"
    - item_type: preproc_def
      name: TEST_FIXTURES_JWT_ASSERTION_TEMPLATE
      pos:
        line_end: 38
        line_start: 36
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
      type_or_value: TEST_FIXTURES_OAUTHBEARER_FOLDER "jwt_assertion_template.json"
    - item_type: preproc_def
      name: OIDC_CONFIGURATION_JWT_BEARER_VARIATION__FIRST_FAILING
      pos:
        line_end: 259
        line_start: 257
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
      type_or_value: OIDC_CONFIGURATION_JWT_BEARER_VARIATION_JOSE_ALGORITHM_ES256
    - item_type: preproc_def
      name: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION__FIRST_FAILING
      pos:
        line_end: 403
        line_start: 401
        source_file: /src/librdkafka/tests/0126-oauthbearer_oidc.c
      type_or_value: OIDC_CONFIGURATION_METADATA_AUTHENTICATION_VARIATION_AZURE_IMDS_MISSING_CLIENT_ID
    structs: []
    typedefs: []
    union: []
- function_names:
  - event_cb
  - wait_event_cb
  - main_0083_cb_event
  source_file: /src/librdkafka/tests/0083-cb_event.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: mtx_t
      - name: count
        type: int
      item_type: struct
      name: event_receiver
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/librdkafka/tests/0083-cb_event.c
    typedefs: []
    union: []
- function_names:
  - await_assignment
  - await_revoke
  - await_no_rebalance
  - await_rebalance
  - do_test_non_exist_and_partchange
  - do_test_regex
  - do_test_topic_remove
  - do_test_regex_many_mock
  - do_test_replica_rack_change_mock
  - do_test_replica_rack_change_leader_no_rack_mock
  - do_test_resubscribe_with_regex
  - do_test_subscribe_many_updates
  - RD_ARRAY_FOREACH_INDEX
  - RD_ARRAY_FOREACH_INDEX
  - RD_ARRAY_FOREACH_INDEX
  - main_0045_subscribe_update
  - main_0045_subscribe_update_non_exist_and_partchange
  - main_0045_subscribe_update_topic_remove
  - main_0045_subscribe_update_mock
  - main_0045_resubscribe_with_regex
  - main_0045_subscribe_many_updates
  - main_0045_subscribe_update_racks_mock
  source_file: /src/librdkafka/tests/0045-subscribe_update.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOPIC_CNT
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/librdkafka/tests/0045-subscribe_update.c
      type_or_value: '100'
    structs: []
    typedefs: []
    union: []
- function_names:
  - produce_concurrent_thread
  - do_test_no_duplicates_during_offset_validation
  - do_test_permanent_error_retried
  - do_test_two_leader_changes
  - do_test_store_offset_without_leader_epoch
  - is_broker_fetch_request
  - is_offset_for_leader_epoch_request
  - is_metadata_request
  - do_test_leader_change_no_validation
  - is_fatal_cb
  - do_test_leader_change_from_internal_broker
  - do_test_list_offsets_leader_change_rebalance_cb
  - do_test_list_offsets_leader_change
  - main_0139_offset_validation_mock
  source_file: /src/librdkafka/tests/0139-offset_validation_mock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: sleep
        type: int
      - name: '*conf'
        type: rd_kafka_conf_t
      item_type: struct
      name: _produce_args
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/librdkafka/tests/0139-offset_validation_mock.c
    - fields:
      - name: '*mcluster'
        type: rd_kafka_mock_cluster_t
      - name: '*topic'
        type: char
      - name: msg_cnt
        type: int
      - name: variation
        type: int
      item_type: struct
      name: do_test_list_offsets_leader_change_s
      pos:
        line_end: 768
        line_start: 763
        source_file: /src/librdkafka/tests/0139-offset_validation_mock.c
    typedefs: []
    union: []
- function_names:
  - main_0041_fetch_max_bytes
  source_file: /src/librdkafka/tests/0041-fetch_max_bytes.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_metadata_cpp
  - main
  source_file: /src/librdkafka/tests/xxxx-metadata.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_fatal_cb
  - dr_msg_cb
  - main_0068_produce_timeout
  source_file: /src/librdkafka/tests/0068-produce_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_stats
  - main_0062_stats_event
  source_file: /src/librdkafka/tests/0062-stats_event.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_consume_batch
  - refresh_cb
  - do_test_consume_batch_oauthbearer_cb
  - do_test_consume_batch_non_existent_topic
  - main_0022_consume_batch
  - main_0022_consume_batch_local
  source_file: /src/librdkafka/tests/0022-consume_batch.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: topic_cnt
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/tests/0022-consume_batch.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0036_partial_fetch
  source_file: /src/librdkafka/tests/0036-partial_fetch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0017_compression
  source_file: /src/librdkafka/tests/0017-compression.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CODEC_CNT
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/tests/0017-compression.c
      type_or_value: '5'
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_providers
  - main_0134_ssl_provider
  source_file: /src/librdkafka/tests/0134-ssl_provider.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - handle_drs
  - main_0039_event_dr
  - main_0039_event_log
  - main_0039_event
  source_file: /src/librdkafka/tests/0039-event.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0006_symbols
  source_file: /src/librdkafka/tests/0006-symbols.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_getrusage
  - _tv2s
  - _tv2cpu
  - test_rusage_calc
  - test_rusage_check_thresholds
  - test_rusage_start
  - test_rusage_stop
  source_file: /src/librdkafka/tests/rusage.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0046_rkt_cache
  source_file: /src/librdkafka/tests/0046-rkt_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_AlterConsumerGroupOffsets_errors
  - do_test_ListOffsets_leader_change
  - main_0138_admin_mock
  source_file: /src/librdkafka/tests/0138-admin_mock.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ERR_SIZE
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/tests/0138-admin_mock.c
      type_or_value: '10'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_metadata_request
  - is_fetch_request
  - do_test_metadata_persists_in_cache
  - do_test_fast_metadata_refresh
  - do_test_stale_metadata_doesnt_migrate_partition
  - do_test_metadata_call_before_join
  - verify_requests_after_metadata_update_operation
  - do_test_metadata_update_operation
  - main_0146_metadata_mock
  source_file: /src/librdkafka/tests/0146-metadata_mock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: api_key
        type: int16_t
      - name: broker
        type: int32_t
      item_type: struct
      name: expected_request_s
      pos:
        line_end: 320
        line_start: 317
        source_file: /src/librdkafka/tests/0146-metadata_mock.c
    typedefs: []
    union: []
- function_names:
  - test_no_duplicate_messages
  - main_0050_subscribe_adds
  source_file: /src/librdkafka/tests/0050-subscribe_adds.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOPIC_CNT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/tests/0050-subscribe_adds.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0129_fetch_aborted_msgs
  source_file: /src/librdkafka/tests/0129-fetch_aborted_msgs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - StatsCb::StatsCb
  - StatsCb::event_cb
  - StatsCb::parse_json
  - produce_aborted_txns
  - do_test_consumer_lag
  - main_0061_consumer_lag
  source_file: /src/librdkafka/tests/0061-consumer_lag.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_producer_no_connection
  - main_0043_no_connection
  source_file: /src/librdkafka/tests/0043-no_connection.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0028_long_topicnames
  source_file: /src/librdkafka/tests/0028-long_topicnames.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MyCbs::offset_commit_cb
  - MyCbs::event_cb
  - do_test_commit_cb
  - main_0060_op_prio
  source_file: /src/librdkafka/tests/0060-op_prio.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0040_io_event
  source_file: /src/librdkafka/tests/0040-io_event.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_no_duplicate_messages_unnecessary_resume
  - main_0145_pause_resume_mock
  source_file: /src/librdkafka/tests/0145-pause_resume_mock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_find_coordinator
  - check_time_difference
  - helper_exponential_backoff
  - test_offset_commit
  - test_produce
  - helper_find_coordinator_trigger
  - test_heartbeat_find_coordinator
  - test_joingroup_find_coordinator
  - test_produce_fast_leader_query
  - test_fetch_fast_leader_query
  - main_0143_exponential_backoff_mock
  source_file: /src/librdkafka/tests/0143-exponential_backoff_mock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - verify_roundrobin_assignment
  - verify_range_assignment
  - do_test_strategy_ordering
  - main_0132_strategy_ordering
  source_file: /src/librdkafka/tests/0132-strategy_ordering.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _PART_CNT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/librdkafka/tests/0132-strategy_ordering.c
      type_or_value: '4'
    - item_type: preproc_def
      name: _C_CNT
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/tests/0132-strategy_ordering.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/tests/sockem.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: sockem_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/librdkafka/tests/sockem.h
      type: sockem_s
    union: []
- function_names:
  - get_msg
  - MyDeliveryReportCb::dr_cb
  - do_test_bsearch
  - main_0059_bsearch
  source_file: /src/librdkafka/tests/0059-bsearch.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_queue_backoff
  - main_0127_fetch_queue_backoff
  source_file: /src/librdkafka/tests/0127-fetch_queue_backoff.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - authErrorEventCb::authErrorEventCb
  - authErrorEventCb::event_cb
  - do_test
  - main_0135_sasl_credentials
  source_file: /src/librdkafka/tests/0135-sasl_credentials.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Test::read_config_file
  - Test::conf_init
  - Test::DeliveryReportCb::dr_cb
  - Test::read_config_file
  - Test::conf_init
  - Test::DeliveryReportCb::dr_cb
  source_file: /src/librdkafka/tests/testcpp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sscanf
  - TEST_LOCK
  - TEST_UNLOCK
  - TEST_SAY0
  - TEST_SAYL
  - TEST_SAY
  - TEST_REPORT
  - rtrim
  - TEST_SKIP
  - TEST_SKIP_MOCK_CLUSTER
  - test_msg_parse
  - jitter
  - test_msgver_add_msg
  - test_msgver_verify_part
  - test_msgver_verify
  - test_msgver_verify_compare
  - test_verify_rkmessage
  - test_consumer_verify_assignment
  - test_consumer_verify_assignment_topic_partition_list
  - test_consumer_wait_assignment_topic_partition_list
  - TEST_CALL__
  - TEST_CALL_ERROR__
  - TEST_CALL_ERR__
  - TEST_SAY_ERROR
  source_file: /src/librdkafka/tests/test.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_F_LOCAL
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: TEST_F_KNOWN_ISSUE
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: TEST_F_MANUAL
      pos:
        line_end: 123
        line_start: 120
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x4               '
    - item_type: preproc_def
      name: TEST_F_SOCKEM
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: TEST_F_KNOWN_ISSUE_WIN32
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/librdkafka/tests/test.h
      type_or_value: TEST_F_KNOWN_ISSUE
    - item_type: preproc_def
      name: TEST_F_KNOWN_ISSUE_WIN32
      pos:
        line_end: 181
        line_start: 180
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_F_KNOWN_ISSUE_OSX
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/librdkafka/tests/test.h
      type_or_value: TEST_F_KNOWN_ISSUE
    - item_type: preproc_def
      name: TEST_F_KNOWN_ISSUE_OSX
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_MSGVER_ORDER
      pos:
        line_end: 401
        line_start: 400
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: TEST_MSGVER_DUP
      pos:
        line_end: 402
        line_start: 401
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: TEST_MSGVER_RANGE
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: TEST_MSGVER_ALL
      pos:
        line_end: 405
        line_start: 404
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0xf '
    - item_type: preproc_def
      name: TEST_MSGVER_BY_MSGID
      pos:
        line_end: 407
        line_start: 406
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x10000 '
    - item_type: preproc_def
      name: TEST_MSGVER_BY_OFFSET
      pos:
        line_end: 409
        line_start: 407
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x20000 '
    - item_type: preproc_def
      name: TEST_MSGVER_BY_TIMESTAMP
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x40000 '
    - item_type: preproc_def
      name: TEST_MSGVER_BY_BROKER_ID
      pos:
        line_end: 411
        line_start: 410
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x80000 '
    - item_type: preproc_def
      name: TEST_MSGVER_SUBSET
      pos:
        line_end: 415
        line_start: 412
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '0x100000 '
    - item_type: preproc_def
      name: TEST_MSGVER_PER_PART
      pos:
        line_end: 424
        line_start: 421
        source_file: /src/librdkafka/tests/test.h
      type_or_value: "((TEST_MSGVER_ALL & ~TEST_MSGVER_RANGE) | TEST_MSGVER_BY_MSGID
        |       \\\n         TEST_MSGVER_BY_OFFSET)"
    - item_type: preproc_def
      name: TEST_MSGVER_ALL_PART
      pos:
        line_end: 429
        line_start: 428
        source_file: /src/librdkafka/tests/test.h
      type_or_value: (TEST_MSGVER_ALL | TEST_MSGVER_BY_MSGID)
    - item_type: preproc_def
      name: TEST_NO_SEEK
      pos:
        line_end: 572
        line_start: 571
        source_file: /src/librdkafka/tests/test.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: partition
      pos:
        line_end: 611
        line_start: 606
        source_file: /src/librdkafka/tests/test.h
      type_or_value: ", testid, exp_eofcnt, exp_msgcnt,  \\\n                                   tconf,
        mv)"
    structs:
    - fields:
      - name: ucpu
        type: double
      - name: scpu
        type: double
      - name: rss
        type: double
      - name: ctxsw
        type: int
      item_type: struct
      name: rusage_thres
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: '*name'
        type: char
      - name: (*mainfunc)(int argc, char **argv)
        type: int
      - name: flags
        type: int
      - name: minver
        type: int
      - name: maxver
        type: int
      - name: '*extra'
        type: char
      - name: '*scenario'
        type: char
      - name: "*\n            *report_arr"
        type: char
      - name: report_cnt
        type: int
      - name: report_size
        type: int
      - name: ignore_dr_err
        type: rd_bool_t
      - name: exp_dr_err
        type: rd_kafka_resp_err_t
      - name: exp_dr_status
        type: rd_kafka_msg_status_t
      - name: produce_sync
        type: int
      - name: produce_sync_err
        type: rd_kafka_resp_err_t
      - name: '*dr_mv'
        type: test_msgver_t
      - name: thrd
        type: thrd_t
      - name: start
        type: int64_t
      - name: duration
        type: int64_t
      - name: '*stats_fp'
        type: FILE
      - name: timeout
        type: int64_t
      - name: state
        type: test_state_t
      - name: failcnt
        type: int
      - name: failstr[512 + 1]
        type: char
      - name: subtest[400]
        type: char
      - name: subtest_duration
        type: test_timing_t
      - name: subtest_quick
        type: rd_bool_t
      - name: "(*is_fatal_cb)(rd_kafka_t *rk,\n                           rd_kafka_resp_err_t
          err,\n                           const char *reason)"
        type: int
      - name: rusage_thres
        type: struct rusage_thres
      item_type: struct
      name: test
      pos:
        line_end: 174
        line_start: 109
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: '**p'
        type: struct test_mv_p
      - name: p_cnt
        type: int
      - name: p_size
        type: int
      - name: msgcnt
        type: int
      - name: testid
        type: uint64_t
      - name: ignore_eof
        type: rd_bool_t
      - name: '*fwd'
        type: struct test_msgver_s
      - name: log_cnt
        type: int
      - name: log_max
        type: int
      - name: log_suppr_cnt
        type: int
      - name: '*msgid_hdr'
        type: char
      item_type: struct
      name: test_msgver_s
      pos:
        line_end: 325
        line_start: 309
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: offset
        type: int64_t
      - name: msgid
        type: int
      - name: timestamp
        type: int64_t
      - name: broker_id
        type: int32_t
      item_type: struct
      name: test_mv_m
      pos:
        line_end: 333
        line_start: 328
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: '*m'
        type: struct test_mv_m
      - name: cnt
        type: int
      - name: size
        type: int
      item_type: struct
      name: test_mv_mvec
      pos:
        line_end: 341
        line_start: 337
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: '*topic'
        type: char
      - name: partition
        type: int32_t
      - name: mvec
        type: struct test_mv_mvec
      - name: eof_offset
        type: int64_t
      item_type: struct
      name: test_mv_p
      pos:
        line_end: 349
        line_start: 344
        source_file: /src/librdkafka/tests/test.h
    - fields:
      - name: msg_base
        type: int
      - name: exp_cnt
        type: int
      - name: msgid_min
        type: int
      - name: msgid_max
        type: int
      - name: timestamp_min
        type: int64_t
      - name: timestamp_max
        type: int64_t
      - name: broker_id
        type: int32_t
      - name: mvec
        type: struct test_mv_mvec
      - name: '*corr'
        type: test_msgver_t
      item_type: struct
      name: test_mv_vs
      pos:
        line_end: 369
        line_start: 352
        source_file: /src/librdkafka/tests/test.h
    typedefs:
    - item_type: typedef
      name: test_msgver_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/librdkafka/tests/test.h
      type: test_msgver_s
    - item_type: typedef
      name: test_conf_log_interceptor_t
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/librdkafka/tests/test.h
      type: test_conf_log_interceptor_s
    union: []
- function_names:
  - test_assert
  - TestEvent2Cb::event_cb
  - get_brokers_info
  - test_wait_admin_result
  - get_broker_rack_count
  - do_fff_test
  - main_0101_fetch_from_follower
  source_file: /src/librdkafka/tests/0101-fetch-from-follower.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_legacy_seek
  - do_seek
  - main_0015_offsets_seek
  source_file: /src/librdkafka/tests/0015-offset_seeks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_sticky_partitioning
  - main_0114_sticky_partitioning
  source_file: /src/librdkafka/tests/0114-sticky_partitioning.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_rebootstrap_local_no_bootstrap_servers
  - main_0152_rebootstrap_local
  source_file: /src/librdkafka/tests/0152-rebootstrap.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_asymmetric
  - main_0120_asymmetric_subscription
  source_file: /src/librdkafka/tests/0120-asymmetric_subscription.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _PART_CNT
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/librdkafka/tests/0120-asymmetric_subscription.c
      type_or_value: '4'
    - item_type: preproc_def
      name: _C_CNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/tests/0120-asymmetric_subscription.c
      type_or_value: '3'
    - item_type: preproc_def
      name: _S_CNT
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/tests/0120-asymmetric_subscription.c
      type_or_value: '2 '
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: cnt
        type: int
      - name: seen
        type: int
      item_type: struct
      name: "expect[_C_CNT][_S_CNT] = {\n            /* c0 */\n            {\n                {\"t1\",
        _PART_CNT},\n                {\"t2\", _PART_CNT / 2},\n            },\n            /*
        c1 */\n            {\n                {\"t2\", _PART_CNT / 2},\n                {\"t3\",
        _PART_CNT},\n            },\n            /* c2 */\n            {\n                {\"t4\",
        _PART_CNT},\n            },\n        }"
      pos:
        line_end: 51
        line_start: 47
        source_file: /src/librdkafka/tests/0120-asymmetric_subscription.c
    typedefs: []
    union: []
- function_names:
  - destroy_flags_rebalance_cb
  - do_test_destroy_flags
  - destroy_flags
  - main_0084_destroy_flags_local
  - main_0084_destroy_flags
  source_file: /src/librdkafka/tests/0084-destroy_flags.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: client_type
        type: rd_kafka_type_t
      - name: produce_cnt
        type: int
      - name: consumer_subscribe
        type: int
      - name: consumer_unsubscribe
        type: int
      item_type: struct
      name: df_args
      pos:
        line_end: 52
        line_start: 47
        source_file: /src/librdkafka/tests/0084-destroy_flags.c
    typedefs: []
    union: []
- function_names:
  - log_cb
  - main_0131_connect_timeout
  source_file: /src/librdkafka/tests/0131-connect_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DrCb::DrCb
  - DrCb::dr_cb
  - DrCb::DrCb
  - DrCb::dr_cb
  - do_test_producer
  - main_0111_delay_create_topics
  source_file: /src/librdkafka/tests/0111-delay_create_topics.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - produce_messages
  - verify_consumed_msg_reset
  - int_cmp
  - verify_consumed_msg_check0
  - verify_consumed_msg_check
  - verify_consumed_msg0
  - verify_consumed_msg
  - consume_cb
  - consume_messages_callback_multi
  - test_produce_consume
  - main_0014_reconsume_191
  source_file: /src/librdkafka/tests/0014-reconsume-191.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0124_openssl_invalid_engine
  source_file: /src/librdkafka/tests/0124-openssl_invalid_engine.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - assert_all_headers_match
  - test_headers
  - test_headers
  - test_duplicate_keys
  - test_remove_after_add
  - test_remove_all_duplicate_keys
  - test_get_last_gives_last_added_val
  - test_get_of_key_returns_all
  - test_failed_produce
  - test_assignment_op
  - main_0085_headers
  source_file: /src/librdkafka/tests/0085-headers.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Toppar::Toppar
  - Toppar::Toppar
  - operator==(const Toppar &a, const Toppar &b)
  - operator<(const Toppar &a, const Toppar &b)
  - Toppar::str
  - get_bootstrap_servers
  - DrCb::dr_cb
  - produce_msgs
  - make_consumer
  - string_vec_to_str
  - expect_assignment
  - TopicPartition_cmp
  - expect_assignment
  - DefaultRebalanceCb::part_list_print
  - ~DefaultRebalanceCb()
  - DefaultRebalanceCb::DefaultRebalanceCb
  - DefaultRebalanceCb::rebalance_cb
  - DefaultRebalanceCb::poll_once
  - DefaultRebalanceCb::reset_msg_cnt
  - DefaultRebalanceCb::reset_msg_cnt
  - DefaultRebalanceCb::reset_msg_cnt
  - DefaultRebalanceCb::get_msg_cnt
  - verify_consumer_assignment
  - assign_test_1
  - assign_test_2
  - assign_test_3
  - assign_test_4
  - assign_test_5
  - run_test
  - a_assign_tests
  - a_assign_rapid
  - b_subscribe_with_cb_test
  - c_subscribe_no_cb_test
  - d_change_subscription_add_topic
  - e_change_subscription_remove_topic
  - FTestRebalanceCb::FTestRebalanceCb
  - FTestRebalanceCb::rebalance_cb
  - f_assign_call_cooperative
  - GTestRebalanceCb::GTestRebalanceCb
  - GTestRebalanceCb::rebalance_cb
  - g_incremental_assign_call_eager
  - h_delete_topic
  - i_delete_topic_2
  - j_delete_topic_no_rb_callback
  - k_add_partition
  - l_unsubscribe
  - m_unsubscribe_2
  - n_wildcard
  - o_java_interop
  - s_subscribe_when_rebalancing
  - t_max_poll_interval_exceeded
  - poll_all_consumers
  - u_multiple_subscription_changes
  - rebalance_cb
  - expect_rebalance0
  - expect_rebalance
  - p_lost_partitions_heartbeat_illegal_generation_test
  - q_lost_partitions_illegal_generation_test
  - r_lost_partitions_commit_illegal_generation_test_local
  - t_consumer_group_consumer_retry_commit_on_fenced_member_epoch
  - s_no_segfault_before_first_rebalance
  - v_rebalance_cb
  - v_commit_cb
  - v_log_cb
  - v_commit_during_rebalance
  - x_incremental_rebalances
  - main_0113_cooperative_rebalance_local
  - main_0113_cooperative_rebalance
  source_file: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _NUM_CONS
      pos:
        line_end: 3325
        line_start: 3324
        source_file: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
      type_or_value: '3'
    structs:
    - fields:
      - name: timestamp_ms
        type: int
      - name: consumer
        type: int
      - name: '*topics'
        type: vector<string>
      item_type: struct
      name: "playbook[] = {/* timestamp_ms, consumer_number, subscribe-to-topics */\n
        \                 {0, 0, &SUBSCRIPTION_1}, /* Cmd 0 */\n                  {4000,
        1, &SUBSCRIPTION_1},  {4000, 1, &SUBSCRIPTION_1},\n                  {4000,
        1, &SUBSCRIPTION_1},  {4000, 2, &SUBSCRIPTION_1},\n                  {6000,
        3, &SUBSCRIPTION_1}, /* Cmd 5 */\n                  {6000, 4, &SUBSCRIPTION_1},
        \ {6000, 5, &SUBSCRIPTION_1},\n                  {6000, 6, &SUBSCRIPTION_1},
        \ {6000, 7, &SUBSCRIPTION_2},\n                  {6000, 1, &SUBSCRIPTION_1},
        /* Cmd 10 */\n                  {6000, 1, &SUBSCRIPTION_2},  {6000, 1, &SUBSCRIPTION_1},\n
        \                 {6000, 2, &SUBSCRIPTION_2},  {7000, 2, &SUBSCRIPTION_1},\n
        \                 {7000, 1, &SUBSCRIPTION_2}, /* Cmd 15 */\n                  {8000,
        0, &SUBSCRIPTION_2},  {8000, 1, &SUBSCRIPTION_1},\n                  {8000,
        0, &SUBSCRIPTION_1},  {13000, 2, &SUBSCRIPTION_1},\n                  {13000,
        1, &SUBSCRIPTION_2}, /* Cmd 20 */\n                  {13000, 5, &SUBSCRIPTION_2},
        {14000, 6, &SUBSCRIPTION_2},\n                  {15000, 7, &SUBSCRIPTION_1},
        {15000, 1, &SUBSCRIPTION_1},\n                  {15000, 5, &SUBSCRIPTION_1},
        /* Cmd 25 */\n                  {15000, 6, &SUBSCRIPTION_1}, {INT_MAX, 0,
        0}}"
      pos:
        line_end: 2494
        line_start: 2490
        source_file: /src/librdkafka/tests/0113-cooperative_rebalance.cpp
    typedefs: []
    union: []
- function_names:
  - main_0001_multiobj
  source_file: /src/librdkafka/tests/0001-multiobj.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_ASSERT
  - create_handle
  - do_test_telemetry_get_subscription_push_telemetry
  - do_test_telemetry_empty_subscriptions_list
  - do_test_telemetry_terminating_push
  - do_test_telemetry_preferred_broker_change
  - do_test_subscription_id_change
  - do_test_invalid_record
  - main_0150_telemetry_mock
  source_file: /src/librdkafka/tests/0150-telemetry_mock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ApiKey
        type: int16_t
      - name: expected_diff_ms
        type: int64_t
      - name: jitter_percent
        type: int64_t
      - name: broker_id
        type: int
      item_type: struct
      name: rd_kafka_telemetry_expected_request_t
      pos:
        line_end: 38
        line_start: 31
        source_file: /src/librdkafka/tests/0150-telemetry_mock.c
    typedefs: []
    union: []
- function_names:
  - do_test_store_unassigned
  - main_0130_store_offsets
  source_file: /src/librdkafka/tests/0130-store_offsets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - connect_cb
  - is_fatal_cb
  - dr_msg_cb
  - main_0088_produce_metadata_timeout
  source_file: /src/librdkafka/tests/0088-produce_metadata_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - produce_messages
  - verify_consumed_msg_reset
  - int_cmp
  - verify_consumed_msg_check0
  - verify_consumed_msg_check
  - verify_consumed_msg0
  - verify_consumed_msg
  - consume_messages
  - consume_messages_with_queues
  - test_produce_consume
  - main_0012_produce_consume
  source_file: /src/librdkafka/tests/0012-produce_consume.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_msg_cb
  - auth_error_cb
  - do_test_producer
  - do_test_consumer
  - do_test_txn_producer
  - do_test_oauthbearer
  - do_test_reauth_failure
  - main_0142_reauthentication
  source_file: /src/librdkafka/tests/0142-reauthentication.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rebalance_cb
  - main_0118_commit_rebalance
  source_file: /src/librdkafka/tests/0118-commit_rebalance.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_fatal_cb
  - consumer_thread
  - do_test_unique_memberid
  - main_0153_memberid
  source_file: /src/librdkafka/tests/0153-memberid.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CONSUMER_CNT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/tests/0153-memberid.c
      type_or_value: '500'
    structs:
    - fields:
      - name: '*group_id'
        type: char
      - name: '*memberid'
        type: char
      item_type: struct
      name: consumer_s
      pos:
        line_end: 32
        line_start: 29
        source_file: /src/librdkafka/tests/0153-memberid.c
    typedefs: []
    union: []
- function_names:
  - verify_offset
  - test_offset_time
  - main_0054_offset_time
  source_file: /src/librdkafka/tests/0054-offset_time.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_commit_metadata
  - main_0140_commit_metadata
  source_file: /src/librdkafka/tests/0140-commit_metadata.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - error_cb
  - partitioner
  - conf_verify
  - conf_cmp
  - my_on_new
  - do_test_kafka_new_failures
  - do_test_special_invalid_conf
  - do_test_idempotence_conf
  - do_test_instance_conf
  - do_test_default_topic_conf
  - do_message_timeout_linger_checks
  - main_0004_conf
  source_file: /src/librdkafka/tests/0004-conf.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*prop'
        type: char
      - name: '*val'
        type: char
      - name: topic_conf
        type: rd_bool_t
      - name: exp_rk_fail
        type: rd_bool_t
      - name: exp_rkt_fail
        type: rd_bool_t
      item_type: struct
      name: "check[] = {{\"acks\", \"1\", rd_true, rd_false, rd_true},\n                     {\"acks\",
        \"all\", rd_true, rd_false, rd_false},\n                     {\"queuing.strategy\",
        \"lifo\", rd_true, rd_false, rd_true},\n                     {NULL}}"
      pos:
        line_end: 249
        line_start: 243
        source_file: /src/librdkafka/tests/0004-conf.c
    - fields:
      - name: '*prop'
        type: char
      - name: '*val'
        type: char
      - name: '*exp'
        type: char
      - name: is_global
        type: int
      item_type: struct
      name: "props[] = {\n                    {\"request.required.acks\", \"0\", \"0\"},\n
        \                   {\"request.required.acks\", \"-1\", \"-1\"},\n                    {\"request.required.acks\",
        \"1\", \"1\"},\n                    {\"acks\", \"3\", \"3\"}, /* alias test
        */\n                    {\"request.required.acks\", \"393\", \"393\"},\n                    {\"request.required.acks\",
        \"bad\", NULL},\n                    {\"request.required.acks\", \"all\",
        \"-1\"},\n                    {\"request.required.acks\", \"all\", \"-1\",
        1 /*fallthru*/},\n                    {\"acks\", \"0\", \"0\"}, /* alias test
        */\n#if WITH_SASL\n                    {\"sasl.mechanisms\", \"GSSAPI\", \"GSSAPI\",
        1},\n                    {\"sasl.mechanisms\", \"PLAIN\", \"PLAIN\", 1},\n
        \                   {\"sasl.mechanisms\", \"GSSAPI,PLAIN\", NULL, 1},\n                    {\"sasl.mechanisms\",
        \"\", NULL, 1},\n#endif\n                    {\"linger.ms\", \"12555.3\",
        \"12555.3\", 1},\n                    {\"linger.ms\", \"1500.000\", \"1500\",
        1},\n                    {\"linger.ms\", \"0.0001\", \"0.0001\", 1},\n                    {NULL}}"
      pos:
        line_end: 843
        line_start: 838
        source_file: /src/librdkafka/tests/0004-conf.c
    typedefs: []
    union: []
- function_names:
  - rebalance_cb
  - expect_rebalance
  - do_test_session_timeout
  - do_test_commit_on_lost
  - main_0106_cgrp_sess_timeout
  source_file: /src/librdkafka/tests/0106-cgrp_sess_timeout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - errorEventCb::errorEventCb
  - errorEventCb::event_cb
  - main_0095_all_brokers_down
  source_file: /src/librdkafka/tests/0095-all_brokers_down.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/tests/sockem_ctrl.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (sockem_cmd)
        type: TAILQ_ENTRY
      - name: ts_at
        type: int64_t
      - name: delay
        type: int
      item_type: struct
      name: sockem_cmd
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/librdkafka/tests/sockem_ctrl.h
    - fields:
      - name: lock
        type: mtx_t
      - name: cnd
        type: cnd_t
      - name: thrd
        type: thrd_t
      - name: cmd_seq
        type: int
      - name: cmd_ack
        type: int
      - name: (, sockem_cmd)
        type: TAILQ_HEAD
      - name: term
        type: int
      - name: '*test'
        type: struct test
      item_type: struct
      name: sockem_ctrl_s
      pos:
        line_end: 53
        line_start: 40
        source_file: /src/librdkafka/tests/sockem_ctrl.h
    typedefs: []
    union: []
- function_names:
  - do_test_idle_producer
  - main_8000_idle
  source_file: /src/librdkafka/tests/8000-idle.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - error_is_fatal_cb
  - on_response_received_trampoline
  - on_new_producer
  - create_txn_producer
  - do_test_txn_recoverable_errors
  - do_test_txn_fatal_idempo_errors
  - do_test_txn_slow_reinit
  - do_test_txn_fenced_reinit
  - do_test_txn_endtxn_errors
  - do_test_txn_endtxn_infinite
  - do_test_txn_endtxn_timeout
  - do_test_txn_endtxn_timeout_inflight
  - do_test_txn_req_cnt
  - do_test_txn_requires_abort_errors
  - do_test_txn_broker_down_in_txn
  - set_next_coord
  - do_test_txn_switch_coordinator
  - do_test_txn_switch_coordinator_refresh
  - do_test_txns_not_supported
  - do_test_txns_send_offsets_concurrent_is_retried
  - do_test_txns_send_offsets_non_eligible
  - do_test_txns_no_timeout_crash
  - do_test_txn_auth_failure
  - do_test_txn_flush_timeout
  - do_test_txn_coord_req_destroy
  - multi_find_on_response_received_cb
  - do_test_txn_coord_req_multi_find
  - multi_addparts_response_received_cb
  - do_test_txn_addparts_req_multi
  - do_test_unstable_offset_commit
  - do_test_commit_after_msg_timeout
  - do_test_out_of_order_seq
  - do_test_topic_disappears_for_awhile
  - delayed_up_cb
  - do_test_disconnected_group_coord
  - do_test_txn_coordinator_null_not_fatal
  - do_test_txn_resumable_init
  - RETRY_TXN_CALL__
  - TXN_CALL_EXPECT_ERROR__
  - do_test_txn_resumable_calls_timeout
  - do_test_txn_resumable_calls_timeout_error
  - txn_concurrent_thread_main
  - do_test_txn_concurrent_operations
  - _start_call
  - _end_call
  - do_test_txn_fenced_abort
  - do_test_txn_offset_commit_doesnt_retry_too_quickly
  - main_0105_transactions_mock
  source_file: /src/librdkafka/tests/0105-transactions_mock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: error_cnt
        type: size_t
      - name: errors[4]
        type: rd_kafka_resp_err_t
      - name: exp_err
        type: rd_kafka_resp_err_t
      - name: exp_retriable
        type: rd_bool_t
      - name: exp_abortable
        type: rd_bool_t
      - name: exp_fatal
        type: rd_bool_t
      - name: exp_successful_abort
        type: rd_bool_t
      item_type: struct
      name: "scenario[] = {\n            /* This list of errors is from the EndTxnResponse
        handler in\n             * AK clients/.../TransactionManager.java */\n            {\n
        \               /* #0 */\n                2,\n                {RD_KAFKA_RESP_ERR_COORDINATOR_NOT_AVAILABLE,\n
        \                RD_KAFKA_RESP_ERR_COORDINATOR_NOT_AVAILABLE},\n                /*
        Should auto-recover */\n                RD_KAFKA_RESP_ERR_NO_ERROR,\n            },\n
        \           {\n                /* #1 */\n                2,\n                {RD_KAFKA_RESP_ERR_NOT_COORDINATOR,\n
        \                RD_KAFKA_RESP_ERR_NOT_COORDINATOR},\n                /* Should
        auto-recover */\n                RD_KAFKA_RESP_ERR_NO_ERROR,\n            },\n
        \           {\n                /* #2 */\n                1,\n                {RD_KAFKA_RESP_ERR_COORDINATOR_LOAD_IN_PROGRESS},\n
        \               /* Should auto-recover */\n                RD_KAFKA_RESP_ERR_NO_ERROR,\n
        \           },\n            {\n                /* #3 */\n                3,\n
        \               {RD_KAFKA_RESP_ERR_CONCURRENT_TRANSACTIONS,\n                 RD_KAFKA_RESP_ERR_CONCURRENT_TRANSACTIONS,\n
        \                RD_KAFKA_RESP_ERR_CONCURRENT_TRANSACTIONS},\n                /*
        Should auto-recover */\n                RD_KAFKA_RESP_ERR_NO_ERROR,\n            },\n
        \           {\n                /* #4: the abort is auto-recovering thru epoch
        bump */\n                1,\n                {RD_KAFKA_RESP_ERR_UNKNOWN_PRODUCER_ID},\n
        \               RD_KAFKA_RESP_ERR_UNKNOWN_PRODUCER_ID,\n                rd_false
        /* !retriable */,\n                rd_true /* abortable */,\n                rd_false
        /* !fatal */,\n                rd_true /* successful abort */\n            },\n
        \           {\n                /* #5: the abort is auto-recovering thru epoch
        bump */\n                1,\n                {RD_KAFKA_RESP_ERR_INVALID_PRODUCER_ID_MAPPING},\n
        \               RD_KAFKA_RESP_ERR_INVALID_PRODUCER_ID_MAPPING,\n                rd_false
        /* !retriable */,\n                rd_true /* abortable */,\n                rd_false
        /* !fatal */,\n                rd_true /* successful abort */\n            },\n
        \           {\n                /* #6 */\n                1,\n                {RD_KAFKA_RESP_ERR_INVALID_PRODUCER_EPOCH},\n
        \               /* This error is normalized */\n                RD_KAFKA_RESP_ERR__FENCED,\n
        \               rd_false /* !retriable */,\n                rd_false /* !abortable
        */,\n                rd_true /* fatal */\n            },\n            {\n
        \               /* #7 */\n                1,\n                {RD_KAFKA_RESP_ERR_PRODUCER_FENCED},\n
        \               /* This error is normalized */\n                RD_KAFKA_RESP_ERR__FENCED,\n
        \               rd_false /* !retriable */,\n                rd_false /* !abortable
        */,\n                rd_true /* fatal */\n            },\n            {\n
        \               /* #8 */\n                1,\n                {RD_KAFKA_RESP_ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED},\n
        \               RD_KAFKA_RESP_ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED,\n
        \               rd_false /* !retriable */,\n                rd_false /* !abortable
        */,\n                rd_true /* fatal */\n            },\n            {\n
        \               /* #9 */\n                1,\n                {RD_KAFKA_RESP_ERR_GROUP_AUTHORIZATION_FAILED},\n
        \               RD_KAFKA_RESP_ERR_GROUP_AUTHORIZATION_FAILED,\n                rd_false
        /* !retriable */,\n                rd_true /* abortable */,\n                rd_false
        /* !fatal */\n            },\n            {\n                /* #10 */\n                /*
        Any other error should raise a fatal error */\n                1,\n                {RD_KAFKA_RESP_ERR_INVALID_MSG_SIZE},\n
        \               RD_KAFKA_RESP_ERR_INVALID_MSG_SIZE,\n                rd_false
        /* !retriable */,\n                rd_true /* abortable */,\n                rd_false
        /* !fatal */,\n            },\n            {\n                /* #11 */\n
        \               1,\n                {RD_KAFKA_RESP_ERR_PRODUCER_FENCED},\n
        \               /* This error is normalized */\n                RD_KAFKA_RESP_ERR__FENCED,\n
        \               rd_false /* !retriable */,\n                rd_false /* !abortable
        */,\n                rd_true /* fatal */\n            },\n            {0},\n
        \       }"
      pos:
        line_end: 609
        line_start: 601
        source_file: /src/librdkafka/tests/0105-transactions_mock.c
    - fields:
      - name: '*mcluster'
        type: rd_kafka_mock_cluster_t
      - name: switch_coord
        type: rd_bool_t
      - name: broker_id
        type: int32_t
      - name: '*grpid'
        type: char
      item_type: struct
      name: some_state
      pos:
        line_end: 2928
        line_start: 2923
        source_file: /src/librdkafka/tests/0105-transactions_mock.c
    - fields:
      - name: '*api'
        type: char
      - name: lock
        type: mtx_t
      - name: '*rk'
        type: rd_kafka_t
      - name: '*test'
        type: struct test
      item_type: struct
      name: _txn_concurrent_state
      pos:
        line_end: 3430
        line_start: 3425
        source_file: /src/librdkafka/tests/0105-transactions_mock.c
    typedefs: []
    union: []
- function_names:
  - myAvgStatsCb::myAvgStatsCb
  - myAvgStatsCb::event_cb
  - myAvgStatsCb::read_val
  - myAvgStatsCb::read_batch_stats
  - do_test_batch_size
  - main_0110_batch_size
  source_file: /src/librdkafka/tests/0110-batch_size.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - myLogCb::myLogCb
  - myLogCb::expecting
  - myLogCb::count
  - myLogCb::event_cb
  - test_log
  - main_0058_log
  source_file: /src/librdkafka/tests/0058-log.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - expect_check
  - msg_final_check
  - handle_consumed_msg
  - dr_msg_cb
  - on_send1
  - on_send2
  - on_new
  - do_produce
  - do_consume
  - main_0073_headers
  source_file: /src/librdkafka/tests/0073-headers.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: expect
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/librdkafka/tests/0073-headers.c
    typedefs: []
    union: []
- function_names:
  - main_0078_c_from_cpp
  source_file: /src/librdkafka/tests/0078-c_from_cpp.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_clusterid
  - do_test_controllerid
  - main_0063_clusterid
  source_file: /src/librdkafka/tests/0063-clusterid.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_producer_partition_cnt_change
  - main_0044_partition_cnt
  source_file: /src/librdkafka/tests/0044-partition_cnt.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - show_build_opts
  - main_0000_unittests
  source_file: /src/librdkafka/tests/0000-unittests.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestSSLVerify::read_file
  - TestSSLVerify::TestVerifyCb::TestVerifyCb
  - ~TestVerifyCb()
  - TestSSLVerify::TestVerifyCb::ssl_cert_verify_cb
  - TestSSLVerify::TestEventCb::TestEventCb
  - TestSSLVerify::TestEventCb::event_cb
  - TestSSLVerify::conf_location_to_pem
  - TestSSLVerify::conf_location_to_setter
  - TestSSLVerify::is_client_auth_required
  - TestSSLVerify::do_test_verify
  - TestSSLVerify::do_test_bad_calls
  - TestSSLVerify::read_file
  - TestSSLVerify::TestVerifyCb::TestVerifyCb
  - ~TestVerifyCb()
  - TestSSLVerify::TestVerifyCb::ssl_cert_verify_cb
  - TestSSLVerify::TestEventCb::TestEventCb
  - TestSSLVerify::TestEventCb::event_cb
  - TestSSLVerify::conf_location_to_pem
  - TestSSLVerify::conf_location_to_setter
  - TestSSLVerify::is_client_auth_required
  - TestSSLVerify::do_test_verify
  - TestSSLVerify::do_test_bad_calls
  - main_0097_ssl_verify
  - main_0097_ssl_verify_local
  source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_FIXTURES_FOLDER
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: '"./fixtures"'
    - item_type: preproc_def
      name: TEST_FIXTURES_SSL_FOLDER
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_FOLDER "/ssl/"
    - item_type: preproc_def
      name: TEST_FIXTURES_KEY_PASSWORD
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: '"use_strong_password_keystore_client2"'
    - item_type: preproc_def
      name: TEST_CERTIFICATE_LOCATION
      pos:
        line_end: 328
        line_start: 326
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.certificate.pem"
    - item_type: preproc_def
      name: TEST_KEY_LOCATION
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.key"
    - item_type: preproc_def
      name: TEST_CERTIFICATE_INTERMEDIATE_LOCATION
      pos:
        line_end: 333
        line_start: 331
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.certificate.intermediate.pem"
    - item_type: preproc_def
      name: TEST_KEY_INTERMEDIATE_LOCATION
      pos:
        line_end: 335
        line_start: 333
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.intermediate.key"
    - item_type: preproc_def
      name: TEST_FIXTURES_FOLDER
      pos:
        line_end: 322
        line_start: 321
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: '"./fixtures"'
    - item_type: preproc_def
      name: TEST_FIXTURES_SSL_FOLDER
      pos:
        line_end: 323
        line_start: 322
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_FOLDER "/ssl/"
    - item_type: preproc_def
      name: TEST_FIXTURES_KEY_PASSWORD
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: '"use_strong_password_keystore_client2"'
    - item_type: preproc_def
      name: TEST_CERTIFICATE_LOCATION
      pos:
        line_end: 328
        line_start: 326
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.certificate.pem"
    - item_type: preproc_def
      name: TEST_KEY_LOCATION
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.key"
    - item_type: preproc_def
      name: TEST_CERTIFICATE_INTERMEDIATE_LOCATION
      pos:
        line_end: 333
        line_start: 331
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.certificate.intermediate.pem"
    - item_type: preproc_def
      name: TEST_KEY_INTERMEDIATE_LOCATION
      pos:
        line_end: 335
        line_start: 333
        source_file: /src/librdkafka/tests/0097-ssl_verify.cpp
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.intermediate.key"
    structs: []
    typedefs: []
    union: []
- function_names:
  - consumer_batch_queue
  - do_test_consume_batch_with_seek
  - do_test_consume_batch_with_pause_and_resume_different_batch
  - do_test_consume_batch_with_pause_and_resume_same_batch
  - do_test_consume_batch_store_offset
  - do_test_consume_batch_control_msgs
  - main_0137_barrier_batch_consume
  source_file: /src/librdkafka/tests/0137-barrier_batch_consume.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*what'
        type: char
      - name: '*rkq'
        type: rd_kafka_queue_t
      - name: timeout_ms
        type: int
      - name: consume_msg_cnt
        type: int
      - name: expected_msg_cnt
        type: int
      - name: '*rk'
        type: rd_kafka_t
      - name: testid
        type: uint64_t
      - name: '*mv'
        type: test_msgver_t
      - name: '*test'
        type: struct test
      item_type: struct
      name: consumer_s
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/librdkafka/tests/0137-barrier_batch_consume.c
    typedefs: []
    union: []
- function_names:
  - do_test_ssl_keys
  - main_0133_ssl_keys
  source_file: /src/librdkafka/tests/0133-ssl_keys.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_FIXTURES_FOLDER
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: '"./fixtures"'
    - item_type: preproc_def
      name: TEST_FIXTURES_SSL_FOLDER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: TEST_FIXTURES_FOLDER "/ssl/"
    - item_type: preproc_def
      name: TEST_FIXTURES_KEYSTORE_PASSWORD
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: '"use_strong_password_keystore_client"'
    - item_type: preproc_def
      name: TEST_FIXTURES_KEY_PASSWORD
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: '"use_strong_password_keystore_client2"'
    - item_type: preproc_def
      name: TEST_KEYSTORE_LOCATION
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client.keystore.p12"
    - item_type: preproc_def
      name: TEST_CERTIFICATE_LOCATION
      pos:
        line_end: 46
        line_start: 44
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.certificate.pem"
    - item_type: preproc_def
      name: TEST_KEY_LOCATION
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/tests/0133-ssl_keys.c
      type_or_value: TEST_FIXTURES_SSL_FOLDER "client2.key"
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_flush_overrides_linger_ms_time
  - do_test_first_flush_immediate
  - main_0125_immediate_flush
  - main_0125_immediate_flush_mock
  source_file: /src/librdkafka/tests/0125-immediate_flush.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - myThreadCb::myThreadCb
  - ~myThreadCb()
  - myThreadCb::startCount
  - myThreadCb::exitCount
  - myThreadCb::thread_start_cb
  - myThreadCb::thread_exit_cb
  - on_thread_start_trampoline
  - on_thread_exit_trampoline
  - on_new
  - on_conf_dup
  - test_thread_cbs
  - main_0100_thread_interceptors
  source_file: /src/librdkafka/tests/0100-thread_interceptors.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - my_error_cb
  - main_0047_partial_buf_tmout
  source_file: /src/librdkafka/tests/0047-partial_buf_tmout.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fetch_metadata_verify_brokers
  - fetch_metadata
  - do_test_add_remove_brokers
  - do_test_add_remove_brokers0
  - do_test_replace_with_new_cluster
  - do_test_cluster_roll
  - do_test_remove_then_add_log_cb
  - do_test_remove_then_add_await_after_action_cb
  - do_test_remove_then_add_edit_configuration_cb
  - do_test_remove_then_add
  - do_test_down_then_up_no_rebootstrap_loop_log_cb
  - do_test_down_then_up_no_rebootstrap_loop_edit_configuration_cb
  - do_test_down_then_up_no_rebootstrap_loop_request_metadata_cb
  - do_test_down_then_up_no_rebootstrap_loop_await_after_action_cb
  - do_test_down_then_up_no_rebootstrap_loop
  - do_test_add_same_broker_id
  - main_0151_purge_brokers_mock
  source_file: /src/librdkafka/tests/0151-purge-brokers.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TEST_ACTION_REMOVE_BROKER
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TEST_ACTION_ADD_BROKER
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '1'
    - item_type: preproc_def
      name: TEST_ACTION_SET_DOWN_BROKER
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '2'
    - item_type: preproc_def
      name: TEST_ACTION_SET_UP_BROKER
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_ACTION_SET_GROUP_COORDINATOR
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_GROUP
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/librdkafka/tests/0151-purge-brokers.c
      type_or_value: '"topic1"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - static_member_wait_rebalance0
  - static_member_expect_rebalance
  - static_member_wait_rebalance
  - rebalance_cb
  - do_test_static_group_rebalance
  - await_assignment_multi
  - is_fatal_cb
  - do_test_fenced_member_classic
  - do_test_fenced_member_consumer
  - create_consumer
  - consumer_generation_id
  - is_api_key
  - do_test_static_membership_mock
  - main_0102_static_group_rebalance
  - main_0102_static_group_rebalance_mock
  source_file: /src/librdkafka/tests/0102-static_group_rebalance.c
  types:
    enum:
    - enumerators:
      - name: DO_TEST_STATIC_MEMBERSHIP_MOCK_VARIATION_SAME_INSTANCE
        value: '0'
      - name: DO_TEST_STATIC_MEMBERSHIP_MOCK_VARIATION_NEW_INSTANCE
        value: '1'
      - name: DO_TEST_STATIC_MEMBERSHIP_MOCK_VARIATION__CNT
      item_type: enum
      name: do_test_static_membership_mock_variation_t
      pos:
        line_end: 685
        line_start: 678
        source_file: /src/librdkafka/tests/0102-static_group_rebalance.c
    preproc_defs:
    - item_type: preproc_def
      name: _CONSUMER_CNT
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/tests/0102-static_group_rebalance.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*rk'
        type: rd_kafka_t
      - name: '*mv'
        type: test_msgver_t
      - name: assigned_at
        type: int64_t
      - name: revoked_at
        type: int64_t
      - name: partition_cnt
        type: int
      - name: expected_rb_event
        type: rd_kafka_resp_err_t
      - name: curr_line
        type: int
      item_type: struct
      name: _consumer_s
      pos:
        line_end: 50
        line_start: 42
        source_file: /src/librdkafka/tests/0102-static_group_rebalance.c
    typedefs: []
    union: []
- function_names:
  - log_cb
  - do_test_OffsetFetch_stale_member_epoch_error
  - do_test_OffsetCommit_manual_error
  - do_test_OffsetCommit_automatic_stale_member_epoch_error
  - log_cb_closing_issue
  - do_test_consumer_inflight_heartbeat_on_leave
  - main_0148_offset_fetch_commit_error_mock
  source_file: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
  types:
    enum:
    - enumerators:
      - name: TEST_MANUAL_COMMIT_ERROR_VARIATION_STORE_OFFSET_AUTOMATICALLY
        value: '0'
      - name: TEST_MANUAL_COMMIT_ERROR_VARIATION__CNT
      - name: TEST_MANUAL_COMMIT_ERROR_VARIATION_STORE_OFFSET_MANUALLY
        value: '1'
      item_type: enum
      name: do_test_OffsetCommit_manual_error_variation_s
      pos:
        line_end: 131
        line_start: 125
        source_file: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    - enumerators:
      - name: TEST_AUTO_COMMIT_STALE_MEMBER_EPOCH_VARIATION_NO_REVOKE_NO_TIMEOUT
        value: '0'
      - name: TEST_AUTO_COMMIT_STALE_MEMBER_EPOCH_VARIATION_REVOKE_NO_TIMEOUT
        value: '2'
      - name: TEST_AUTO_COMMIT_STALE_MEMBER_EPOCH_VARIATION_REVOKE_WITH_TIMEOUT
        value: '3'
      - name: TEST_AUTO_COMMIT_STALE_MEMBER_EPOCH_VARIATION__CNT
      - name: TEST_AUTO_COMMIT_STALE_MEMBER_EPOCH_VARIATION_NO_REVOKE_WITH_TIMEOUT
        value: '1'
      item_type: enum
      name: do_test_OffsetCommit_automatic_stale_member_epoch_error_variation_t
      pos:
        line_end: 228
        line_start: 217
        source_file: /src/librdkafka/tests/0148-offset_fetch_commit_error_mock.c
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0021_rkt_destroy
  source_file: /src/librdkafka/tests/0021-rkt_destroy.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '&operator<<(const T &data)'
  - operator std::string()
  - TestMessageVerify
  - Test::Fail
  - Test::FailLater
  - Test::Skip
  - Test::Say
  - Test::Say
  - "std::string mk_topic_name(std::string suffix,\n                                           bool
    randomized)"
  - std::string mk_unique_group_name(std::string suffix)
  - Test::create_partitions
  - Test::create_topic
  - Test::create_topic_wait_exists
  - Test::delete_topic
  - Test::is_forbidden_conf_group_protocol_consumer
  - Test::conf_set
  - Test::print_TopicPartitions
  - Test::subscribe
  - Test::subscribe
  - Test::unsubscribe
  - Test::incremental_assign
  - Test::incremental_unassign
  - Test::wait_for_assignment
  - Test::check_assignment
  - Test::assignment_partition_count
  - Test::poll_once
  - Test::produce_msgs
  - Test::Fail
  - Test::FailLater
  - Test::Skip
  - Test::Say
  - Test::Say
  - "std::string mk_topic_name(std::string suffix,\n                                           bool
    randomized)"
  - std::string mk_unique_group_name(std::string suffix)
  - Test::create_partitions
  - Test::create_topic
  - Test::create_topic_wait_exists
  - Test::delete_topic
  - Test::is_forbidden_conf_group_protocol_consumer
  - Test::conf_set
  - Test::print_TopicPartitions
  - Test::subscribe
  - Test::subscribe
  - Test::unsubscribe
  - Test::incremental_assign
  - Test::incremental_unassign
  - Test::wait_for_assignment
  - Test::check_assignment
  - Test::assignment_partition_count
  - Test::poll_once
  - Test::produce_msgs
  source_file: /src/librdkafka/tests/testcpp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ss
        type: std::stringstream
      item_type: struct
      name: tostr
      pos:
        line_end: 59
        line_start: 49
        source_file: /src/librdkafka/tests/testcpp.h
    typedefs: []
    union: []
- function_names:
  - do_test_srkt_leak
  - main_0074_producev
  source_file: /src/librdkafka/tests/0074-producev.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_producer_storage_error
  - do_test_offset_commit_error_during_rebalance
  - do_test_offset_commit_request_timed_out
  - do_test_joingroup_coordinator_load_in_progress
  - main_0117_mock_errors
  source_file: /src/librdkafka/tests/0117-mock_errors.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TEST_BRKVER
  - TEST_BRKVER_X
  - test_produce_msgs_easy
  - TEST_FAIL0
  - TEST_FAIL
  - TEST_FAIL_LATER
  - TEST_FAIL_LATER0
  - TEST_FAILCNT
  - TEST_LATER_CHECK
  - TEST_PERROR
  - TEST_WARN
  - TEST_ASSERT
  - TEST_ASSERT_LATER
  - test_clock
  - TIMING_RESTART
  - TIMING_START
  - TIMING_STOPPED
  - TIMING_STOP
  - TIMING_REPORT
  - TIMING_STOP
  - TIMING_DURATION
  - TIMING_ASSERT0
  - TIMING_ASSERT
  - TIMING_ASSERT_LATER
  - TIMING_EVERY
  - SUB_TEST0
  - SUB_TEST
  - SUB_TEST_QUICK
  - SUB_TEST_PASS
  - SUB_TEST_SKIP
  - rd_sleep
  - rd_sleep
  source_file: /src/librdkafka/tests/testshared.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _C_CLR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[0m"'
    - item_type: preproc_def
      name: _C_RED
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[31m"'
    - item_type: preproc_def
      name: _C_GRN
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[32m"'
    - item_type: preproc_def
      name: _C_YEL
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[33m"'
    - item_type: preproc_def
      name: _C_BLU
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[34m"'
    - item_type: preproc_def
      name: _C_MAG
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[35m"'
    - item_type: preproc_def
      name: _C_CYA
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '"\033[36m"'
    - item_type: preproc_def
      name: TEST_BRKVER_TOPIC_ADMINAPI
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: TEST_BRKVER(0, 10, 2, 0)
    - item_type: preproc_def
      name: RD_UNUSED
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: __SANITIZE_ADDRESS__
      pos:
        line_end: 403
        line_start: 402
        source_file: /src/librdkafka/tests/testshared.h
      type_or_value: '1'
    structs:
    - fields:
      - name: name[450]
        type: char
      - name: ts_start
        type: int64_t
      - name: duration
        type: int64_t
      - name: ts_every
        type: int64_t
      item_type: struct
      name: test_timing_s
      pos:
        line_end: 281
        line_start: 276
        source_file: /src/librdkafka/tests/testshared.h
    typedefs:
    - item_type: typedef
      name: rd_kafka_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/librdkafka/tests/testshared.h
      type: rd_kafka_s
    - item_type: typedef
      name: rd_kafka_conf_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/librdkafka/tests/testshared.h
      type: rd_kafka_conf_s
    union: []
- function_names:
  - TestSchemaValidator::TestSchemaValidator
  - TestSchemaValidator::TestSchemaValidator
  - ~TestSchemaValidator()
  - TestSchemaValidator::validate
  - TestSchemaValidator::TestSchemaValidator
  - TestSchemaValidator::TestSchemaValidator
  - ~TestSchemaValidator()
  - TestSchemaValidator::validate
  - myEventCb::myEventCb
  - myEventCb::event_cb
  - test_stats_timing
  - verify_e2e_stats
  - test_stats
  - main_0053_stats_timing
  - main_0053_stats
  source_file: /src/librdkafka/tests/0053-stats_cb.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: topic
        type: std::string
      - name: part
        type: int32_t
      - name: msgcnt
        type: int
      - name: msgsize
        type: int
      - name: totsize
        type: int64_t
      item_type: struct
      name: exp_part_stats
      pos:
        line_end: 234
        line_start: 225
        source_file: /src/librdkafka/tests/0053-stats_cb.cpp
    typedefs: []
    union: []
- function_names:
  - test_query_watermark_offsets_timeout
  - test_query_watermark_offsets_leader_change
  - main_0031_get_offsets
  - main_0031_get_offsets_mock
  source_file: /src/librdkafka/tests/0031-get_offsets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - offset_commit_cb
  - do_offset_test
  - empty_offset_commit_cb
  - do_empty_commit
  - nonexist_offset_commit_cb
  - do_nonexist_commit
  - main_0030_offset_commit
  source_file: /src/librdkafka/tests/0030-offset_commit.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - do_test_unkpart
  - do_test_unkpart_timeout_nobroker
  - main_0002_unkpart
  source_file: /src/librdkafka/tests/0002-unkpart.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sockem_ctrl_thrd_main
  - sockem_ctrl_set_delay
  - sockem_ctrl_init
  - sockem_ctrl_term
  source_file: /src/librdkafka/tests/sockem_ctrl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - get_low_wmark
  - wait_compaction
  - produce_compactable_msgs
  - do_test_compaction
  - main_0077_compaction
  source_file: /src/librdkafka/tests/0077-compaction.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _KEY_CNT
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/librdkafka/tests/0077-compaction.c
      type_or_value: '4'
    structs: []
    typedefs: []
    union: []
- function_names:
  - is_consuming
  - partition_consume
  - spawn_thread
  - rebalance_cb
  - get_assignment
  - main_0056_balanced_group_mt
  source_file: /src/librdkafka/tests/0056-balanced_group_mt.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_THRD_CNT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/tests/0056-balanced_group_mt.c
      type_or_value: '4'
    structs:
    - fields:
      - name: '*rkqu'
        type: rd_kafka_queue_t
      - name: partition
        type: int
      item_type: struct
      name: part_consume_info_s
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/librdkafka/tests/0056-balanced_group_mt.c
    typedefs: []
    union: []
- function_names:
  - connect_cb
  - is_fatal_cb
  - main_0049_consume_conn_close
  source_file: /src/librdkafka/tests/0049-consume_conn_close.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0038_performance
  source_file: /src/librdkafka/tests/0038-performance.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_plugin
  - main_0066_plugins
  source_file: /src/librdkafka/tests/0066-plugins.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0051_assign_adds
  source_file: /src/librdkafka/tests/0051-assign_adds.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: TOPIC_CNT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/tests/0051-assign_adds.c
      type_or_value: '3'
    structs: []
    typedefs: []
    union: []
- function_names:
  - consumer_batch_queue
  - do_test_consume_batch
  - main_0122_buffer_cleaning_after_rebalance
  source_file: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*what'
        type: char
      - name: '*rkq'
        type: rd_kafka_queue_t
      - name: timeout_ms
        type: int
      - name: consume_msg_cnt
        type: int
      - name: expected_msg_cnt
        type: int
      - name: '*rk'
        type: rd_kafka_t
      - name: testid
        type: uint64_t
      - name: '*mv'
        type: test_msgver_t
      - name: '*test'
        type: struct test
      item_type: struct
      name: consumer_s
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/librdkafka/tests/0122-buffer_cleaning_after_rebalance.c
    typedefs: []
    union: []
- function_names:
  - DrCb0065::DrCb0065
  - DrCb0065::dr_cb
  - do_test_producer
  - main_0065_yield
  source_file: /src/librdkafka/tests/0065-yield.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0092_mixed_msgver
  source_file: /src/librdkafka/tests/0092-mixed_msgver.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - produce_many
  - legacy_consume_many
  - subscribe_consume_many
  - assign_consume_many
  - main_0042_many_topics
  source_file: /src/librdkafka/tests/0042-many_topics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rebalance_cb
  - consume_all
  - poller_thread_main
  - consumer_close_queue
  - do_test
  - main_0018_cgrp_term
  source_file: /src/librdkafka/tests/0018-cgrp_term.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CONS_CNT
      pos:
        line_end: 179
        line_start: 178
        source_file: /src/librdkafka/tests/0018-cgrp_term.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*c'
        type: rd_kafka_t
      - name: '*queue'
        type: rd_kafka_queue_t
      item_type: struct
      name: args
      pos:
        line_end: 132
        line_start: 129
        source_file: /src/librdkafka/tests/0018-cgrp_term.c
    typedefs: []
    union: []
- function_names:
  - do_test_reset
  - main_0034_offset_reset
  - offset_reset_errors
  - main_0034_offset_reset_mock
  source_file: /src/librdkafka/tests/0034-offset_reset.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: inject
        type: rd_kafka_resp_err_t
      - name: expect
        type: rd_kafka_resp_err_t
      - name: start_offset
        type: int64_t
      - name: expect_offset
        type: int64_t
      - name: broker_down
        type: rd_bool_t
      item_type: struct
      name: "test[] = {\n            {\n                RD_KAFKA_RESP_ERR__TRANSPORT,\n
        \               RD_KAFKA_RESP_ERR_NO_ERROR,\n                RD_KAFKA_OFFSET_TAIL(msgcnt),\n
        \               0,\n                .broker_down = rd_true,\n            },\n
        \           {\n                RD_KAFKA_RESP_ERR__TRANSPORT,\n                RD_KAFKA_RESP_ERR_NO_ERROR,\n
        \               RD_KAFKA_OFFSET_TAIL(msgcnt),\n                0,\n                /*
        only disconnect on the ListOffsets request */\n                .broker_down
        = rd_false,\n            },\n            {RD_KAFKA_RESP_ERR_TOPIC_AUTHORIZATION_FAILED,\n
        \            RD_KAFKA_RESP_ERR_TOPIC_AUTHORIZATION_FAILED,\n             RD_KAFKA_OFFSET_TAIL(msgcnt),
        -1},\n            {RD_KAFKA_RESP_ERR_NO_ERROR, RD_KAFKA_RESP_ERR__NO_OFFSET,\n
        \            RD_KAFKA_OFFSET_STORED, /* There's no committed offset */\n             -1},\n\n
        \       }"
      pos:
        line_end: 175
        line_start: 166
        source_file: /src/librdkafka/tests/0034-offset_reset.c
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - main
  source_file: /src/librdkafka/tests/1000-unktopic.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - msg_verify_ic_cnt
  - verify_ic_cnt
  - verify_msg
  - on_send
  - on_ack
  - on_consume
  - on_commit
  - do_test_produce
  - on_new_producer
  - do_test_producer
  - on_new_consumer
  - do_test_consumer
  - do_test_conf_copy
  - main_0064_interceptors
  source_file: /src/librdkafka/tests/0064-interceptors.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: msgcnt
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/tests/0064-interceptors.c
      type_or_value: '100'
    - item_type: preproc_def
      name: _ON_SEND
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/tests/0064-interceptors.c
      type_or_value: '0'
    - item_type: preproc_def
      name: _ON_ACK
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/librdkafka/tests/0064-interceptors.c
      type_or_value: '1'
    - item_type: preproc_def
      name: _ON_CONSUME
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/tests/0064-interceptors.c
      type_or_value: '2'
    - item_type: preproc_def
      name: _ON_CNT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/tests/0064-interceptors.c
      type_or_value: '3'
    structs:
    - fields:
      - name: id
        type: int
      - name: bits[_ON_CNT]
        type: int
      - name: lock
        type: mtx_t
      item_type: struct
      name: msg_state
      pos:
        line_end: 72
        line_start: 68
        source_file: /src/librdkafka/tests/0064-interceptors.c
    typedefs: []
    union: []
- function_names:
  - error_is_fatal_cb
  - do_test_offset_reset
  - do_test_offset_reset_lag
  - do_test_unknown_follower
  - do_test_replica_not_available
  - do_test_delegate_to_leader_on_error
  - do_test_not_leader_or_follower
  - do_test_follower_down
  - do_test_seek_to_offset_with_previous_epoch
  - main_0104_fetch_from_follower_mock
  source_file: /src/librdkafka/tests/0104-fetch_from_follower_mock.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - verify_groups
  - list_groups
  - do_test_list_groups
  - do_test_list_groups_hang
  - main_0019_list_groups
  source_file: /src/librdkafka/tests/0019-list_groups.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CONS_CNT
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/librdkafka/tests/0019-list_groups.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0009_mock_cluster
  source_file: /src/librdkafka/tests/0009-mock_cluster.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_cb
  - produce_null_messages
  - verify_consumed_msg_reset
  - int_cmp
  - verify_consumed_msg_check0
  - verify_consumed_msg_check
  - verify_consumed_msg0
  - verify_consumed_msg
  - consume_messages
  - consume_messages_with_queues
  - test_produce_consume
  - main_0013_null_msgs
  source_file: /src/librdkafka/tests/0013-null-msgs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - dr_msg_cb
  - main_0008_reqacks
  source_file: /src/librdkafka/tests/0008-reqacks.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_fetch_from_follower_offset_retry
  - main_8001_fetch_from_follower_mock_manual
  source_file: /src/librdkafka/tests/8001-fetch_from_follower_mock_manual.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_consume
  - rebalance_cb
  - do_test_with_subscribe
  - do_test_with_assign
  - do_test_no_poll
  - main_0091_max_poll_interval_timeout
  source_file: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _CONSUMER_CNT
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
      type_or_value: '2'
    structs:
    - fields:
      - name: '*rk'
        type: rd_kafka_t
      - name: last
        type: int64_t
      - name: cnt
        type: int
      - name: rebalance_cnt
        type: int
      - name: max_rebalance_cnt
        type: int
      item_type: struct
      name: _consumer
      pos:
        line_end: 58
        line_start: 52
        source_file: /src/librdkafka/tests/0091-max_poll_interval_timeout.c
    typedefs: []
    union: []
- function_names:
  - is_error_fatal
  - run_producer
  - expect_messages
  - do_test_create_delete_create
  - main_0107_topic_recreate
  source_file: /src/librdkafka/tests/0107-topic_recreate.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test
  - do_test_with_log_queue
  - do_test_rejoin_after_interval_expire
  - consume_cb
  - do_test_max_poll_reset_with_consumer_cb
  - main_0089_max_poll_interval
  source_file: /src/librdkafka/tests/0089-max_poll_interval.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main_0035_api_version
  source_file: /src/librdkafka/tests/0035-api_version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - log_cb
  - main_0121_clusterid
  source_file: /src/librdkafka/tests/0121-clusterid.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - TestEventCb::event_cb
  - execute_java_produce_cli
  - consume_messages
  - delete_messages
  - get_bootstrap_servers
  - create_consumer
  - csv_split
  - TransactionType_from_string
  - _CHKRET
  - txn_producer_makeTestMessages
  - txnDeliveryReportCb::dr_cb
  - txn_producer
  - do_test_consumer_txn_test
  - run_producer
  - expect_msgcnt
  - expect_key
  - main_0098_consumer_txn
  source_file: /src/librdkafka/tests/0098-consumer-txn.cpp
  types:
    enum:
    - enumerators:
      - name: TransactionType_None
      - name: TransactionType_BeginAbort
      - name: TransactionType_BeginOpen
      - name: TransactionType_ContinueAbort
      - name: TransactionType_BeginCommit
      - name: TransactionType_ContinueCommit
      - name: TransactionType_ContinueOpen
      item_type: enum
      name: TransactionType
      pos:
        line_end: 264
        line_start: 256
        source_file: /src/librdkafka/tests/0098-consumer-txn.cpp
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - group_configs_supported
  - do_test_CreateTopics
  - do_test_DeleteTopics
  - do_test_CreatePartitions
  - test_print_ConfigEntry_array
  - YN
  - do_test_AlterConfigs
  - do_test_IncrementalAlterConfigs
  - do_test_DescribeConfigs
  - do_test_DescribeConfigs_groups
  - do_test_CreateAcls
  - do_test_DescribeAcls
  - do_test_acls_count
  - do_test_DeleteAcls
  - do_test_unclean_destroy
  - do_test_DeleteRecords
  - do_test_DeleteGroups
  - test_ListConsumerGroups_helper
  - do_test_ListConsumerGroups
  - do_test_DescribeConsumerGroups
  - test_match_authorized_operations
  - do_test_DescribeTopics
  - do_test_DescribeCluster
  - do_test_DescribeConsumerGroups_with_authorized_ops
  - do_test_DeleteConsumerGroupOffsets
  - do_test_AlterConsumerGroupOffsets
  - do_test_ListConsumerGroupOffsets
  - do_test_UserScramCredentials
  - do_test_ListOffsets
  - do_test_apis
  - main_0081_admin
  source_file: /src/librdkafka/tests/0081-admin.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_NEW_TOPICS_CNT
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '7'
    - item_type: preproc_def
      name: MY_DEL_TOPICS_CNT
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MY_CRP_TOPICS_CNT
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '9'
    - item_type: preproc_def
      name: MY_CONFRES_CNT
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MY_CONFRES_CNT
      pos:
        line_end: 908
        line_start: 907
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MY_CONFRES_CNT
      pos:
        line_end: 1187
        line_start: 1186
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MY_CONFRES_CNT
      pos:
        line_end: 1377
        line_start: 1376
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MY_DEL_RECORDS_CNT
      pos:
        line_end: 2400
        line_start: 2399
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: MY_DEL_GROUPS_CNT
      pos:
        line_end: 2680
        line_start: 2679
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_LIST_CONSUMER_GROUPS_CNT
      pos:
        line_end: 2948
        line_start: 2947
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_DESCRIBE_CONSUMER_GROUPS_CNT
      pos:
        line_end: 3100
        line_start: 3099
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '4'
    - item_type: preproc_def
      name: TEST_DESCRIBE_TOPICS_CNT
      pos:
        line_end: 3410
        line_start: 3409
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_DESCRIBE_CONSUMER_GROUPS_CNT
      pos:
        line_end: 3934
        line_start: 3933
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MY_TOPIC_CNT
      pos:
        line_end: 4150
        line_start: 4149
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_ALTER_CONSUMER_GROUP_OFFSETS_TOPIC_CNT
      pos:
        line_end: 4412
        line_start: 4411
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    - item_type: preproc_def
      name: TEST_LIST_CONSUMER_GROUP_OFFSETS_TOPIC_CNT
      pos:
        line_end: 4706
        line_start: 4705
        source_file: /src/librdkafka/tests/0081-admin.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*group'
        type: char
      - name: err
        type: rd_kafka_resp_err_t
      item_type: struct
      name: expected_group_result
      pos:
        line_end: 2667
        line_start: 2664
        source_file: /src/librdkafka/tests/0081-admin.c
    - fields:
      - name: '*group_id'
        type: char
      - name: err
        type: rd_kafka_resp_err_t
      item_type: struct
      name: expected_DescribeConsumerGroups_result
      pos:
        line_end: 3082
        line_start: 3079
        source_file: /src/librdkafka/tests/0081-admin.c
    - fields:
      - name: query
        type: int64_t
      - name: expected
        type: int64_t
      - name: min_broker_version
        type: int
      item_type: struct
      name: test_fixture_s
      pos:
        line_end: 5265
        line_start: 5261
        source_file: /src/librdkafka/tests/0081-admin.c
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  - main
  source_file: /src/librdkafka/tests/fuzzers/fuzz_regex.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - read_file
  source_file: /src/librdkafka/tests/fuzzers/helpers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conf_init
  - conf_destroy
  source_file: /src/librdkafka/tests/plugin_test/plugin_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ictest_init
  - ictest_cnt_init
  - ictest_free
  - ICTEST_CNT_CHECK
  source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: cnt
        type: int
      - name: min
        type: int
      - name: max
        type: int
      item_type: struct
      name: ictcnt
      pos:
        line_end: 8
        line_start: 4
        source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    - fields:
      - name: conf_init
        type: struct ictcnt
      - name: on_new
        type: struct ictcnt
      - name: '*config1'
        type: char
      - name: '*config2'
        type: char
      - name: '*session_timeout_ms'
        type: char
      - name: '*socket_timeout_ms'
        type: char
      item_type: struct
      name: ictest
      pos:
        line_end: 21
        line_start: 10
        source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.h
    typedefs: []
    union: []
- function_names:
  - on_send
  - on_acknowledgement
  - on_consume
  - on_commit
  - ici_destroy
  - on_destroy
  - on_new
  - on_conf_set
  - on_conf_dup
  - on_conf_destroy
  - conf_init0
  - rd_kafka_resp_err_t::conf_init
  source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DLL_EXPORT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.c
      type_or_value: __declspec(dllexport)
    structs:
    - fields:
      - name: '*conf'
        type: rd_kafka_conf_t
      - name: '*config1'
        type: char
      - name: '*config2'
        type: char
      - name: on_new_cnt
        type: int
      - name: on_conf_destroy_cnt
        type: int
      item_type: struct
      name: ici
      pos:
        line_end: 72
        line_start: 65
        source_file: /src/librdkafka/tests/interceptor_test/interceptor_test.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/lz4hc.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4HC_CLEVEL_MIN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LZ4HC_CLEVEL_DEFAULT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '9'
    - item_type: preproc_def
      name: LZ4HC_CLEVEL_OPT_MIN
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '10'
    - item_type: preproc_def
      name: LZ4HC_CLEVEL_MAX
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '12'
    - item_type: preproc_def
      name: LZ4HC_DICTIONARY_LOGSIZE
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '16'
    - item_type: preproc_def
      name: LZ4HC_MAXD
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: (1<<LZ4HC_DICTIONARY_LOGSIZE)
    - item_type: preproc_def
      name: LZ4HC_MAXD_MASK
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: (LZ4HC_MAXD - 1)
    - item_type: preproc_def
      name: LZ4HC_HASH_LOG
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '15'
    - item_type: preproc_def
      name: LZ4HC_HASHTABLESIZE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: (1 << LZ4HC_HASH_LOG)
    - item_type: preproc_def
      name: LZ4HC_HASH_MASK
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: (LZ4HC_HASHTABLESIZE - 1)
    - item_type: preproc_def
      name: LZ4_STREAMHC_MINSIZE
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/librdkafka/src/lz4hc.h
      type_or_value: '262200  '
    structs:
    - fields:
      - name: hashTable[LZ4HC_HASHTABLESIZE]
        type: LZ4_u32
      - name: chainTable[LZ4HC_MAXD]
        type: LZ4_u16
      - name: '* end'
        type: LZ4_byte
      - name: '* prefixStart'
        type: LZ4_byte
      - name: '* dictStart'
        type: LZ4_byte
      - name: dictLimit
        type: LZ4_u32
      - name: lowLimit
        type: LZ4_u32
      - name: nextToUpdate
        type: LZ4_u32
      - name: compressionLevel
        type: short
      - name: favorDecSpeed
        type: LZ4_i8
      - name: dirty
        type: LZ4_i8
      - name: '* dictCtx'
        type: LZ4HC_CCtx_internal
      item_type: struct
      name: LZ4HC_CCtx_internal
      pos:
        line_end: 219
        line_start: 204
        source_file: /src/librdkafka/src/lz4hc.h
    typedefs:
    - item_type: typedef
      name: LZ4_streamHC_t
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/librdkafka/src/lz4hc.h
      type: LZ4_streamHC_u
    - item_type: typedef
      name: LZ4HC_CCtx_internal
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/librdkafka/src/lz4hc.h
      type: LZ4HC_CCtx_internal
    union:
    - fields:
      - name: minStateSize[LZ4_STREAMHC_MINSIZE]
        type: char
      - name: internal_donotuse
        type: LZ4HC_CCtx_internal
      item_type: union
      name: LZ4_streamHC_u
      pos:
        line_end: 225
        line_start: 222
        source_file: /src/librdkafka/src/lz4hc.h
- function_names:
  - rd_jitter
  - rd_array_shuffle
  source_file: /src/librdkafka/src/rdrand.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_headers_destroy
  - rd_kafka_headers_new
  - rd_kafka_header_copy
  - rd_kafka_headers_copy
  - rd_kafka_header_add
  - rd_kafka_header_cmp_str
  - rd_kafka_header_remove
  - rd_kafka_header_get_last
  - rd_kafka_header_get
  - rd_kafka_header_get_all
  - rd_kafka_header_cnt
  source_file: /src/librdkafka/src/rdkafka_header.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: rd_kafka_header_destroy
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/librdkafka/src/rdkafka_header.c
      type_or_value: rd_free
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_message_errstr
  - rd_kafka_message_produce_errstr
  - rd_kafka_resp_err_t::rd_kafka_check_produce
  - rd_kafka_msg_destroy
  - rd_kafka_msg_new00
  - rd_kafka_msg_new0
  - rd_kafka_msg_new
  - rd_kafka_produceva
  - rd_kafka_producev
  - rd_kafka_produce
  - rd_kafka_produce_batch
  - rd_kafka_msgq_age_scan
  - rd_kafka_msgq_enq_sorted0
  - rd_kafka_msgq_enq_sorted
  - rd_kafka_msgq_find_pos
  - rd_kafka_msgq_split
  - rd_kafka_msgq_set_metadata
  - rd_kafka_msgq_move_acked
  - rd_kafka_msg_partitioner_random
  - rd_kafka_msg_partitioner_consistent
  - rd_kafka_msg_partitioner_consistent_random
  - rd_kafka_msg_partitioner_murmur2
  - rd_kafka_msg_partitioner_murmur2_random
  - rd_kafka_msg_partitioner_fnv1a
  - rd_kafka_msg_partitioner_fnv1a_random
  - rd_kafka_msg_sticky_partition
  - rd_kafka_msg_partitioner
  - rd_kafka_message_destroy
  - rd_kafka_message_new
  - rd_kafka_message_setup
  - rd_kafka_message_get_from_rkm
  - rd_kafka_message_get
  - rd_kafka_message_timestamp
  - rd_kafka_message_latency
  - rd_kafka_message_broker_id
  - rd_kafka_msg_headers_parse
  - rd_kafka_message_headers
  - rd_kafka_message_detach_headers
  - rd_kafka_message_set_headers
  - rd_kafka_message_status
  - rd_kafka_message_leader_epoch
  - rd_kafka_msgq_dump
  - rd_kafka_msgbatch_destroy
  - rd_kafka_msgbatch_init
  - rd_kafka_msgbatch_set_first_msg
  - rd_kafka_msgbatch_ready_produce
  - rd_kafka_msgq_allow_wakeup_at
  - rd_kafka_msgq_verify_order0
  - rd_kafka_Produce_result_new
  - rd_kafka_Produce_result_destroy
  - rd_kafka_Produce_result_copy
  - ut_rd_kafka_msg_new
  - ut_rd_kafka_msgq_purge
  - ut_verify_msgq_order
  - unittest_msgq_order
  - unittest_msg_seq_wrap
  - ut_msgq_populate
  - unittest_msgq_insert_all_sort
  - unittest_msgq_insert_each_sort
  - unittest_msgq_insert_sort
  - unittest_msg
  source_file: /src/librdkafka/src/rdkafka_msg.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: in
        type: int64_t
      - name: out
        type: int32_t
      item_type: struct
      name: exp
      pos:
        line_end: 2225
        line_start: 2222
        source_file: /src/librdkafka/src/rdkafka_msg.c
    - fields:
      - name: lo
        type: uint64_t
      - name: hi
        type: uint64_t
      item_type: struct
      name: ut_msg_range
      pos:
        line_end: 2274
        line_start: 2271
        source_file: /src/librdkafka/src/rdkafka_msg.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_KAFKA_TELEMETRY_METRIC_INFO
  - RD_KAFKA_TELEMETRY_METRIC_CNT
  source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_TELEMETRY_METRIC_PREFIX
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
      type_or_value: '"org.apache.kafka."'
    - item_type: preproc_def
      name: RD_KAFKA_TELEMETRY_METRIC_NODE_ID_ATTRIBUTE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
      type_or_value: '"node.id"'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*value'
        type: char
      item_type: struct
      name: rd_kafka_telemetry_resource_attribute_t
      pos:
        line_end: 98
        line_start: 95
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
    - fields:
      - name: '*name'
        type: char
      - name: '*description'
        type: char
      - name: '*unit'
        type: char
      - name: is_int
        type: rd_bool_t
      - name: is_per_broker
        type: rd_bool_t
      - name: type
        type: rd_kafka_telemetry_metric_type_t
      - name: calculate_value
        type: rd_kafka_telemetry_metric_value_calculator_t
      item_type: struct
      name: rd_kafka_telemetry_metric_info_t
      pos:
        line_end: 108
        line_start: 100
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
    - fields:
      - name: '*name'
        type: char
      - name: '*(*getValue)(const rd_kafka_t *rk)'
        type: char
      item_type: struct
      name: rd_kafka_telemetry_attribute_config_t
      pos:
        line_end: 113
        line_start: 110
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
    typedefs:
    - item_type: typedef
      name: "(\n    *rd_kafka_telemetry_metric_value_calculator_t)(\n    rd_kafka_t
        *rk,\n    rd_kafka_broker_t *rkb_selected,\n    rd_ts_t now_nanos)"
      pos:
        line_end: 93
        line_start: 89
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
      type: rd_kafka_telemetry_metric_value_t
    union:
    - fields:
      - name: int_value
        type: int64_t
      - name: double_value
        type: double
      item_type: union
      name: rd_kafka_telemetry_metric_value_t
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.h
- function_names:
  - rd_avg_add
  - rd_avg_calc
  - rd_avg_quantile
  - rd_avg_rollover
  - rd_avg_init
  - rd_avg_destroy
  source_file: /src/librdkafka/src/rdavg.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ra_v
        type: "struct {\n                int64_t maxv;\n                int64_t minv;\n
          \               int64_t avg;\n                int64_t sum;\n                int
          cnt;\n                rd_ts_t start;\n        }"
      - name: ra_lock
        type: mtx_t
      - name: ra_enabled
        type: int
      - name: ra_type
        type: "enum {\n                RD_AVG_GAUGE,\n                RD_AVG_COUNTER,\n
          \       }"
      - name: ra_hist
        type: "struct {\n                /* Quantiles */\n                int64_t
          p50;\n                int64_t p75;\n                int64_t p90;\n                int64_t
          p95;\n                int64_t p99;\n                int64_t p99_99;\n\n
          \               int64_t oor;     /**< Values out of range */\n                int32_t
          hdrsize; /**< hdr.allocatedSize */\n                double stddev;\n                double
          mean;\n        }"
      item_type: struct
      name: rd_avg_s
      pos:
        line_end: 70
        line_start: 36
        source_file: /src/librdkafka/src/rdavg.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_idemp_set_state
  - rd_kafka_idemp_broker_any
  - rd_kafka_idemp_check_error
  - rd_kafka_idemp_pid_fsm
  - rd_kafka_idemp_pid_timer_cb
  - rd_kafka_idemp_pid_timer_restart
  - rd_kafka_idemp_request_pid_failed
  - rd_kafka_idemp_pid_update
  - rd_kafka_idemp_drain_done
  - rd_kafka_idemp_check_drain_done
  - rd_kafka_idemp_drain_reset
  - rd_kafka_idemp_drain_epoch_bump0
  - rd_kafka_idemp_drain_toppar
  - rd_kafka_idemp_inflight_toppar_sub
  - rd_kafka_idemp_inflight_toppar_add
  - rd_kafka_idemp_start
  - rd_kafka_idemp_init
  - rd_kafka_idemp_term
  source_file: /src/librdkafka/src/rdkafka_idempotence.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdrand.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_lz4_decompress_fixup_bad_framing
  - rd_kafka_lz4_compress_break_framing
  - rd_kafka_lz4_decompress
  - rd_kafka_lz4_compress
  source_file: /src/librdkafka/src/rdkafka_lz4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - nelem
  - isalpharune
  - toupperrune
  - chartorune
  - die
  - canon
  - hex
  - dec
  - nextrune
  - lexcount
  - newcclass
  - addrange
  - addranges_d
  - addranges_D
  - addranges_s
  - addranges_S
  - addranges_w
  - addranges_W
  - lexclass
  - lex
  - newnode
  - empty
  - newrep
  - next
  - re_accept
  - parseatom
  - parserep
  - parsecat
  - parsealt
  - count
  - emit
  - compile
  - dumpnode
  - dumpprog
  - re_regcomp
  - re_regfree
  - isnewline
  - iswordchar
  - incclass
  - incclasscanon
  - strncmpcanon
  - spawn
  - match
  - re_regexec
  - main
  source_file: /src/librdkafka/src/regexp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: REPINF
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/src/regexp.c
      type_or_value: '255'
    - item_type: preproc_def
      name: MAXTHREAD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/src/regexp.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: MAXSUB
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/regexp.c
      type_or_value: REG_MAXSUB
    - item_type: preproc_def
      name: ESCAPES
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/librdkafka/src/regexp.c
      type_or_value: '"BbDdSsWw^$\\.*+?()[]{}|0123456789"'
    structs:
    - fields:
      - name: '*end'
        type: Rune
      - name: spans[64]
        type: Rune
      item_type: struct
      name: Reclass
      pos:
        line_end: 55
        line_start: 52
        source_file: /src/librdkafka/src/regexp.c
    - fields:
      - name: '*prog'
        type: Reprog
      - name: '*pstart'
        type: Renode
      - name: '*source'
        type: char
      - name: ncclass
        type: unsigned int
      - name: nsub
        type: unsigned int
      - name: '*sub[MAXSUB]'
        type: Renode
      - name: lookahead
        type: int
      - name: yychar
        type: Rune
      - name: '*yycc'
        type: Reclass
      - name: yymin
        type: int
      - name: '*error'
        type: char
      - name: kaboom
        type: jmp_buf
      item_type: struct
      name: Restate
      pos:
        line_end: 73
        line_start: 57
        source_file: /src/librdkafka/src/regexp.c
    - fields:
      - name: '*start'
        type: Reinst
      - name: flags
        type: int
      - name: nsub
        type: unsigned int
      - name: cclass[16]
        type: Reclass
      - name: g
        type: Restate
      item_type: struct
      name: Reprog
      pos:
        line_end: 81
        line_start: 75
        source_file: /src/librdkafka/src/regexp.c
    - fields:
      - name: type
        type: unsigned char
      - name: ng
        type: unsigned char
      - name: c
        type: Rune
      - name: '*cc'
        type: Reclass
      - name: '*x'
        type: Renode
      - name: '*y'
        type: Renode
      item_type: struct
      name: Renode
      pos:
        line_end: 479
        line_start: 472
        source_file: /src/librdkafka/src/regexp.c
    - fields:
      - name: opcode
        type: unsigned char
      - name: n
        type: unsigned char
      - name: c
        type: Rune
      - name: '*cc'
        type: Reclass
      - name: '*x'
        type: Reinst
      - name: '*y'
        type: Reinst
      item_type: struct
      name: Reinst
      pos:
        line_end: 694
        line_start: 687
        source_file: /src/librdkafka/src/regexp.c
    - fields:
      - name: '*pc'
        type: Reinst
      - name: '*sp'
        type: char
      - name: sub
        type: Resub
      item_type: struct
      name: Rethread
      pos:
        line_end: 1134
        line_start: 1130
        source_file: /src/librdkafka/src/regexp.c
    typedefs:
    - item_type: typedef
      name: Rune
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/librdkafka/src/regexp.c
      type: unsigned int
    - item_type: typedef
      name: Reclass
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/librdkafka/src/regexp.c
      type: Reclass
    - item_type: typedef
      name: Renode
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/librdkafka/src/regexp.c
      type: Renode
    - item_type: typedef
      name: Reinst
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/librdkafka/src/regexp.c
      type: Reinst
    - item_type: typedef
      name: Rethread
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/librdkafka/src/regexp.c
      type: Rethread
    - item_type: typedef
      name: Restate
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/librdkafka/src/regexp.c
      type: Restate
    union: []
- function_names:
  - rd_kafka_mock_cgrp_classic_set_state
  - rd_kafka_mock_cgrp_classic_member_active
  - rd_kafka_mock_cgrp_classic_check_state
  - rd_kafka_mock_cgrp_classic_member_assignment_set
  - rd_kafka_mock_cgrp_classic_sync_done
  - rd_kafka_mock_cgrp_classic_sync_check
  - rd_kafka_mock_cgrp_classic_member_sync_set
  - rd_kafka_mock_cgrp_classic_member_leave
  - rd_kafka_mock_cgrp_classic_protos_destroy
  - rd_kafka_mock_cgrp_classic_elect_leader
  - rd_kafka_mock_cgrp_classic_rebalance
  - rd_kafka_mock_cgrp_classic_fsm_timeout
  - rd_kafka_mcgrp_rebalance_timer_cb
  - rd_kafka_mock_cgrp_classic_rebalance_timer_restart
  - rd_kafka_mock_cgrp_classic_member_destroy
  - rd_kafka_mock_cgrp_classic_member_find
  - rd_kafka_mock_cgrp_classic_member_add
  - rd_kafka_mock_cgrp_classic_session_tmr_cb
  - rd_kafka_mock_cgrp_classic_destroy
  - rd_kafka_mock_cgrp_classic_find
  - rd_kafka_mock_cgrp_classic_get
  - rd_kafka_mock_cgrps_classic_connection_closed
  - rd_kafka_mock_cgrp_consumer_target_assignment_new0
  - rd_kafka_mock_cgrp_consumer_target_assignment_new
  - rd_kafka_mock_cgrp_consumer_target_assignment_destroy
  - rd_kafka_mock_cgrp_consumer_member_target_assignment_set
  - rd_kafka_mock_cgrp_consumer_target_assignment_set
  - rd_kafka_mock_cgrp_consumer_target_assignment_calculate_range
  - RD_LIST_FOREACH
  - rd_kafka_mock_cgrp_consumer_target_assignment_recalculate
  - rd_kafka_mock_cgrp_consumer_target_assignment_set_manual
  - rd_kafka_mock_cgrp_consumer_member_current_assignment_set
  - rd_kafka_mock_cgrp_consumer_member_returned_assignment_set
  - rd_kafka_mock_cgrp_consumer_member_target_assignment_assignable
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_mock_cgrp_consumer_member_next_assignment_can_bump_epoch
  - rd_kafka_mock_cgrp_consumer_member_needs_revocation
  - rd_kafka_mock_cgrp_consumer_member_needs_assignment
  - rd_kafka_mock_cgrp_consumer_member_next_assignment
  - rd_kafka_mock_cgrp_consumer_member_active
  - rd_kafka_mock_cgrp_consumer_member_find
  - rd_kafka_mock_cgrp_consumer_member_find_by_instance_id
  - validate_subscription
  - rd_kafka_mock_cgrp_consumer_member_subscribed_topic_names_set
  - rd_kafka_mock_cgrp_consumer_member_topic_id_set
  - rd_kafka_mock_cgrp_consumer_member_add
  - rd_kafka_mock_cgrp_consumer_member_destroy
  - rd_kafka_mock_cgrp_consumer_member_leave_static
  - rd_kafka_mock_cgrp_consumer_member_leave
  - rd_kafka_mock_cgrp_consumer_member_fenced
  - rd_kafka_mock_cgrp_consumer_find
  - rd_kafka_mock_cgrp_consumer_session_tmr_cb
  - rd_kafka_mock_cgrp_consumer_get
  - rd_kafka_mock_cgrp_consumer_target_assignment
  - rd_kafka_mock_set_group_consumer_session_timeout_ms
  - rd_kafka_mock_set_group_consumer_heartbeat_interval_ms
  - rd_kafka_mock_cgrps_consumer_connection_closed
  - rd_kafka_mock_cgrp_consumer_destroy
  - rd_kafka_mock_cgrps_connection_closed
  source_file: /src/librdkafka/src/rdkafka_mock_cgrp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*member_ids'
        type: rd_list_t
      - name: '*assignment'
        type: rd_list_t
      item_type: struct
      name: rd_kafka_mock_cgrp_consumer_target_assignment_s
      pos:
        line_end: 735
        line_start: 731
        source_file: /src/librdkafka/src/rdkafka_mock_cgrp.c
    typedefs:
    - item_type: typedef
      name: (const char *, rd_list_t *)
      pos:
        line_end: 859
        line_start: 859
        source_file: /src/librdkafka/src/rdkafka_mock_cgrp.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: (const char *, int *)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/librdkafka/src/rdkafka_mock_cgrp.c
      type: RD_MAP_TYPE
    union: []
- function_names:
  - rd_list_dump
  - rd_list_grow
  - rd_list_init
  - rd_list_init_copy
  - rd_list_alloc
  - rd_list_new
  - rd_list_prealloc_elems
  - rd_list_set_cnt
  - rd_list_free_cb
  - rd_list_add
  - rd_list_set
  - rd_list_remove_elem
  - rd_list_remove
  - RD_LIST_FOREACH
  - rd_list_remove_cmp
  - RD_LIST_FOREACH
  - rd_list_remove_multi_cmp
  - RD_LIST_FOREACH_REVERSE
  - rd_list_pop
  - rd_list_cmp_trampoline
  - rd_list_sort
  - rd_list_destroy_elems
  - rd_list_clear
  - rd_list_destroy
  - rd_list_destroy_free
  - rd_list_elem
  - rd_list_index
  - RD_LIST_FOREACH
  - rd_list_find
  - RD_LIST_FOREACH
  - rd_list_first
  - rd_list_last
  - rd_list_find_duplicate
  - rd_list_deduplicate
  - rd_list_cmp
  - rd_list_cmp_ptr
  - rd_list_cmp_str
  - rd_list_apply
  - RD_LIST_FOREACH
  - rd_list_nocopy_ptr
  - rd_list_copy
  - rd_list_copy_to
  - RD_LIST_FOREACH
  - rd_list_copy_preallocated0
  - rd_list_copy_preallocated
  - rd_list_move
  - rd_list_init_int32
  - rd_list_set_int32
  - rd_list_get_int32
  source_file: /src/librdkafka/src/rdlist.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_KAFKA_CGRP_BROKER_IS_COORD
  - RD_KAFKA_CGRP_IS_STATIC_MEMBER
  - rd_kafka_cgrp_get
  - rd_kafka_cgrp_same_subscription_version
  - rd_kafka_rebalance_protocol2str
  source_file: /src/librdkafka/src/rdkafka_cgrp.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_TERMINATE
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_LEAVE_ON_UNASSIGN_DONE
      pos:
        line_end: 133
        line_start: 130
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_SUBSCRIPTION
      pos:
        line_end: 138
        line_start: 133
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_HEARTBEAT_IN_TRANSIT
      pos:
        line_end: 142
        line_start: 138
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_WILDCARD_SUBSCRIPTION
      pos:
        line_end: 145
        line_start: 142
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_WAIT_LEAVE
      pos:
        line_end: 157
        line_start: 145
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_F_MAX_POLL_EXCEEDED
      pos:
        line_end: 164
        line_start: 157
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_WAIT_ACK
      pos:
        line_end: 314
        line_start: 313
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SENDING_ACK
      pos:
        line_end: 316
        line_start: 315
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SEND_NEW_SUBSCRIPTION
      pos:
        line_end: 318
        line_start: 317
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SENDING_NEW_SUBSCRIPTION
      pos:
        line_end: 320
        line_start: 319
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SUBSCRIBED_ONCE
      pos:
        line_end: 325
        line_start: 324
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SEND_FULL_REQUEST
      pos:
        line_end: 327
        line_start: 326
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_WAIT_REJOIN
      pos:
        line_end: 329
        line_start: 328
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_WAIT_REJOIN_TO_COMPLETE
      pos:
        line_end: 331
        line_start: 330
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: RD_KAFKA_CGRP_CONSUMER_F_SERVE_PENDING
      pos:
        line_end: 333
        line_start: 332
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
      type_or_value: '0x100'
    structs:
    - fields:
      - name: '*rkcg_group_id'
        type: rd_kafkap_str_t
      - name: '*rkcg_member_id'
        type: rd_kafkap_str_t
      - name: '*rkcg_group_instance_id'
        type: rd_kafkap_str_t
      - name: '*rkcg_client_id'
        type: rd_kafkap_str_t
      - name: '*rkcg_client_rack'
        type: rd_kafkap_str_t
      - name: rkcg_state
        type: "enum {\n                /* Init state */\n                RD_KAFKA_CGRP_STATE_INIT,\n\n
          \               /* Cgrp has been stopped. This is a final state */\n                RD_KAFKA_CGRP_STATE_TERM,\n\n
          \               /* Query for group coordinator */\n                RD_KAFKA_CGRP_STATE_QUERY_COORD,\n\n
          \               /* Outstanding query, awaiting response */\n                RD_KAFKA_CGRP_STATE_WAIT_COORD,\n\n
          \               /* Wait ack from assigned cgrp manager broker thread */\n
          \               RD_KAFKA_CGRP_STATE_WAIT_BROKER,\n\n                /* Wait
          for manager broker thread to connect to broker */\n                RD_KAFKA_CGRP_STATE_WAIT_BROKER_TRANSPORT,\n\n
          \               /* Coordinator is up and manager is assigned. */\n                RD_KAFKA_CGRP_STATE_UP,\n
          \       }"
      - name: rkcg_ts_statechange
        type: rd_ts_t
      - name: rkcg_join_state
        type: "enum {\n                /* all: join or rejoin, possibly with an existing
          assignment. */\n                RD_KAFKA_CGRP_JOIN_STATE_INIT,\n\n                /*
          all: JoinGroupRequest sent, awaiting response. */\n                RD_KAFKA_CGRP_JOIN_STATE_WAIT_JOIN,\n\n
          \               /* all: MetadataRequest sent, awaiting response.\n                 *
          \     While metadata requests may be issued at any time,\n                 *
          \     this state is only set upon a proper (re)join. */\n                RD_KAFKA_CGRP_JOIN_STATE_WAIT_METADATA,\n\n
          \               /* Follower: SyncGroupRequest sent, awaiting response. */\n
          \               RD_KAFKA_CGRP_JOIN_STATE_WAIT_SYNC,\n\n                /*
          all: waiting for application to call *_assign() */\n                RD_KAFKA_CGRP_JOIN_STATE_WAIT_ASSIGN_CALL,\n\n
          \               /* all: waiting for application to call *_unassign() */\n
          \               RD_KAFKA_CGRP_JOIN_STATE_WAIT_UNASSIGN_CALL,\n\n                /*
          all: waiting for full assignment to decommission */\n                RD_KAFKA_CGRP_JOIN_STATE_WAIT_UNASSIGN_TO_COMPLETE,\n\n
          \               /* all: waiting for partial assignment to decommission */\n
          \               RD_KAFKA_CGRP_JOIN_STATE_WAIT_INCR_UNASSIGN_TO_COMPLETE,\n\n
          \               /* all: synchronized and assigned\n                 *      may
          be an empty assignment. */\n                RD_KAFKA_CGRP_JOIN_STATE_STEADY,\n
          \       }"
      - name: rkcg_group_leader
        type: "struct {\n                rd_kafka_group_member_t *members;\n                int
          member_cnt;\n        }"
      - name: '*rkcg_q'
        type: rd_kafka_q_t
      - name: '*rkcg_ops'
        type: rd_kafka_q_t
      - name: '*rkcg_wait_coord_q'
        type: rd_kafka_q_t
      - name: rkcg_flags
        type: int
      - name: rkcg_coord_query_intvl
        type: rd_interval_t
      - name: rkcg_heartbeat_intvl
        type: rd_interval_t
      - name: rkcg_serve_timer
        type: rd_kafka_timer_t
      - name: rkcg_heartbeat_intvl_ms
        type: int
      - name: rkcg_join_intvl
        type: rd_interval_t
      - name: rkcg_timeout_scan_intvl
        type: rd_interval_t
      - name: rkcg_ts_session_timeout
        type: rd_ts_t
      - name: rkcg_last_heartbeat_err
        type: rd_kafka_resp_err_t
      - name: (, rd_kafka_topic_s)
        type: TAILQ_HEAD
      - name: rkcg_toppars
        type: rd_list_t
      - name: rkcg_generation_id
        type: int32_t
      - name: '*rkcg_assignor'
        type: rd_kafka_assignor_t
      - name: '*rkcg_assignor_state'
        type: void
      - name: rkcg_coord_id
        type: int32_t
      - name: rkcg_group_protocol
        type: rd_kafka_group_protocol_t
      - name: '*rkcg_group_remote_assignor'
        type: rd_kafkap_str_t
      - name: '*rkcg_curr_coord'
        type: rd_kafka_broker_t
      - name: '*rkcg_coord'
        type: rd_kafka_broker_t
      - name: rkcg_wait_resp
        type: int16_t
      - name: '*rkcg_subscription'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_subscribed_topics'
        type: rd_list_t
      - name: '*rkcg_errored_topics'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_next_subscription'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_subscription_regex'
        type: rd_kafkap_str_t
      - name: '*rkcg_subscription_topics'
        type: rd_kafka_topic_partition_list_t
      - name: rkcg_next_unsubscribe
        type: rd_bool_t
      - name: rkcg_assignment_lost
        type: rd_atomic32_t
      - name: '*rkcg_group_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_rebalance_incr_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_current_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_target_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkcg_next_target_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: rkcg_expedite_heartbeat_retries
        type: int
      - name: rkcg_consumer_flags
        type: int
      - name: rkcg_rebalance_rejoin
        type: rd_bool_t
      - name: rkcg_ts_last_err
        type: rd_ts_t
      - name: rkcg_last_err
        type: rd_kafka_resp_err_t
      - name: rkcg_offset_commit_tmr
        type: rd_kafka_timer_t
      - name: rkcg_max_poll_interval_tmr
        type: rd_kafka_timer_t
      - name: '*rkcg_rk'
        type: rd_kafka_t
      - name: '*rkcg_reply_rko'
        type: rd_kafka_op_t
      - name: rkcg_ts_terminate
        type: rd_ts_t
      - name: rkcg_terminated
        type: rd_atomic32_t
      - name: rkcg_subscription_version
        type: rd_atomic32_t
      - name: rkcg_c
        type: "struct {\n                rd_ts_t ts_rebalance;       /* Timestamp
          of\n                                             * last rebalance */\n                int
          rebalance_cnt;          /* Number of\n                                               rebalances
          */\n                char rebalance_reason[256]; /**< Last rebalance\n                                             *
          \  reason */\n                int assignment_size;        /* Partition count\n
          \                                            * of last rebalance\n                                             *
          assignment */\n        }"
      - name: rkcg_ts_rebalance_start
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_cgrp_s
      pos:
        line_end: 379
        line_start: 54
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
    - fields:
      - name: '*group_id'
        type: char
      - name: generation_id
        type: int32_t
      - name: '*member_id'
        type: char
      - name: '*group_instance_id'
        type: char
      item_type: struct
      name: rd_kafka_consumer_group_metadata_s
      pos:
        line_end: 456
        line_start: 451
        source_file: /src/librdkafka/src/rdkafka_cgrp.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_zstd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_fetcher.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_headers_serialized_size
  source_file: /src/librdkafka/src/rdkafka_header.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rkhdrs_list
        type: rd_list_t
      - name: rkhdrs_ser_size
        type: size_t
      item_type: struct
      name: rd_kafka_headers_s
      pos:
        line_end: 40
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_header.h
    - fields:
      - name: rkhdr_ser_size
        type: size_t
      - name: rkhdr_value_size
        type: size_t
      - name: rkhdr_name_size
        type: size_t
      - name: '*rkhdr_value'
        type: char
      - name: rkhdr_name[1]
        type: char
      item_type: struct
      name: rd_kafka_header_s
      pos:
        line_end: 64
        line_start: 54
        source_file: /src/librdkafka/src/rdkafka_header.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_cgrp_assignment_is_lost
  - rd_kafka_cgrp_assignment_set_lost
  - rd_kafka_cgrp_assignment_clear_lost
  - rd_kafka_cgrp_rebalance_protocol
  - rd_kafka_cgrp_awaiting_response
  - rd_kafka_cgrp_set_wait_resp
  - rd_kafka_cgrp_clear_wait_resp
  - rd_kafka_cgrp_serve_timer_cb
  - PartitionMemberInfo_new
  - PartitionMemberInfo_free
  - RD_KAFKA_CGRP_HAS_JOINED_CLASSIC
  - RD_KAFKA_CGRP_HAS_JOINED_CONSUMER
  - RD_KAFKA_CGRP_HAS_JOINED
  - RD_KAFKA_CGRP_WAIT_ASSIGN_CALL
  - RD_KAFKA_CGRP_REBALANCING
  - rd_kafka_cgrp_set_state
  - rd_kafka_cgrp_set_last_err
  - rd_kafka_cgrp_clear_last_err
  - rd_kafka_cgrp_maybe_clear_heartbeat_failed_err
  - rd_kafka_cgrp_set_join_state
  - rd_kafka_cgrp_destroy_final
  - rd_kafka_cgrp_update_session_timeout
  - rd_kafka_cgrp_new
  - rd_kafka_cgrp_coord_set_broker
  - rd_kafka_cgrp_coord_clear_broker
  - rd_kafka_cgrp_coord_update
  - rd_kafka_cgrp_handle_FindCoordinator
  - rd_kafka_cgrp_coord_query
  - rd_kafka_cgrp_coord_dead
  - rd_kafka_cgrp_get_coord
  - rd_kafka_cgrp_will_leave
  - rd_kafka_cgrp_consumer_will_rejoin
  - rd_kafka_cgrp_consumer_subscription_preconditions_met
  - rd_kafka_cgrp_consumer_apply_next_subscribe
  - rd_kafka_cgrp_handle_LeaveGroup
  - rd_kafka_cgrp_consumer_reset
  - rd_kafka_cgrp_handle_ConsumerGroupHeartbeat_leave
  - rd_kafka_cgrp_consumer_leave
  - rd_kafka_cgrp_leave
  - rd_kafka_cgrp_leave_maybe
  - rd_kafka_rebalance_op_incr
  - rd_kafka_rebalance_op
  - rd_kafka_cgrp_consumer_rejoin
  - rd_kafka_cgrp_rejoin
  - rd_kafka_collect_partitions
  - rd_kafka_member_partitions_intersect
  - RD_MAP_FOREACH
  - rd_kafka_member_partitions_subtract
  - RD_MAP_FOREACH
  - rd_kafka_cooperative_protocol_adjust_assignment
  - RD_MAP_FOREACH
  - RD_MAP_FOREACH
  - RD_MAP_FOREACH
  - rd_kafka_cgrp_handle_SyncGroup_memberstate
  - rd_kafka_cgrp_handle_SyncGroup
  - rd_kafka_cgrp_assignor_run
  - rd_kafka_cgrp_assignor_handle_Metadata_op
  - rd_kafka_group_MemberMetadata_consumer_read
  - rd_kafka_cgrp_handle_JoinGroup
  - rd_kafka_cgrp_handle_Metadata_op
  - rd_kafka_cgrp_metadata_refresh
  - rd_kafka_cgrp_join
  - rd_kafka_cgrp_revoke_rejoin
  - rd_kafka_cgrp_update_subscribed_topics
  - rd_kafka_cgrp_consumer_is_new_assignment_different
  - rd_kafka_cgrp_consumer_handle_next_assignment
  - rd_kafka_cgrp_consumer_assignment_with_metadata
  - rd_kafka_cgrp_consumer_handle_Metadata_op
  - rd_kafka_cgrp_consumer_next_target_assignment_request_metadata
  - rd_kafka_cgrp_handle_ConsumerGroupHeartbeat
  - rd_kafka_cgrp_handle_Heartbeat
  - rd_kafka_cgrp_heartbeat
  - rd_kafka_cgrp_terminated
  - rd_kafka_cgrp_try_terminate
  - rd_kafka_cgrp_partition_add
  - rd_kafka_cgrp_partition_del
  - rd_kafka_cgrp_defer_offset_commit
  - rd_kafka_cgrp_consumer_defer_offset_commit
  - rd_kafka_cgrp_update_committed_offsets
  - rd_kafka_cgrp_propagate_commit_result
  - rd_kafka_cgrp_op_handle_OffsetCommit
  - rd_kafka_topic_partition_has_absolute_offset
  - rd_kafka_cgrp_offsets_commit
  - rd_kafka_cgrp_assigned_offsets_commit
  - rd_kafka_cgrp_offset_commit_tmr_cb
  - rd_kafka_trigger_waiting_subscribe_maybe
  - rd_kafka_cgrp_start_max_poll_interval_timer
  - rd_kafka_cgrp_incremental_assign
  - rd_kafka_cgrp_incremental_unassign
  - rd_kafka_cgrp_incr_unassign_done
  - rd_kafka_cgrp_unassign_done
  - rd_kafka_cgrp_assignment_done
  - rd_kafka_cgrp_unassign
  - rd_kafka_cgrp_assign
  - rd_kafka_toppar_list_to_toppar_member_info_map
  - rd_kafka_toppar_member_info_map_to_list
  - RD_MAP_FOREACH_KEY
  - rd_kafka_cgrp_handle_assignment_cooperative
  - rd_kafka_cgrp_group_assignment_set
  - rd_kafka_cgrp_group_assignment_modify
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_cgrp_handle_assignment
  - rd_kafka_cgrp_group_leader_reset
  - rd_kafka_cgrp_group_is_rebalancing
  - rd_kafka_cgrp_revoke_all_rejoin_maybe
  - rd_kafka_cgrp_revoke_all_rejoin
  - rd_kafka_cgrp_max_poll_interval_check_tmr_cb
  - rd_kafka_propagate_consumer_topic_errors
  - rd_kafka_cgrp_get_unsubscribing_topics
  - rd_kafka_cgrp_calculate_subscribe_revoking_partitions
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_cgrp_subscription_set
  - rd_kafka_cgrp_modify_subscription
  - rd_kafka_cgrp_consumer_unsubscribe
  - rd_kafka_cgrp_unsubscribe
  - rd_kafka_cgrp_subscribe
  - rd_kafka_cgrp_terminate0
  - rd_kafka_cgrp_terminate
  - rd_kafka_op_offset_commit_timeout_check
  - rd_kafka_cgrp_timeout_scan
  - rd_kafka_cgrp_handle_assign_op
  - rd_kafka_cgrp_session_timeout_check
  - rd_kafka_cgrp_apply_next_subscribe
  - rd_kafka_cgrp_join_state_serve
  - rd_kafka_cgrp_consumer_group_heartbeat
  - rd_kafka_cgrp_consumer_heartbeat_preconditions_met
  - rd_kafka_cgrp_consumer_serve
  - rd_kafka_cgrp_consumer_subscribe
  - rd_kafka_cgrp_consumer_incr_unassign_done
  - rd_kafka_cgrp_consumer_assignment_done
  - rd_kafka_cgrp_consumer_expedite_next_heartbeat
  - rd_kafka_cgrp_serve
  - rd_kafka_cgrp_op
  - rd_kafka_cgrp_op_serve
  - rd_kafka_cgrp_set_member_id
  - rd_kafka_cgrp_owned_but_not_exist_partitions
  - rd_kafka_cgrp_metadata_update_check
  - rd_kafka_consumer_group_metadata_new
  - rd_kafka_consumer_group_metadata_new_with_genid
  - rd_kafka_consumer_group_metadata
  - rd_kafka_consumer_group_metadata_group_id
  - rd_kafka_consumer_group_metadata_member_id
  - rd_kafka_consumer_group_metadata_group_instance_id
  - rd_kafka_consumer_group_metadata_generation_id
  - rd_kafka_consumer_group_metadata_destroy
  - rd_kafka_consumer_group_metadata_dup
  - rd_kafka_consumer_group_metadata_write
  - str_is_printable
  - rd_kafka_consumer_group_metadata_read
  - unittest_consumer_group_metadata_iteration
  - unittest_consumer_group_metadata
  - unittest_set_intersect
  - unittest_set_subtract
  - unittest_map_to_list
  - unittest_list_to_map
  - unittest_member_metadata_serdes
  - unittest_cgrp
  source_file: /src/librdkafka/src/rdkafka_cgrp.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*member'
        type: rd_kafka_group_member_t
      - name: members_match
        type: rd_bool_t
      item_type: struct
      name: PartitionMemberInfo_s
      pos:
        line_end: 240
        line_start: 237
        source_file: /src/librdkafka/src/rdkafka_cgrp.c
    - fields:
      - name: now
        type: rd_ts_t
      - name: '*rk'
        type: rd_kafka_t
      - name: expired
        type: rd_list_t
      item_type: struct
      name: _op_timeout_offset_commit
      pos:
        line_end: 5779
        line_start: 5775
        source_file: /src/librdkafka/src/rdkafka_cgrp.c
    typedefs:
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    PartitionMemberInfo_t
        *)"
      pos:
        line_end: 260
        line_start: 259
        source_file: /src/librdkafka/src/rdkafka_cgrp.c
      type: RD_MAP_TYPE
    union: []
- function_names:
  - rd_kafka_idemp_get_pid0
  - rd_kafka_idemp_get_pid
  - rd_kafka_idemp_drain_epoch_bump
  - rd_kafka_idemp_set_fatal_error
  source_file: /src/librdkafka/src/rdkafka_idempotence.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_IDEMP_MAX_INFLIGHT
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_idempotence.h
      type_or_value: '5'
    - item_type: preproc_def
      name: RD_KAFKA_IDEMP_MAX_INFLIGHT_STR
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_idempotence.h
      type_or_value: '"5" '
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_hdr_histogram_destroy
  - rd_hdr_histogram_new
  - rd_hdr_histogram_reset
  - rd_hdr_countsIndex
  - rd_hdr_getCountAtIndex
  - bitLen
  - rd_hdr_getBucketIndex
  - rd_hdr_getSubBucketIdx
  - rd_hdr_valueFromIndex
  - rd_hdr_sizeOfEquivalentValueRange
  - rd_hdr_lowestEquivalentValue
  - rd_hdr_nextNonEquivalentValue
  - rd_hdr_highestEquivalentValue
  - rd_hdr_medianEquivalentValue
  - rd_hdr_countsIndexFor
  - RD_HDR_ITER_INIT
  - rd_hdr_iter_next
  - rd_hdr_histogram_stddev
  - rd_hdr_histogram_max
  - rd_hdr_histogram_min
  - rd_hdr_histogram_mean
  - rd_hdr_histogram_record
  - rd_hdr_histogram_quantile
  - ut_high_sigfig
  - ut_quantile
  - ut_mean
  - ut_stddev
  - ut_totalcount
  - ut_max
  - ut_min
  - ut_reset
  - ut_nan
  - ut_sigfigs
  - ut_minmax_trackable
  - ut_unitmagnitude_overflow
  - ut_subbucketmask_overflow
  - unittest_rdhdrhistogram
  source_file: /src/librdkafka/src/rdhdrhistogram.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*hdr'
        type: rd_hdr_histogram_t
      - name: bucketIdx
        type: int
      - name: subBucketIdx
        type: int
      - name: countAtIdx
        type: int64_t
      - name: countToIdx
        type: int64_t
      - name: valueFromIdx
        type: int64_t
      - name: highestEquivalentValue
        type: int64_t
      item_type: struct
      name: rd_hdr_iter_s
      pos:
        line_end: 275
        line_start: 267
        source_file: /src/librdkafka/src/rdhdrhistogram.c
    - fields:
      - name: q
        type: double
      - name: v
        type: int64_t
      item_type: struct
      name: "exp[] = {\n            {50, 500223}, {75, 750079},   {90, 900095},    {95,
        950271},\n            {99, 990207}, {99.9, 999423}, {99.99, 999935},\n        }"
      pos:
        line_end: 476
        line_start: 473
        source_file: /src/librdkafka/src/rdhdrhistogram.c
    - fields:
      - name: q
        type: double
      - name: v
        type: int64_t
      item_type: struct
      name: "exp[] = {\n            {50, 33554431},\n            {83.33, 33554431},\n
        \           {83.34, 100663295},\n            {99, 100663295},\n        }"
      pos:
        line_end: 672
        line_start: 669
        source_file: /src/librdkafka/src/rdhdrhistogram.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdregex.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_regex_t
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/librdkafka/src/rdregex.h
      type: rd_regex_s
    union: []
- function_names:
  - rd_regex_destroy
  - rd_regex_comp
  - rd_regex_exec
  - rd_regex_match
  source_file: /src/librdkafka/src/rdregex.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: re
        type: regex_t
      item_type: struct
      name: rd_regex_s
      pos:
        line_end: 37
        line_start: 35
        source_file: /src/librdkafka/src/rdregex.c
    - fields:
      - name: '*re'
        type: Reprog
      item_type: struct
      name: rd_regex_s
      pos:
        line_end: 44
        line_start: 42
        source_file: /src/librdkafka/src/rdregex.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_mock.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_kafka_mock_cluster_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/librdkafka/src/rdkafka_mock.h
      type: rd_kafka_mock_cluster_s
    - item_type: typedef
      name: rd_kafka_mock_request_t
      pos:
        line_end: 455
        line_start: 455
        source_file: /src/librdkafka/src/rdkafka_mock.h
      type: rd_kafka_mock_request_s
    - item_type: typedef
      name: rd_kafka_mock_cgrp_consumer_target_assignment_t
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/librdkafka/src/rdkafka_mock.h
      type: rd_kafka_mock_cgrp_consumer_target_assignment_s
    union: []
- function_names:
  - rd_kafka_member_assigned_partitions_pair_new
  - rd_kafka_member_assigned_partitions_pair_destroy
  - rd_kafka_member_assigned_partitions_pair_cmp
  - rd_kafka_find_member_assigned_partitions_pair_by_member_id
  - rd_kafka_topic_assignment_state_new
  - rd_kafka_topic_assignment_state_destroy
  - rd_kafka_topic_assignment_state_cmp
  - rd_kafka_topic_assignment_state_rack_search
  - rd_kafka_assign_partition
  - rd_kafka_racks_match
  - rd_kafka_always
  - rd_kafka_assign_ranges
  - rd_kafka_assign_co_partitioned
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_range_assignor_assign_cb
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - ut_testOneConsumerNoTopic
  - ut_testOneConsumerNonexistentTopic
  - ut_testOneConsumerOneTopic
  - ut_testOnlyAssignsPartitionsFromSubscribedTopics
  - ut_testOneConsumerMultipleTopics
  - ut_testTwoConsumersOneTopicOnePartition
  - ut_testTwoConsumersOneTopicTwoPartitions
  - ut_testMultipleConsumersMixedTopicSubscriptions
  - ut_testTwoConsumersTwoTopicsSixPartitions
  - setupRackAwareAssignment0
  - setupRackAwareAssignment
  - verifyNonRackAwareAssignment
  - ut_testRackAwareAssignmentWithNonEqualSubscription
  - ut_testRackAwareAssignmentWithUniformPartitions
  - ut_testRackAwareAssignmentWithUniformPartitionsNonEqualSubscription
  - ut_testRackAwareAssignmentWithCoPartitioning0
  - ut_testRackAwareAssignmentWithCoPartitioning1
  - ut_testCoPartitionedAssignmentWithSameSubscription
  - rd_kafka_range_assignor_unittest
  - rd_kafka_range_assignor_init
  source_file: /src/librdkafka/src/rdkafka_range_assignor.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*member_id'
        type: rd_kafkap_str_t
      - name: '*assigned_partitions'
        type: rd_list_t
      item_type: struct
      name: rd_kafka_member_assigned_partitions_pair_t
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/librdkafka/src/rdkafka_range_assignor.c
    - fields:
      - name: '*topic'
        type: rd_kafka_assignor_topic_t
      - name: '*unassigned_partitions'
        type: rd_bool_t
      - name: unassigned_partitions_left
        type: size_t
      - name: '***partition_racks'
        type: char
      - name: '*racks_cnt'
        type: size_t
      - name: '*member_to_assigned_partitions'
        type: rd_list_t
      - name: num_partitions_per_consumer
        type: int
      - name: remaining_consumers_with_extra_partition
        type: int
      - name: needs_rack_aware_assignment
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_topic_assignment_state_t
      pos:
        line_end: 139
        line_start: 107
        source_file: /src/librdkafka/src/rdkafka_range_assignor.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_feature.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_MSGVER1
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_APIVERSION
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_BROKER_BALANCED_CONSUMER
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_THROTTLETIME
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_SASL_GSSAPI
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_SASL_HANDSHAKE
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_BROKER_GROUP_COORD
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_LZ4
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_OFFSET_TIME
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_MSGVER2
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x200'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_IDEMPOTENT_PRODUCER
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x400'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_ZSTD
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x800'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_SASL_AUTH_REQ
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_UNITTEST
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: RD_KAFKA_FEATURE_ALL
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdkafka_feature.h
      type_or_value: (0xffff & ~RD_KAFKA_FEATURE_UNITTEST)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdfnv1a.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_dl_error
  - rd_dl_open0
  - rd_dl_open
  - rd_dl_close
  - rd_dl_sym
  source_file: /src/librdkafka/src/rddl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_error.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: rd_kafka_resp_err_t
      - name: '*errstr'
        type: char
      - name: fatal
        type: rd_bool_t
      - name: retriable
        type: rd_bool_t
      - name: txn_requires_abort
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_error_s
      pos:
        line_end: 49
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_error.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_topic_keep_app
  - rd_kafka_topic_destroy_app
  - rd_kafka_topic_destroy_final
  - rd_kafka_topic_destroy
  - rd_kafka_topic_find_fl
  - rd_kafka_topic_find0_fl
  - rd_kafka_topic_find_by_topic_id
  - rd_kafka_topic_cmp_rkt
  - rd_kafka_lwtopic_destroy
  - rd_kafka_lwtopic_new
  - rd_kafka_topic_proper
  - rd_kafka_topic_new0
  - rd_kafka_topic_new
  - rd_kafka_topic_set_state
  - rd_kafka_topic_name
  - rd_kafka_toppar_broker_update
  - rd_kafka_toppar_leader_update
  - rd_kafka_toppar_delegate_to_leader
  - rd_kafka_toppar_forget_leader
  - rd_kafka_toppar_undelegate
  - rd_kafka_toppar_idemp_msgid_save
  - rd_kafka_toppar_idemp_msgid_restore
  - rd_kafka_topic_partition_cnt_update
  - rd_kafka_topic_propagate_notexists
  - rd_kafka_topic_assign_uas
  - rd_kafka_topic_set_notexists
  - rd_kafka_topic_set_exists
  - rd_kafka_topic_set_error
  - rd_kafka_topic_metadata_update
  - rd_kafka_topic_metadata_update2
  - rd_kafka_topic_get_all_partitions
  - rd_kafka_topic_partitions_remove
  - RD_LIST_FOREACH
  - rd_kafka_toppar_needs_query
  - rd_kafka_topic_scan_all
  - rd_kafka_topic_partition_available
  - rd_kafka_topic_opaque
  - rd_kafka_topic_info_cmp
  - rd_kafka_topic_info_topic_cmp
  - rd_kafka_topic_info_new
  - rd_kafka_topic_info_new_with_rack
  - rd_kafka_topic_info_destroy_free
  - rd_kafka_topic_match
  - rd_kafka_topic_leader_query0
  - rd_kafka_local_topics_to_list
  - rd_ut_kafka_topic_set_topic_exists
  source_file: /src/librdkafka/src/rdkafka_topic.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*str'
        type: char
      - name: '*part'
        type: void
      item_type: struct
      name: "part_map[] = {\n                    {\"random\", (void *)rd_kafka_msg_partitioner_random},\n
        \                   {\"consistent\", (void *)rd_kafka_msg_partitioner_consistent},\n
        \                   {\"consistent_random\",\n                     (void *)rd_kafka_msg_partitioner_consistent_random},\n
        \                   {\"murmur2\", (void *)rd_kafka_msg_partitioner_murmur2},\n
        \                   {\"murmur2_random\",\n                     (void *)rd_kafka_msg_partitioner_murmur2_random},\n
        \                   {\"fnv1a\", (void *)rd_kafka_msg_partitioner_fnv1a},\n
        \                   {\"fnv1a_random\",\n                     (void *)rd_kafka_msg_partitioner_fnv1a_random},\n
        \                   {NULL}}"
      pos:
        line_end: 369
        line_start: 366
        source_file: /src/librdkafka/src/rdkafka_topic.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_transport_close0
  - rd_kafka_transport_close
  - rd_kafka_transport_socket_sendmsg
  - rd_kafka_transport_socket_send0
  - rd_kafka_transport_socket_send
  - rd_kafka_transport_socket_recvmsg
  - rd_kafka_transport_socket_recv0
  - rd_kafka_transport_socket_recv
  - rd_kafka_transport_connect_done
  - rd_kafka_transport_send
  - rd_kafka_transport_recv
  - rd_kafka_transport_request_sent
  - rd_kafka_transport_framed_recv
  - rd_kafka_transport_post_connect_setup
  - rd_kafka_transport_connected
  - rd_kafka_transport_get_socket_error
  - rd_kafka_transport_io_event
  - rd_kafka_transport_wsa2events
  - rd_kafka_transport_events2wsa
  - rd_kafka_transport_get_wsa_events
  - rd_kafka_transport_io_serve_win32
  - rd_kafka_transport_new
  - rd_kafka_transport_connect
  - rd_kafka_transport_poll_set_wsa
  - rd_kafka_transport_poll_set
  - rd_kafka_transport_poll_clear
  - rd_kafka_transport_poll
  - rd_kafka_transport_set_blocked
  - rd_kafka_transport_term
  - rd_kafka_transport_init
  source_file: /src/librdkafka/src/rdkafka_transport.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MSG_DONTWAIT
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_transport.c
      type_or_value: MSG_NONBLOCK
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_MAP_FOREACH_ELEM
  - rd_map_iter
  - rd_map_iter_next
  - RD_MAP_TYPE
  - RD_MAP_INITIALIZER
  - RD_MAP_LOCAL_INITIALIZER
  - RD_MAP_INIT
  - RD_MAP_SET
  - RD_MAP_GET
  - RD_MAP_GET_OR_SET
  - RD_MAP_DELETE
  - RD_MAP_COPY
  - RD_MAP_CLEAR
  - RD_MAP_DESTROY
  - RD_MAP_DESTROY_AND_FREE
  - RD_MAP_FOREACH
  - RD_MAP_FOREACH_KEY
  - RD_MAP_CNT
  - RD_MAP_IS_EMPTY
  source_file: /src/librdkafka/src/rdmap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (rd_map_elem_s)
        type: LIST_ENTRY
      - name: (rd_map_elem_s)
        type: LIST_ENTRY
      - name: hash
        type: unsigned int
      - name: '*key'
        type: void
      - name: '*value'
        type: void
      item_type: struct
      name: rd_map_elem_s
      pos:
        line_end: 59
        line_start: 53
        source_file: /src/librdkafka/src/rdmap.h
    - fields:
      - name: '* p'
        type: LIST_HEAD
      - name: cnt
        type: int
      item_type: struct
      name: rd_map_buckets
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/librdkafka/src/rdmap.h
    - fields:
      - name: rmap_buckets
        type: struct rd_map_buckets
      - name: rmap_cnt
        type: int
      - name: (, rd_map_elem_s)
        type: LIST_HEAD
      - name: (*rmap_cmp)(const void *a, const void *b)
        type: int
      - name: (*rmap_hash)(const void *key)
        type: unsigned int
      - name: (*rmap_destroy_key)(void *key)
        type: void
      - name: (*rmap_destroy_value)(void *value)
        type: void
      - name: '*rmap_opaque'
        type: void
      item_type: struct
      name: rd_map_s
      pos:
        line_end: 88
        line_start: 74
        source_file: /src/librdkafka/src/rdmap.h
    typedefs:
    - item_type: typedef
      name: '*(rd_map_copy_t)(const void *key_or_value)'
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/librdkafka/src/rdmap.h
      type: void
    union: []
- function_names:
  - rd_kafka_get_legacy_ApiVersions
  - _VERMAP
  - rd_kafka_ApiVersion_is_queryable
  - rd_kafka_ApiVersion_check
  - rd_kafka_features_check
  - rd_kafka_ApiVersions_copy
  - rd_kafka_features2str
  - rd_ut_features_check_assert_features
  - rd_ut_features_check
  - unittest_feature
  source_file: /src/librdkafka/src/rdkafka_feature.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: feature
        type: int
      - name: depends[RD_KAFKAP__NUM]
        type: struct rd_kafka_ApiVersion
      item_type: struct
      name: rd_kafka_feature_map
      pos:
        line_end: 61
        line_start: 53
        source_file: /src/librdkafka/src/rdkafka_feature.c
    - fields:
      - name: '*pfx'
        type: char
      - name: '*apis'
        type: struct rd_kafka_ApiVersion
      - name: api_cnt
        type: size_t
      item_type: struct
      name: "vermap[] = {_VERMAP(\"0.9.0\", rd_kafka_ApiVersion_0_9_0),\n                      _VERMAP(\"0.8.2\",
        rd_kafka_ApiVersion_0_8_2),\n                      _VERMAP(\"0.8.1\", rd_kafka_ApiVersion_0_8_1),\n
        \                     _VERMAP(\"0.8.0\", rd_kafka_ApiVersion_0_8_0),\n                      {\"0.7.\",
        NULL}, /* Unsupported */\n                      {\"0.6.\", NULL}, /* Unsupported
        */\n                      _VERMAP(\"\", rd_kafka_ApiVersion_Queryable),\n
        \                     {NULL}}"
      pos:
        line_end: 305
        line_start: 301
        source_file: /src/librdkafka/src/rdkafka_feature.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_aux.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic'
        type: char
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*errstr'
        type: char
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_topic_result_s
      pos:
        line_end: 49
        line_start: 44
        source_file: /src/librdkafka/src/rdkafka_aux.h
    - fields:
      - name: '*group'
        type: char
      - name: '*error'
        type: rd_kafka_error_t
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_group_result_s
      pos:
        line_end: 71
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_aux.h
    - fields:
      - name: '*error'
        type: rd_kafka_error_t
      item_type: struct
      name: rd_kafka_acl_result_s
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/librdkafka/src/rdkafka_aux.h
    - fields:
      - name: id
        type: int
      - name: '*host'
        type: char
      - name: port
        type: uint16_t
      - name: '*rack'
        type: char
      item_type: struct
      name: rd_kafka_Node_s
      pos:
        line_end: 111
        line_start: 106
        source_file: /src/librdkafka/src/rdkafka_aux.h
    - fields:
      - name: '*topic_partition'
        type: rd_kafka_topic_partition_t
      - name: '*error'
        type: rd_kafka_error_t
      item_type: struct
      name: rd_kafka_topic_partition_result_s
      pos:
        line_end: 138
        line_start: 135
        source_file: /src/librdkafka/src/rdkafka_aux.h
    typedefs: []
    union: []
- function_names:
  - rd_strlcpy
  - RD_STR_ToF
  source_file: /src/librdkafka/src/rdstring.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*value'
        type: char
      - name: name[1]
        type: char
      item_type: struct
      name: rd_strtup_s
      pos:
        line_end: 65
        line_start: 62
        source_file: /src/librdkafka/src/rdstring.h
    typedefs: []
    union: []
- function_names:
  - be16toh
  - be32toh
  - be64toh
  - le64toh
  - le32toh
  - be16toh
  - be32toh
  - be64toh
  - le64toh
  - le32toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - htole16
  - htole64
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le16toh
  - le32toh
  - le64toh
  - be64toh
  - be32toh
  - be16toh
  - le32toh
  - le64toh
  - be32toh
  - be16toh
  - htobe64
  - htobe32
  - htobe16
  - htole32
  source_file: /src/librdkafka/src/rdendian.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: __LITTLE_ENDIAN
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/librdkafka/src/rdendian.h
      type_or_value: '1234'
    - item_type: preproc_def
      name: __BIG_ENDIAN
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/librdkafka/src/rdendian.h
      type_or_value: '4321'
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/librdkafka/src/rdendian.h
      type_or_value: __BIG_ENDIAN
    - item_type: preproc_def
      name: __BYTE_ORDER
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdendian.h
      type_or_value: __LITTLE_ENDIAN
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_txn_curr_api_set_result
  - rd_kafka_txn_normalize_err
  - 'rd_kafka_error_t *

    rd_kafka_ensure_transactional(const rd_kafka_t *rk)'
  - 'rd_kafka_error_t *

    rd_kafka_txn_require_states0(rd_kafka_t *rk, rd_kafka_txn_state_t states[])'
  - rd_kafka_txn_require_state
  - rd_kafka_txn_state_transition_is_valid
  - rd_kafka_txn_set_state
  - rd_kafka_txn_current_timeout
  - rd_kafka_txn_set_fatal_error
  - rd_kafka_txn_set_abortable_error0
  - rd_kafka_txn_op_req
  - rd_kafka_txn_op_req1
  - rd_kafka_txn_op_req0
  - rd_kafka_txn_curr_api_begin
  - rd_kafka_txn_curr_api_return
  - rd_kafka_txn_curr_api_return0
  - rd_kafka_txn_curr_api_set_result0
  - rd_kafka_txn_idemp_state_change
  - rd_kafka_txn_partition_registered
  - rd_kafka_txn_handle_AddPartitionsToTxn
  - rd_kafka_txn_register_partitions
  - rd_kafka_txn_register_partitions_tmr_cb
  - rd_kafka_txn_schedule_register_partitions
  - rd_kafka_txn_clear_partitions_flag
  - TAILQ_FOREACH_SAFE
  - rd_kafka_txn_clear_pending_partitions
  - rd_kafka_txn_clear_partitions
  - rd_kafka_txn_op_init_transactions
  - rd_kafka_txn_op_ack_init_transactions
  - rd_kafka_init_transactions
  - rd_kafka_txn_op_begin_transaction
  - rd_kafka_begin_transaction
  - rd_kafka_txn_handle_TxnOffsetCommit
  - rd_kafka_txn_send_TxnOffsetCommitRequest
  - rd_kafka_txn_handle_AddOffsetsToTxn
  - rd_kafka_txn_op_send_offsets_to_transaction
  - rd_kafka_send_offsets_to_transaction
  - rd_kafka_txn_complete
  - rd_kafka_txn_endtxn_complete
  - rd_kafka_txn_handle_EndTxn
  - rd_kafka_txn_op_commit_transaction
  - rd_kafka_txn_op_begin_commit
  - rd_kafka_txn_op_commit_transaction_ack
  - rd_kafka_commit_transaction
  - rd_kafka_txn_op_begin_abort
  - rd_kafka_txn_op_abort_transaction
  - rd_kafka_txn_op_abort_transaction_ack
  - rd_kafka_abort_transaction
  - rd_kafka_txn_coord_timer_cb
  - rd_kafka_txn_coord_timer_start
  - rd_kafka_txn_handle_FindCoordinator
  - rd_kafka_txn_coord_query
  - rd_kafka_txn_coord_set
  - rd_kafka_txn_coord_monitor_cb
  - rd_kafka_txns_term
  - rd_kafka_txns_init
  source_file: /src/librdkafka/src/rdkafka_txnmgr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdgz.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_ApiKey2str
  - rd_kafka_ApiVersion_key_cmp
  - RD_KAFKAP_STR_IS_NULL
  - RD_KAFKAP_STR_LEN0
  - RD_KAFKAP_STR_LEN
  - RD_KAFKAP_STR_SIZE0
  - RD_KAFKAP_STR_SIZE
  - RD_KAFKAP_STR_IS_SERIALIZED
  - RD_KAFKAP_STR_SER
  - RD_KAFKAP_STR_PR
  - RD_KAFKAP_STR_DUPA
  - RD_KAFKAP_STR_DUP
  - rd_kafkap_str_destroy
  - rd_kafkap_str_new
  - rd_kafkap_str_copy
  - rd_kafkap_str_cmp
  - rd_kafkap_str_cmp_str
  - rd_kafkap_str_cmp_str2
  - RD_KAFKAP_BYTES_IS_NULL
  - RD_KAFKAP_BYTES_LEN0
  - RD_KAFKAP_BYTES_LEN
  - RD_KAFKAP_BYTES_SIZE0
  - RD_KAFKAP_BYTES_SIZE
  - RD_KAFKAP_BYTES_IS_SERIALIZED
  - RD_KAFKAP_BYTES_SER
  - rd_kafkap_bytes_destroy
  - rd_kafkap_bytes_new
  - rd_kafkap_bytes_copy
  - rd_kafkap_bytes_cmp
  - rd_kafkap_bytes_cmp_data
  - RD_KAFKAP_MESSAGE_V2_MAX_OVERHEAD
  - RD_KAFKA_UUID_IS_ZERO
  - rd_kafka_Uuid_cmp
  - rd_kafka_Uuid_ptr_cmp
  - rd_list_Uuid_copy
  - rd_list_Uuid_destroy
  - rd_list_Uuid_cmp
  - rd_kafka_pid_valid
  - rd_kafka_pid_eq
  - rd_kafka_pid_cmp
  - rd_kafka_pid2str
  - rd_kafka_pid_reset
  - rd_kafka_pid_bump
  source_file: /src/librdkafka/src/rdkafka_proto.h
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_COORD_GROUP
        value: '0'
      - name: RD_KAFKA_COORD_TXN
        value: '1'
      item_type: enum
      name: rd_kafka_coordtype_t
      pos:
        line_end: 232
        line_start: 229
        source_file: /src/librdkafka/src/rdkafka_proto.h
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_REQUEST_DEFAULT_RETRIES
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RD_KAFKA_REQUEST_MAX_RETRIES
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: INT_MAX
    - item_type: preproc_def
      name: RD_KAFKA_REQUEST_NO_RETRIES
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_KAFKAP_REQHDR_SIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (4 + 2 + 2 + 4)
    - item_type: preproc_def
      name: RD_KAFKAP_RESHDR_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (4 + 4)
    - item_type: preproc_def
      name: RD_KAFKA_CTRL_MSG_ABORT
      pos:
        line_end: 223
        line_start: 222
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_KAFKA_CTRL_MSG_COMMIT
      pos:
        line_end: 224
        line_start: 223
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_KAFKAP_STR_LEN_NULL
      pos:
        line_end: 252
        line_start: 251
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RD_KAFKAP_STR_INITIALIZER
      pos:
        line_end: 285
        line_start: 283
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '{ .len = RD_KAFKAP_STR_LEN_NULL, .str = NULL }'
    - item_type: preproc_def
      name: RD_KAFKAP_STR_INITIALIZER_EMPTY
      pos:
        line_end: 288
        line_start: 286
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '{ .len = 0, .str = "" }'
    - item_type: preproc_def
      name: RD_KAFKAP_BYTES_LEN_NULL
      pos:
        line_end: 396
        line_start: 395
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RD_KAFKA_NODENAME_SIZE
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '256'
    - item_type: preproc_def
      name: RD_KAFKAP_MESSAGESET_V0_HDR_SIZE
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (8 + 4)
    - item_type: preproc_def
      name: RD_KAFKAP_MESSAGE_V0_HDR_SIZE
      pos:
        line_end: 514
        line_start: 513
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (4 + 1 + 1 + 4 + 4)
    - item_type: preproc_def
      name: RD_KAFKAP_MESSAGE_V1_HDR_SIZE
      pos:
        line_end: 516
        line_start: 515
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (4 + 1 + 1 + 8 + 4 + 4)
    - item_type: preproc_def
      name: RD_KAFKAP_MESSAGE_V0_OVERHEAD
      pos:
        line_end: 519
        line_start: 517
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (RD_KAFKAP_MESSAGESET_V0_HDR_SIZE + RD_KAFKAP_MESSAGE_V0_HDR_SIZE)
    - item_type: preproc_def
      name: RD_KAFKAP_MESSAGE_V1_OVERHEAD
      pos:
        line_end: 521
        line_start: 519
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: (RD_KAFKAP_MESSAGESET_V0_HDR_SIZE + RD_KAFKAP_MESSAGE_V1_HDR_SIZE)
    - item_type: preproc_def
      name: RD_KAFKA_UUID_ZERO
      pos:
        line_end: 596
        line_start: 592
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: "(rd_kafka_Uuid_t) {                                                    \\\n
        \               0, 0, \"\"                                                       \\\n
        \       }"
    - item_type: preproc_def
      name: RD_KAFKA_UUID_METADATA_TOPIC_ID
      pos:
        line_end: 604
        line_start: 600
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: "(rd_kafka_Uuid_t) {                                                    \\\n
        \               0, 1, \"\"                                                       \\\n
        \       }"
    - item_type: preproc_def
      name: RD_KAFKA_PID_INITIALIZER
      pos:
        line_end: 665
        line_start: 663
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type_or_value: '{ -1, -1 }'
    structs:
    - fields:
      - name: Size
        type: int32_t
      - name: ApiKey
        type: int16_t
      - name: ApiVersion
        type: int16_t
      - name: CorrId
        type: int32_t
      item_type: struct
      name: rd_kafkap_reqhdr
      pos:
        line_end: 64
        line_start: 58
        source_file: /src/librdkafka/src/rdkafka_proto.h
    - fields:
      - name: Size
        type: int32_t
      - name: CorrId
        type: int32_t
      item_type: struct
      name: rd_kafkap_reshdr
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/librdkafka/src/rdkafka_proto.h
    - fields:
      - name: ApiKey
        type: int16_t
      - name: MinVer
        type: int16_t
      - name: MaxVer
        type: int16_t
      item_type: struct
      name: rd_kafka_ApiVersion
      pos:
        line_end: 199
        line_start: 195
        source_file: /src/librdkafka/src/rdkafka_proto.h
    - fields:
      - name: len
        type: int
      - name: '*str'
        type: char
      item_type: struct
      name: rd_kafkap_str_s
      pos:
        line_end: 248
        line_start: 243
        source_file: /src/librdkafka/src/rdkafka_proto.h
    - fields:
      - name: len
        type: int32_t
      - name: '*data'
        type: void
      - name: _data[1]
        type: unsigned char
      item_type: struct
      name: rd_kafkap_bytes_s
      pos:
        line_end: 392
        line_start: 386
        source_file: /src/librdkafka/src/rdkafka_proto.h
    - fields:
      - name: id
        type: int64_t
      - name: epoch
        type: int16_t
      item_type: struct
      name: rd_kafka_pid_s
      pos:
        line_end: 661
        line_start: 658
        source_file: /src/librdkafka/src/rdkafka_proto.h
    typedefs:
    - item_type: typedef
      name: rd_kafka_buf_t
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/librdkafka/src/rdkafka_proto.h
      type: rd_kafka_buf_s
    union: []
- function_names:
  - rd_kafka_op2event
  - rd_kafka_event_setup
  source_file: /src/librdkafka/src/rdkafka_event.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_rkt_lw
  - rd_kafka_rkt_lw_const
  - rd_kafka_rkt_is_lw
  - rd_kafka_rkt_get_lw
  - rd_kafka_lwtopic_keep
  - rd_kafka_topic_rdlock
  - rd_kafka_topic_wrlock
  - rd_kafka_topic_rdunlock
  - rd_kafka_topic_wrunlock
  - rd_kafka_topic_keep
  - rd_kafka_topic_destroy0
  - rd_kafka_topic_find
  - rd_kafka_topic_find0
  - rd_kafka_topic_get_error
  - rd_kafka_topic_fast_leader_query
  source_file: /src/librdkafka/src/rdkafka_topic.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_TOPIC_F_LEADER_UNAVAIL
      pos:
        line_end: 174
        line_start: 171
        source_file: /src/librdkafka/src/rdkafka_topic.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: rd_false
      pos:
        line_end: 321
        line_start: 318
        source_file: /src/librdkafka/src/rdkafka_topic.h
      type_or_value: )
    structs:
    - fields:
      - name: lrkt_magic[4]
        type: char
      - name: '*lrkt_rk'
        type: rd_kafka_t
      - name: lrkt_refcnt
        type: rd_refcnt_t
      - name: '*lrkt_topic'
        type: char
      item_type: struct
      name: rd_kafka_lwtopic_s
      pos:
        line_end: 51
        line_start: 45
        source_file: /src/librdkafka/src/rdkafka_topic.h
    - fields:
      - name: (rd_kafka_partition_msgid_s)
        type: TAILQ_ENTRY
      - name: partition
        type: int32_t
      - name: pid
        type: rd_kafka_pid_t
      - name: msgid
        type: uint64_t
      - name: epoch_base_msgid
        type: uint64_t
      - name: ts
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_partition_msgid_s
      pos:
        line_end: 98
        line_start: 91
        source_file: /src/librdkafka/src/rdkafka_topic.h
    - fields:
      - name: partition_id
        type: int32_t
      - name: leader_epoch
        type: int32_t
      item_type: struct
      name: rd_kafka_partition_leader_epoch_s
      pos:
        line_end: 109
        line_start: 106
        source_file: /src/librdkafka/src/rdkafka_topic.h
    - fields:
      - name: '*topic'
        type: char
      - name: partition_cnt
        type: int
      - name: '*partitions_internal'
        type: rd_kafka_metadata_partition_internal_t
      item_type: struct
      name: rd_kafka_topic_info_s
      pos:
        line_end: 283
        line_start: 279
        source_file: /src/librdkafka/src/rdkafka_topic.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_mock_pid_cmp_pid
  - rd_kafka_mock_pid_cmp
  - rd_kafka_mock_connection_send_response
  - rd_kafka_mock_cluster_ApiVersion_check
  source_file: /src/librdkafka/src/rdkafka_mock_int.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: err
        type: rd_kafka_resp_err_t
      - name: rtt
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_mock_error_rtt_s
      pos:
        line_end: 46
        line_start: 43
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_error_stack_s)
        type: TAILQ_ENTRY
      - name: ApiKey
        type: int16_t
      - name: cnt
        type: size_t
      - name: size
        type: size_t
      - name: '*errs'
        type: rd_kafka_mock_error_rtt_t
      item_type: struct
      name: rd_kafka_mock_error_stack_s
      pos:
        line_end: 59
        line_start: 52
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: '*name'
        type: rd_kafkap_str_t
      - name: '*metadata'
        type: rd_kafkap_bytes_t
      item_type: struct
      name: rd_kafka_mock_cgrp_classic_proto_s
      pos:
        line_end: 72
        line_start: 69
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_cgrp_classic_member_s)
        type: TAILQ_ENTRY
      - name: '*id'
        type: char
      - name: '*group_instance_id'
        type: char
      - name: ts_last_activity
        type: rd_ts_t
      - name: '*protos'
        type: rd_kafka_mock_cgrp_classic_proto_t
      - name: proto_cnt
        type: int
      - name: '*assignment'
        type: rd_kafkap_bytes_t
      - name: '*resp'
        type: rd_kafka_buf_t
      - name: '*conn'
        type: struct rd_kafka_mock_connection_s
      item_type: struct
      name: rd_kafka_mock_cgrp_classic_member_s
      pos:
        line_end: 89
        line_start: 77
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_cgrp_classic_s)
        type: TAILQ_ENTRY
      - name: '*cluster'
        type: struct rd_kafka_mock_cluster_s
      - name: '*conn'
        type: struct rd_kafka_mock_connection_s
      - name: '*id'
        type: char
      - name: '*protocol_type'
        type: char
      - name: '*protocol_name'
        type: char
      - name: generation_id
        type: int32_t
      - name: session_timeout_ms
        type: int
      - name: state
        type: "enum {\n                RD_KAFKA_MOCK_CGRP_STATE_EMPTY,       /* No
          members */\n                RD_KAFKA_MOCK_CGRP_STATE_JOINING,     /* Members
          are joining */\n                RD_KAFKA_MOCK_CGRP_STATE_SYNCING,     /*
          Syncing assignments */\n                RD_KAFKA_MOCK_CGRP_STATE_REBALANCING,
          /* Rebalance triggered */\n                RD_KAFKA_MOCK_CGRP_STATE_UP,
          \         /* Group is operational */\n        }"
      - name: session_tmr
        type: rd_kafka_timer_t
      - name: rebalance_tmr
        type: rd_kafka_timer_t
      - name: (, rd_kafka_mock_cgrp_classic_member_s)
        type: TAILQ_HEAD
      - name: member_cnt
        type: int
      - name: last_member_cnt
        type: int
      - name: assignment_cnt
        type: int
      - name: '*leader'
        type: rd_kafka_mock_cgrp_classic_member_t
      item_type: struct
      name: rd_kafka_mock_cgrp_classic_s
      pos:
        line_end: 118
        line_start: 94
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_cgrp_consumer_s)
        type: TAILQ_ENTRY
      - name: '*cluster'
        type: struct rd_kafka_mock_cluster_s
      - name: '*id'
        type: char
      - name: group_epoch
        type: int32_t
      - name: session_timeout_ms
        type: int
      - name: session_tmr
        type: rd_kafka_timer_t
      - name: heartbeat_interval_ms
        type: int
      - name: (, rd_kafka_mock_cgrp_consumer_member_s)
        type: TAILQ_HEAD
      - name: member_cnt
        type: int
      - name: manual_assignment
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_mock_cgrp_consumer_s
      pos:
        line_end: 136
        line_start: 124
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_cgrp_consumer_member_s)
        type: TAILQ_ENTRY
      - name: '*id'
        type: char
      - name: '*instance_id'
        type: char
      - name: ts_last_activity
        type: rd_ts_t
      - name: current_member_epoch
        type: int32_t
      - name: target_member_epoch
        type: int32_t
      - name: '*current_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: "*\n            target_assignment"
        type: rd_kafka_topic_partition_list_t
      - name: '*returned_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*subscribed_topics'
        type: rd_list_t
      - name: '*subscribed_topic_names'
        type: rd_list_t
      - name: '*subscribed_topic_regex'
        type: char
      - name: left_static_membership
        type: rd_bool_t
      - name: '*conn'
        type: struct rd_kafka_mock_connection_s
      - name: '*mcgrp'
        type: rd_kafka_mock_cgrp_consumer_t
      item_type: struct
      name: rd_kafka_mock_cgrp_consumer_member_s
      pos:
        line_end: 179
        line_start: 142
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: pid
        type: rd_kafka_pid_t
      - name: window
        type: int8_t
      - name: lo
        type: int8_t
      - name: hi
        type: int8_t
      - name: seq[5]
        type: int32_t
      - name: TransactionalId[1]
        type: char
      item_type: struct
      name: rd_kafka_mock_pid_s
      pos:
        line_end: 195
        line_start: 185
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_connection_s)
        type: TAILQ_ENTRY
      - name: '*transport'
        type: rd_kafka_transport_t
      - name: '*rxbuf'
        type: rd_kafka_buf_t
      - name: outbufs
        type: rd_kafka_bufq_t
      - name: '*poll_events'
        type: short
      - name: peer
        type: struct sockaddr_in
      - name: '*broker'
        type: struct rd_kafka_mock_broker_s
      - name: write_tmr
        type: rd_kafka_timer_t
      item_type: struct
      name: rd_kafka_mock_connection_s
      pos:
        line_end: 250
        line_start: 240
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_broker_s)
        type: TAILQ_ENTRY
      - name: id
        type: int32_t
      - name: advertised_listener[128]
        type: char
      - name: sin
        type: struct sockaddr_in
      - name: port
        type: uint16_t
      - name: '*rack'
        type: char
      - name: up
        type: rd_bool_t
      - name: rtt
        type: rd_ts_t
      - name: listen_s
        type: rd_socket_t
      - name: (, rd_kafka_mock_connection_s)
        type: TAILQ_HEAD
      - name: errstacks
        type: rd_kafka_mock_error_stack_head_t
      - name: '*cluster'
        type: struct rd_kafka_mock_cluster_s
      item_type: struct
      name: rd_kafka_mock_broker_s
      pos:
        line_end: 275
        line_start: 256
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_msgset_s)
        type: TAILQ_ENTRY
      - name: first_offset
        type: int64_t
      - name: last_offset
        type: int64_t
      - name: leader_epoch
        type: int32_t
      - name: bytes
        type: rd_kafkap_bytes_t
      item_type: struct
      name: rd_kafka_mock_msgset_s
      pos:
        line_end: 288
        line_start: 281
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_committed_offset_s)
        type: TAILQ_ENTRY
      - name: '*group'
        type: char
      - name: offset
        type: int64_t
      - name: '*metadata'
        type: rd_kafkap_str_t
      item_type: struct
      name: rd_kafka_mock_committed_offset_s
      pos:
        line_end: 300
        line_start: 294
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_partition_leader_s)
        type: TAILQ_ENTRY
      - name: leader_id
        type: int32_t
      - name: leader_epoch
        type: int32_t
      item_type: struct
      name: rd_kafka_mock_partition_leader_s
      pos:
        line_end: 310
        line_start: 305
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_partition_s)
        type: TAILQ_ENTRY
      - name: id
        type: int32_t
      - name: leader_epoch
        type: int32_t
      - name: start_offset
        type: int64_t
      - name: end_offset
        type: int64_t
      - name: follower_start_offset
        type: int64_t
      - name: follower_end_offset
        type: int64_t
      - name: update_follower_start_offset
        type: rd_bool_t
      - name: update_follower_end_offset
        type: rd_bool_t
      - name: msgsets
        type: struct rd_kafka_mock_msgset_tailq_s
      - name: size
        type: size_t
      - name: cnt
        type: size_t
      - name: max_size
        type: size_t
      - name: max_cnt
        type: size_t
      - name: (, rd_kafka_mock_committed_offset_s)
        type: TAILQ_HEAD
      - name: '*leader'
        type: rd_kafka_mock_broker_t
      - name: '**replicas'
        type: rd_kafka_mock_broker_t
      - name: replica_cnt
        type: int
      - name: pidstates
        type: rd_list_t
      - name: follower_id
        type: int32_t
      - name: '*topic'
        type: struct rd_kafka_mock_topic_s
      - name: (, rd_kafka_mock_partition_leader_s)
        type: TAILQ_HEAD
      item_type: struct
      name: rd_kafka_mock_partition_s
      pos:
        line_end: 357
        line_start: 318
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_topic_s)
        type: TAILQ_ENTRY
      - name: '*name'
        type: char
      - name: id
        type: rd_kafka_Uuid_t
      - name: '*partitions'
        type: rd_kafka_mock_partition_t
      - name: partition_cnt
        type: int
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*cluster'
        type: struct rd_kafka_mock_cluster_s
      item_type: struct
      name: rd_kafka_mock_topic_s
      pos:
        line_end: 375
        line_start: 363
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: (rd_kafka_mock_coord_s)
        type: TAILQ_ENTRY
      - name: type
        type: rd_kafka_coordtype_t
      - name: '*key'
        type: char
      - name: broker_id
        type: int32_t
      item_type: struct
      name: rd_kafka_mock_coord_s
      pos:
        line_end: 385
        line_start: 380
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: MinVersion
        type: int16_t
      - name: MaxVersion
        type: int16_t
      - name: FlexVersion
        type: int16_t
      - name: (*cb)(rd_kafka_mock_connection_t *mconn, rd_kafka_buf_t *rkbuf)
        type: int
      item_type: struct
      name: rd_kafka_mock_api_handler
      pos:
        line_end: 399
        line_start: 394
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: partition_cnt
        type: int
      - name: replication_factor
        type: int
      - name: group_initial_rebalance_delay_ms
        type: int32_t
      - name: group_consumer_session_timeout_ms
        type: int
      - name: group_consumer_heartbeat_interval_ms
        type: int
      item_type: struct
      name: defaults
      pos:
        line_end: 469
        line_start: 460
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    - fields:
      - name: '*cb'
        type: rd_kafka_mock_io_handler_t
      - name: '*opaque'
        type: void
      item_type: struct
      name: '*handlers'
      pos:
        line_end: 475
        line_start: 472
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
    typedefs:
    - item_type: typedef
      name: "(rd_kafka_mock_error_stack_head_s,\n                   rd_kafka_mock_error_stack_s)"
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
      type: TAILQ_HEAD
    - item_type: typedef
      name: "(rd_kafka_mock_io_handler_t)(\n    struct rd_kafka_mock_cluster_s *mcluster,\n
        \   rd_socket_t fd,\n    int events,\n    void *opaque)"
      pos:
        line_end: 392
        line_start: 388
        source_file: /src/librdkafka/src/rdkafka_mock_int.h
      type: void
    union: []
- function_names:
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH_REVERSE
  - rd_list_cnt
  - rd_list_empty
  - rd_list_string_copy
  source_file: /src/librdkafka/src/rdlist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_LIST_F_ALLOCATED
      pos:
        line_end: 48
        line_start: 45
        source_file: /src/librdkafka/src/rdlist.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_LIST_F_SORTED
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/librdkafka/src/rdlist.h
      type_or_value: '0x2                      '
    - item_type: preproc_def
      name: RD_LIST_F_FIXED_SIZE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/src/rdlist.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_LIST_F_UNIQUE
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/librdkafka/src/rdlist.h
      type_or_value: '0x8              '
    structs:
    - fields:
      - name: rl_size
        type: int
      - name: rl_cnt
        type: int
      - name: '**rl_elems'
        type: void
      - name: (*rl_free_cb)(void *)
        type: void
      - name: rl_flags
        type: int
      - name: rl_elemsize
        type: int
      - name: '*rl_p'
        type: void
      item_type: struct
      name: rd_list_s
      pos:
        line_end: 60
        line_start: 39
        source_file: /src/librdkafka/src/rdlist.h
    typedefs:
    - item_type: typedef
      name: '*(rd_list_copy_cb_t)(const void *elem, void *opaque)'
      pos:
        line_end: 348
        line_start: 348
        source_file: /src/librdkafka/src/rdlist.h
      type: void
    union: []
- function_names:
  - rd_kafka_interceptor_method_destroy
  - rd_kafka_interceptor_failed
  - rd_kafka_interceptor_method_new
  - rd_kafka_interceptor_method_cmp
  - rd_kafka_interceptor_method_add
  - rd_kafka_interceptors_destroy
  - rd_kafka_interceptors_init
  - rd_kafka_conf_interceptor_ctor
  - rd_kafka_conf_interceptor_dtor
  - rd_kafka_conf_interceptor_copy
  - rd_kafka_interceptors_on_conf_set
  - rd_kafka_interceptors_on_conf_dup
  - rd_kafka_interceptors_on_conf_destroy
  - rd_kafka_interceptors_on_new
  - rd_kafka_interceptors_on_destroy
  - rd_kafka_interceptors_on_send
  - rd_kafka_interceptors_on_acknowledgement
  - rd_kafka_interceptors_on_acknowledgement_queue
  - RD_KAFKA_MSGQ_FOREACH
  - rd_kafka_interceptors_on_consume
  - rd_kafka_interceptors_on_commit
  - rd_kafka_interceptors_on_request_sent
  - rd_kafka_interceptors_on_response_received
  - rd_kafka_interceptors_on_thread_start
  - rd_kafka_interceptors_on_thread_exit
  - rd_kafka_interceptors_on_broker_state_change
  - rd_kafka_conf_interceptor_add_on_conf_set
  - rd_kafka_conf_interceptor_add_on_conf_dup
  - rd_kafka_conf_interceptor_add_on_conf_destroy
  - rd_kafka_conf_interceptor_add_on_new
  - rd_kafka_interceptor_add_on_destroy
  - rd_kafka_interceptor_add_on_send
  - rd_kafka_interceptor_add_on_acknowledgement
  - rd_kafka_interceptor_add_on_consume
  - rd_kafka_interceptor_add_on_commit
  - rd_kafka_interceptor_add_on_request_sent
  - rd_kafka_interceptor_add_on_response_received
  - rd_kafka_interceptor_add_on_thread_start
  - rd_kafka_interceptor_add_on_thread_exit
  - rd_kafka_interceptor_add_on_broker_state_change
  source_file: /src/librdkafka/src/rdkafka_interceptor.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: u
        type: "union {\n                rd_kafka_interceptor_f_on_conf_set_t *on_conf_set;\n
          \               rd_kafka_interceptor_f_on_conf_dup_t *on_conf_dup;\n                rd_kafka_interceptor_f_on_conf_destroy_t
          *on_conf_destroy;\n                rd_kafka_interceptor_f_on_new_t *on_new;\n
          \               rd_kafka_interceptor_f_on_destroy_t *on_destroy;\n                rd_kafka_interceptor_f_on_send_t
          *on_send;\n                rd_kafka_interceptor_f_on_acknowledgement_t *on_acknowledgement;\n
          \               rd_kafka_interceptor_f_on_consume_t *on_consume;\n                rd_kafka_interceptor_f_on_commit_t
          *on_commit;\n                rd_kafka_interceptor_f_on_request_sent_t *on_request_sent;\n
          \               rd_kafka_interceptor_f_on_response_received_t\n                    *on_response_received;\n
          \               rd_kafka_interceptor_f_on_thread_start_t *on_thread_start;\n
          \               rd_kafka_interceptor_f_on_thread_exit_t *on_thread_exit;\n
          \               rd_kafka_interceptor_f_on_broker_state_change_t\n                    *on_broker_state_change;\n
          \               void *generic; /* For easy assignment */\n\n        }"
      - name: '*ic_name'
        type: char
      - name: '*ic_opaque'
        type: void
      item_type: struct
      name: rd_kafka_interceptor_method_s
      pos:
        line_end: 58
        line_start: 35
        source_file: /src/librdkafka/src/rdkafka_interceptor.c
    typedefs: []
    union: []
- function_names:
  - clear_unit_test_data
  - decode_string
  - decode_key_value
  - decode_number_data_point
  - data_msg_callback
  - decode_metric
  - decode_scope_metrics
  - decode_resource_metrics
  - rd_kafka_snappy_decompress
  - rd_kafka_telemetry_uncompress_metrics_payload
  - rd_kafka_telemetry_decode_metrics
  - unit_test_telemetry_decoded_string
  - unit_test_telemetry_decoded_NumberDataPoint
  - unit_test_telemetry_decoded_int64
  - unit_test_telemetry_decoded_type
  - unit_test_telemetry_decode_error
  - unit_test_telemetry
  - unit_test_telemetry_set_connects
  - unit_test_telemetry_set_connects2
  - unit_test_telemetry_set_rtt
  - unit_test_telemetry_set_throttle_time
  - unit_test_telemetry_set_queue_time
  - unit_test_telemetry_set_produce_latency
  - unit_test_telemetry_set_coordinator_assigned_partitions
  - unit_test_telemetry_set_rebalance_latency
  - unit_test_telemetry_set_fetch_latency
  - unit_test_telemetry_set_poll_idle_ratio
  - unit_test_telemetry_set_commit_latency
  - unit_test_telemetry_gauge
  - unit_test_telemetry_sum
  - unittest_telemetry_decode
  source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
  types:
    enum:
    - enumerators:
      - name: STATE_LABELS
      - name: STATE_METRIC_DESCRIPTION
      - name: STATE_VERSION
      - name: STATE_METRIC_NAME
      - name: STATE_COMPLETE
      item_type: enum
      name: unit_test_string_decoding_state
      pos:
        line_end: 48
        line_start: 42
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
    preproc_defs:
    - item_type: preproc_def
      name: _NANOPB_STRING_DECODE_MAX_BUFFER_SIZE
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
      type_or_value: '1024'
    - item_type: preproc_def
      name: MAX_LABELS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
      type_or_value: '10'
    - item_type: preproc_def
      name: UNITTEST_MARKER
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
      type_or_value: '"unittest"'
    structs:
    - fields:
      - name: key[_NANOPB_STRING_DECODE_MAX_BUFFER_SIZE]
        type: char
      - name: value[_NANOPB_STRING_DECODE_MAX_BUFFER_SIZE]
        type: char
      item_type: struct
      name: unit_test_metric_label
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
    - fields:
      - name: type
        type: rd_kafka_telemetry_metric_type_t
      - name: current_field
        type: int32_t
      - name: labels[MAX_LABELS]
        type: struct unit_test_metric_label
      - name: label_count
        type: int
      - name: version[_NANOPB_STRING_DECODE_MAX_BUFFER_SIZE]
        type: char
      - name: metric_name[_NANOPB_STRING_DECODE_MAX_BUFFER_SIZE]
        type: char
      - name: metric_description[_NANOPB_STRING_DECODE_MAX_BUFFER_SIZE]
        type: char
      - name: metric_value_int
        type: int64_t
      - name: expected_metric_value_int
        type: int64_t
      - name: metric_value_double
        type: double
      - name: expected_metric_value_double
        type: double
      - name: int64_value
        type: int64_t
      - name: metric_time
        type: uint64_t
      - name: state
        type: enum unit_test_string_decoding_state
      - name: expecting_label_value
        type: bool
      item_type: struct
      name: unit_test_data
      pos:
        line_end: 71
        line_start: 55
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.c
    typedefs: []
    union: []
- function_names:
  - LIST_FOREACH
  - LIST_EMPTY
  - LIST_FIRST
  - LIST_NEXT
  - TAILQ_HEAD_INITIALIZER
  - TAILQ_INSERT_BEFORE
  - TAILQ_FOREACH
  - TAILQ_EMPTY
  - TAILQ_FIRST
  - TAILQ_NEXT
  - TAILQ_LAST
  - TAILQ_PREV
  - TAILQ_FOREACH_SAFE
  - TAILQ_FOREACH_REVERSE
  - TAILQ_CIRC_PREV
  - TAILQ_CIRC_NEXT
  - LIST_INSERT_SORTED
  - TAILQ_INSERT_SORTED
  - TAILQ_CONCAT_SORTED
  - TAILQ_PREPEND
  - TAILQ_INSERT_LIST
  - TAILQ_INSERT_LIST_BEFORE
  - SIMPLEQ_HEAD
  - SIMPLEQ_ENTRY
  - SIMPLEQ_FIRST
  - SIMPLEQ_REMOVE_HEAD
  - SIMPLEQ_INSERT_TAIL
  - SIMPLEQ_INIT
  - SIMPLEQ_INSERT_HEAD
  - SIMPLEQ_FOREACH
  - SIMPLEQ_INSERT_AFTER
  - SIMPLEQ_END
  - SIMPLEQ_NEXT
  - SIMPLEQ_HEAD_INITIALIZER
  - SIMPLEQ_EMPTY
  source_file: /src/librdkafka/src/rdsysqueue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - thrd_setname
  - thrd_is_current
  - cnd_wait_enter
  - cnd_wait_exit
  - cnd_timedwait_ms
  - cnd_timedwait_msp
  - cnd_timedwait_abs
  - rwlock_init
  - rwlock_destroy
  - rwlock_rdlock
  - rwlock_wrlock
  - rwlock_rdunlock
  - rwlock_wrunlock
  source_file: /src/librdkafka/src/tinycthread_extra.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/win32_config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WITH_SSL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_ZLIB
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_SNAPPY
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_ZSTD
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_CURL
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_OAUTHBEARER_OIDC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_ZSTD_STATIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_SASL_SCRAM
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_SASL_OAUTHBEARER
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: ENABLE_DEVEL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '0'
    - item_type: preproc_def
      name: WITH_PLUGINS
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: WITH_HDRHISTOGRAM
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '1'
    - item_type: preproc_def
      name: SOLIB_EXT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: '".dll"'
    - item_type: preproc_def
      name: BUILT_WITH
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/librdkafka/src/win32_config.h
      type_or_value: "\"SSL ZLIB SNAPPY ZSTD CURL SASL_SCRAM SASL_OAUTHBEARER PLUGINS
        \"       \\\n        \"HDRHISTOGRAM\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_pattern_destroy
  - rd_kafka_pattern_add
  - rd_kafka_pattern_new
  - rd_kafka_pattern_match
  - rd_kafka_pattern_list_append
  - rd_kafka_pattern_list_remove
  - rd_kafka_pattern_list_parse
  - rd_kafka_pattern_list_clear
  - rd_kafka_pattern_list_destroy
  - rd_kafka_pattern_list_init
  - rd_kafka_pattern_list_new
  - rd_kafka_pattern_list_copy
  source_file: /src/librdkafka/src/rdkafka_pattern.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_SOCKADDR_INX_LEN
  - RD_SOCKADDR_INX_PORT
  - RD_SOCKADDR_INX_PORT_SET
  - 'rd_sockaddr_inx_t *

    rd_sockaddr_list_next(rd_sockaddr_list_t *rsal)'
  - RD_SOCKADDR_LIST_FOREACH
  - rd_family2str
  source_file: /src/librdkafka/src/rdaddr.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: sinx_family
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: in.sin_family
    - item_type: preproc_def
      name: sinx_addr
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: in.sin_addr
    - item_type: preproc_def
      name: RD_SOCKADDR2STR_F_PORT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_SOCKADDR2STR_F_RESOLVE
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: '0x2                          '
    - item_type: preproc_def
      name: RD_SOCKADDR2STR_F_FAMILY
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_SOCKADDR2STR_F_NICE
      pos:
        line_end: 90
        line_start: 88
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: (RD_SOCKADDR2STR_F_PORT | RD_SOCKADDR2STR_F_RESOLVE)
    - item_type: preproc_def
      name: RD_AI_NOSHUFFLE
      pos:
        line_end: 157
        line_start: 153
        source_file: /src/librdkafka/src/rdaddr.h
      type_or_value: '0x10000000 '
    structs:
    - fields:
      - name: rsal_cnt
        type: int
      - name: rsal_curr
        type: int
      - name: rsal_addr[]
        type: rd_sockaddr_inx_t
      item_type: struct
      name: rd_sockaddr_list_s
      pos:
        line_end: 110
        line_start: 106
        source_file: /src/librdkafka/src/rdaddr.h
    typedefs: []
    union:
    - fields:
      - name: in
        type: struct sockaddr_in
      - name: in6
        type: struct sockaddr_in6
      item_type: union
      name: rd_sockaddr_inx_t
      pos:
        line_end: 52
        line_start: 49
        source_file: /src/librdkafka/src/rdaddr.h
- function_names:
  - rd_http_error_destroy
  - rd_http_error_new
  - rd_http_error_new_from_buf
  - rd_http_req_destroy
  - rd_http_req_write_cb
  - rd_http_ssl_ctx_function
  - rd_http_ssl_configure
  - rd_http_is_failure_temporary
  - rd_http_req_init
  - rd_http_req_perform_sync
  - rd_http_req_get_code
  - rd_http_req_get_content_type
  - rd_http_get
  - rd_http_parse_json
  - rd_http_post_expect_json
  - rd_http_get_params_append
  - rd_http_get_json
  - rd_http_global_init
  - unittest_http_get
  - cJSON_ArrayForEach
  - unittest_http_get_params_append
  - unittest_http
  source_file: /src/librdkafka/src/rdhttp.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_HTTP_RESPONSE_SIZE_MAX
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/rdhttp.c
      type_or_value: '1024 * 1024 * 500 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_sasl_oauthbearer_token_free
  - rd_kafka_oauthbearer_refresh_op
  - rd_kafka_oauthbearer_enqueue_token_refresh
  - rd_kafka_oauthbearer_enqueue_token_refresh_if_necessary
  - rd_kafka_oauthbearer_has_token
  - check_oauthbearer_extension_key
  - check_oauthbearer_extension_value
  - rd_kafka_oauthbearer_set_token0
  - rd_kafka_oauthbearer_set_token_failure0
  - parse_ujws_config_value_for_prefix
  - parse_ujws_config
  - create_jws_compact_serialization
  - rd_kafka_oauthbearer_unsecured_token0
  - rd_kafka_oauthbearer_unsecured_token
  - rd_kafka_sasl_oauthbearer_close
  - rd_kafka_sasl_oauthbearer_build_client_first_message
  - rd_kafka_sasl_oauthbearer_fsm
  - rd_kafka_sasl_oauthbearer_recv
  - rd_kafka_sasl_oauthbearer_client_new
  - rd_kafka_sasl_oauthbearer_token_refresh_tmr_cb
  - rd_kafka_sasl_oauthbearer_init
  - rd_kafka_sasl_oauthbearer_term
  - rd_kafka_sasl_oauthbearer_ready
  - rd_kafka_sasl_oauthbearer_conf_validate
  - do_unittest_config_defaults
  - do_unittest_config_explicit_scope_and_life
  - do_unittest_config_all_explicit_values
  - do_unittest_config_no_principal_should_fail
  - do_unittest_config_empty_should_fail
  - do_unittest_config_unrecognized_should_fail
  - do_unittest_config_empty_value_should_fail
  - do_unittest_config_value_with_quote_should_fail
  - do_unittest_config_extensions
  - do_unittest_illegal_extension_keys_should_fail
  - do_unittest_odd_extension_size_should_fail
  - unittest_sasl_oauthbearer
  source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: rwlock_t
      - name: '*token_value'
        type: char
      - name: wts_md_lifetime
        type: rd_ts_t
      - name: wts_refresh_after
        type: rd_ts_t
      - name: wts_enqueued_refresh
        type: rd_ts_t
      - name: '*md_principal_name'
        type: char
      - name: extensions
        type: rd_list_t
      - name: '*errstr'
        type: char
      - name: '*rk'
        type: rd_kafka_t
      - name: token_refresh_tmr
        type: rd_kafka_timer_t
      - name: '*callback_q'
        type: rd_kafka_q_t
      - name: internal_refresh
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_sasl_oauthbearer_handle_s
      pos:
        line_end: 96
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    - fields:
      - name: '*principal_claim_name'
        type: char
      - name: '*principal'
        type: char
      - name: '*scope_claim_name'
        type: char
      - name: '*scope_csv_text'
        type: char
      - name: life_seconds
        type: int
      - name: extensions
        type: rd_list_t
      item_type: struct
      name: rd_kafka_sasl_oauthbearer_parsed_ujws
      pos:
        line_end: 109
        line_start: 102
        source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    - fields:
      - name: '*token_value'
        type: char
      - name: md_lifetime_ms
        type: int64_t
      - name: '*md_principal_name'
        type: char
      - name: '**extensions'
        type: char
      - name: extension_size
        type: size_t
      item_type: struct
      name: rd_kafka_sasl_oauthbearer_token
      pos:
        line_end: 120
        line_start: 114
        source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    - fields:
      - name: state
        type: "enum {\n                RD_KAFKA_SASL_OAUTHB_STATE_SEND_CLIENT_FIRST_MESSAGE,\n
          \               RD_KAFKA_SASL_OAUTHB_STATE_RECV_SERVER_FIRST_MSG,\n                RD_KAFKA_SASL_OAUTHB_STATE_RECV_SERVER_MSG_AFTER_FAIL,\n
          \       }"
      - name: '*server_error_msg'
        type: char
      - name: '*token_value'
        type: char
      - name: '*md_principal_name'
        type: char
      - name: extensions
        type: rd_list_t
      item_type: struct
      name: rd_kafka_sasl_oauthbearer_state
      pos:
        line_end: 141
        line_start: 125
        source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_offset2str
  - rd_kafka_offset_file_close
  - rd_kafka_open_cb_linux
  - rd_kafka_open_cb_generic
  - rd_kafka_offset_file_open
  - rd_kafka_offset_file_read
  - rd_kafka_offset_file_sync
  - rd_kafka_offset_file_commit
  - rd_kafka_commit0
  - rd_kafka_commit
  - rd_kafka_commit_message
  - rd_kafka_commit_queue
  - rd_kafka_offset_broker_commit_cb
  - rd_kafka_offset_broker_commit
  - rd_kafka_offset_commit
  - rd_kafka_offset_sync
  - rd_kafka_offset_store
  - rd_kafka_offsets_store
  - rd_kafka_offset_store_message
  - rd_kafka_offset_file_term
  - rd_kafka_offset_reset_op_cb
  - rd_kafka_offset_reset
  - rd_kafka_offset_validate_tmr_cb
  - rd_kafka_toppar_handle_OffsetForLeaderEpoch
  - rd_kafka_offset_validate_op_cb
  - rd_kafka_offset_validate
  - mk_esc_filename
  - rd_kafka_offset_sync_tmr_cb
  - rd_kafka_offset_file_init
  - rd_kafka_offset_broker_term
  - rd_kafka_offset_broker_init
  - rd_kafka_offset_store_term
  - rd_kafka_offset_store_stop
  - rd_kafka_offset_auto_commit_tmr_cb
  - rd_kafka_offset_query_tmr_cb
  - rd_kafka_offset_store_init
  - rd_kafka_update_app_pos
  source_file: /src/librdkafka/src/rdkafka_offset.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_admin.h
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_CONFIG_RESOURCE_UNKNOWN
        value: '0'
      - name: RD_KAFKA_CONFIG_RESOURCE_GROUP
        value: '32'
      - name: RD_KAFKA_CONFIG_RESOURCE_BROKER
        value: '4'
      - name: RD_KAFKA_CONFIG_RESOURCE_TOPIC
        value: '2'
      item_type: enum
      name: rd_kafka_ConfigResourceType_t
      pos:
        line_end: 293
        line_start: 288
        source_file: /src/librdkafka/src/rdkafka_admin.h
    preproc_defs: []
    structs:
    - fields:
      - name: for_api
        type: rd_kafka_admin_op_t
      - name: request_timeout
        type: rd_kafka_confval_t
      - name: abs_timeout
        type: rd_ts_t
      - name: operation_timeout
        type: rd_kafka_confval_t
      - name: validate_only
        type: rd_kafka_confval_t
      - name: broker
        type: rd_kafka_confval_t
      - name: require_stable_offsets
        type: rd_kafka_confval_t
      - name: include_authorized_operations
        type: rd_kafka_confval_t
      - name: match_consumer_group_states
        type: rd_kafka_confval_t
      - name: match_consumer_group_types
        type: rd_kafka_confval_t
      - name: isolation_level
        type: rd_kafka_confval_t
      - name: opaque
        type: rd_kafka_confval_t
      item_type: struct
      name: rd_kafka_AdminOptions_s
      pos:
        line_end: 131
        line_start: 58
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*topic'
        type: char
      - name: num_partitions
        type: int
      - name: replication_factor
        type: int
      - name: replicas
        type: rd_list_t
      - name: config
        type: rd_list_t
      item_type: struct
      name: rd_kafka_NewTopic_s
      pos:
        line_end: 154
        line_start: 142
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: topics
        type: rd_list_t
      item_type: struct
      name: rd_kafka_DeleteTopics_result_s
      pos:
        line_end: 169
        line_start: 167
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*topic'
        type: char
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_DeleteTopic_s
      pos:
        line_end: 175
        line_start: 171
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: topics
        type: rd_list_t
      item_type: struct
      name: rd_kafka_CreatePartitions_result_s
      pos:
        line_end: 192
        line_start: 190
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*topic'
        type: char
      - name: total_cnt
        type: size_t
      - name: replicas
        type: rd_list_t
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_NewPartitions_s
      pos:
        line_end: 208
        line_start: 194
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*kv'
        type: rd_strtup_t
      - name: a
        type: "struct {\n                /** Operation type, used for IncrementalAlterConfigs
          */\n                rd_kafka_AlterConfigOpType_t op_type;\n                rd_kafka_ConfigSource_t
          source; /**< Config source */\n                rd_bool_t is_readonly;  /**<
          Value is read-only (on broker) */\n                rd_bool_t is_default;
          \  /**< Value is at its default */\n                rd_bool_t is_sensitive;
          /**< Value is sensitive */\n                rd_bool_t is_synonym;   /**<
          Value is synonym */\n        }"
      - name: synonyms
        type: rd_list_t
      item_type: struct
      name: rd_kafka_ConfigEntry_s
      pos:
        line_end: 236
        line_start: 219
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: restype
        type: rd_kafka_ResourceType_t
      - name: '*name'
        type: char
      - name: config
        type: rd_list_t
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*errstr'
        type: char
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_ConfigResource_s
      pos:
        line_end: 258
        line_start: 246
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: resources
        type: rd_list_t
      item_type: struct
      name: rd_kafka_AlterConfigs_result_s
      pos:
        line_end: 273
        line_start: 271
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: resources
        type: rd_list_t
      item_type: struct
      name: rd_kafka_IncrementalAlterConfigs_result_s
      pos:
        line_end: 277
        line_start: 275
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: resources
        type: rd_list_t
      item_type: struct
      name: rd_kafka_ConfigResource_result_s
      pos:
        line_end: 283
        line_start: 279
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: configs
        type: rd_list_t
      item_type: struct
      name: rd_kafka_DescribeConfigs_result_s
      pos:
        line_end: 328
        line_start: 326
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group'
        type: char
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_DeleteGroup_s
      pos:
        line_end: 343
        line_start: 339
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*offsets'
        type: rd_kafka_topic_partition_list_t
      item_type: struct
      name: rd_kafka_DeleteRecords_s
      pos:
        line_end: 355
        line_start: 353
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: groups
        type: rd_list_t
      item_type: struct
      name: rd_kafka_ListConsumerGroupOffsets_result_s
      pos:
        line_end: 369
        line_start: 367
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group_id'
        type: char
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_ListConsumerGroupOffsets_s
      pos:
        line_end: 376
        line_start: 371
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: groups
        type: rd_list_t
      item_type: struct
      name: rd_kafka_AlterConsumerGroupOffsets_result_s
      pos:
        line_end: 390
        line_start: 388
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group_id'
        type: char
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_AlterConsumerGroupOffsets_s
      pos:
        line_end: 397
        line_start: 392
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: groups
        type: rd_list_t
      item_type: struct
      name: rd_kafka_DeleteConsumerGroupOffsets_result_s
      pos:
        line_end: 411
        line_start: 409
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group'
        type: char
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      - name: data[1]
        type: char
      item_type: struct
      name: rd_kafka_DeleteConsumerGroupOffsets_s
      pos:
        line_end: 418
        line_start: 413
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*topic_partition'
        type: rd_kafka_topic_partition_t
      - name: timestamp
        type: int64_t
      item_type: struct
      name: rd_kafka_ListOffsetsResultInfo_s
      pos:
        line_end: 433
        line_start: 430
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: restype
        type: rd_kafka_ResourceType_t
      - name: '*name'
        type: char
      - name: resource_pattern_type
        type: rd_kafka_ResourcePatternType_t
      - name: '*principal'
        type: char
      - name: '*host'
        type: char
      - name: operation
        type: rd_kafka_AclOperation_t
      - name: permission_type
        type: rd_kafka_AclPermissionType_t
      - name: '*error'
        type: rd_kafka_error_t
      item_type: struct
      name: rd_kafka_AclBinding_s
      pos:
        line_end: 459
        line_start: 448
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*error'
        type: rd_kafka_error_t
      - name: matching_acls
        type: rd_list_t
      item_type: struct
      name: rd_kafka_DeleteAcls_result_response_s
      pos:
        line_end: 473
        line_start: 470
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group_id'
        type: char
      - name: is_simple_consumer_group
        type: rd_bool_t
      - name: state
        type: rd_kafka_consumer_group_state_t
      - name: type
        type: rd_kafka_consumer_group_type_t
      item_type: struct
      name: rd_kafka_ConsumerGroupListing_s
      pos:
        line_end: 491
        line_start: 485
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: valid
        type: rd_list_t
      - name: errors
        type: rd_list_t
      item_type: struct
      name: rd_kafka_ListConsumerGroupsResult_s
      pos:
        line_end: 501
        line_start: 497
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      item_type: struct
      name: rd_kafka_MemberAssignment_s
      pos:
        line_end: 517
        line_start: 514
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*client_id'
        type: char
      - name: '*consumer_id'
        type: char
      - name: '*group_instance_id'
        type: char
      - name: '*host'
        type: char
      - name: assignment
        type: rd_kafka_MemberAssignment_t
      - name: '*target_assignment'
        type: rd_kafka_MemberAssignment_t
      item_type: struct
      name: rd_kafka_MemberDescription_s
      pos:
        line_end: 532
        line_start: 523
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*group_id'
        type: char
      - name: is_simple_consumer_group
        type: rd_bool_t
      - name: members
        type: rd_list_t
      - name: '*protocol_type'
        type: char
      - name: '*partition_assignor'
        type: char
      - name: state
        type: rd_kafka_consumer_group_state_t
      - name: type
        type: rd_kafka_consumer_group_type_t
      - name: '*coordinator'
        type: rd_kafka_Node_t
      - name: authorized_operations_cnt
        type: int
      - name: '*authorized_operations'
        type: rd_kafka_AclOperation_t
      - name: '*error'
        type: rd_kafka_error_t
      item_type: struct
      name: rd_kafka_ConsumerGroupDescription_s
      pos:
        line_end: 563
        line_start: 537
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '**topics'
        type: char
      - name: topics_cnt
        type: size_t
      item_type: struct
      name: rd_kafka_TopicCollection_s
      pos:
        line_end: 579
        line_start: 576
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: partition
        type: int
      - name: '*leader'
        type: rd_kafka_Node_t
      - name: isr_cnt
        type: size_t
      - name: '**isr'
        type: rd_kafka_Node_t
      - name: replica_cnt
        type: size_t
      - name: '**replicas'
        type: rd_kafka_Node_t
      item_type: struct
      name: rd_kafka_TopicPartitionInfo_s
      pos:
        line_end: 592
        line_start: 585
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*topic'
        type: char
      - name: topic_id
        type: rd_kafka_Uuid_t
      - name: partition_cnt
        type: int
      - name: is_internal
        type: rd_bool_t
      - name: '**partitions'
        type: rd_kafka_TopicPartitionInfo_t
      - name: '*error'
        type: rd_kafka_error_t
      - name: authorized_operations_cnt
        type: int
      - name: '*authorized_operations'
        type: rd_kafka_AclOperation_t
      item_type: struct
      name: rd_kafka_TopicDescription_s
      pos:
        line_end: 610
        line_start: 597
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: '*cluster_id'
        type: char
      - name: '*controller'
        type: rd_kafka_Node_t
      - name: node_cnt
        type: size_t
      - name: '**nodes'
        type: rd_kafka_Node_t
      - name: authorized_operations_cnt
        type: int
      - name: '*authorized_operations'
        type: rd_kafka_AclOperation_t
      item_type: struct
      name: rd_kafka_ClusterDescription_s
      pos:
        line_end: 633
        line_start: 621
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: election_type
        type: rd_kafka_ElectionType_t
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      item_type: struct
      name: rd_kafka_ElectLeaders_s
      pos:
        line_end: 649
        line_start: 645
        source_file: /src/librdkafka/src/rdkafka_admin.h
    - fields:
      - name: partitions
        type: rd_list_t
      item_type: struct
      name: rd_kafka_ElectLeadersResult_s
      pos:
        line_end: 656
        line_start: 654
        source_file: /src/librdkafka/src/rdkafka_admin.h
    typedefs:
    - item_type: typedef
      name: rd_kafka_broker_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/librdkafka/src/rdkafka_admin.h
      type: rd_kafka_broker_s
    union: []
- function_names:
  - LZ4F_DEPRECATE
  - LZ4F_DEPRECATE
  - LZ4F_DEPRECATE
  - LZ4F_DEPRECATE
  - LZ4F_OBSOLETE_ENUM
  - LZ4F_LIST_ERRORS
  - LZ4F_GENERATE_ENUM
  source_file: /src/librdkafka/src/lz4frame.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4FLIB_VISIBILITY
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: __attribute__ ((visibility ("default")))
    - item_type: preproc_def
      name: LZ4FLIB_API
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: __declspec(dllexport) LZ4FLIB_VISIBILITY
    - item_type: preproc_def
      name: LZ4FLIB_API
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: __declspec(dllimport) LZ4FLIB_VISIBILITY
    - item_type: preproc_def
      name: LZ4FLIB_API
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: LZ4FLIB_VISIBILITY
    - item_type: preproc_def
      name: LZ4F_INIT_FRAMEINFO
      pos:
        line_end: 185
        line_start: 184
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '{ LZ4F_default, LZ4F_blockLinked, LZ4F_noContentChecksum, LZ4F_frame,
        0ULL, 0U, LZ4F_noBlockChecksum }    '
    - item_type: preproc_def
      name: LZ4F_INIT_PREFERENCES
      pos:
        line_end: 200
        line_start: 199
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '{ LZ4F_INIT_FRAMEINFO, 0, 0u, 0u, { 0u, 0u, 0u } }    '
    - item_type: preproc_def
      name: LZ4F_VERSION
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '100    '
    - item_type: preproc_def
      name: LZ4F_HEADER_SIZE_MIN
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '7   '
    - item_type: preproc_def
      name: LZ4F_HEADER_SIZE_MAX
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '19'
    - item_type: preproc_def
      name: LZ4F_BLOCK_HEADER_SIZE
      pos:
        line_end: 270
        line_start: 269
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LZ4F_BLOCK_CHECKSUM_SIZE
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LZ4F_CONTENT_CHECKSUM_SIZE
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LZ4F_MAGICNUMBER
      pos:
        line_end: 387
        line_start: 386
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: 0x184D2204U
    - item_type: preproc_def
      name: LZ4F_MAGIC_SKIPPABLE_START
      pos:
        line_end: 388
        line_start: 387
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: 0x184D2A50U
    - item_type: preproc_def
      name: LZ4F_MIN_SIZE_TO_KNOW_HEADER_LENGTH
      pos:
        line_end: 389
        line_start: 388
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: '5'
    - item_type: preproc_def
      name: LZ4FLIB_STATIC_API
      pos:
        line_end: 521
        line_start: 520
        source_file: /src/librdkafka/src/lz4frame.h
      type_or_value: LZ4FLIB_API
    structs:
    - fields:
      - name: blockSizeID
        type: LZ4F_blockSizeID_t
      - name: blockMode
        type: LZ4F_blockMode_t
      - name: contentChecksumFlag
        type: LZ4F_contentChecksum_t
      - name: frameType
        type: LZ4F_frameType_t
      - name: contentSize
        type: unsigned long long
      - name: dictID
        type: unsigned
      - name: blockChecksumFlag
        type: LZ4F_blockChecksum_t
      item_type: struct
      name: LZ4F_frameInfo_t
      pos:
        line_end: 182
        line_start: 174
        source_file: /src/librdkafka/src/lz4frame.h
    - fields:
      - name: frameInfo
        type: LZ4F_frameInfo_t
      - name: compressionLevel
        type: int
      - name: autoFlush
        type: unsigned
      - name: favorDecSpeed
        type: unsigned
      - name: reserved[3]
        type: unsigned
      item_type: struct
      name: LZ4F_preferences_t
      pos:
        line_end: 197
        line_start: 191
        source_file: /src/librdkafka/src/lz4frame.h
    - fields:
      - name: stableSrc
        type: unsigned
      - name: reserved[3]
        type: unsigned
      item_type: struct
      name: LZ4F_compressOptions_t
      pos:
        line_end: 237
        line_start: 234
        source_file: /src/librdkafka/src/lz4frame.h
    - fields:
      - name: stableDst
        type: unsigned
      - name: skipChecksums
        type: unsigned
      - name: reserved1
        type: unsigned
      - name: reserved0
        type: unsigned
      item_type: struct
      name: LZ4F_decompressOptions_t
      pos:
        line_end: 363
        line_start: 356
        source_file: /src/librdkafka/src/lz4frame.h
    - fields:
      - name: customAlloc
        type: LZ4F_AllocFunction
      - name: customCalloc
        type: LZ4F_CallocFunction
      - name: customFree
        type: LZ4F_FreeFunction
      - name: '* opaqueState'
        type: void
      item_type: struct
      name: LZ4F_CustomMem
      pos:
        line_end: 675
        line_start: 670
        source_file: /src/librdkafka/src/lz4frame.h
    typedefs:
    - item_type: typedef
      name: LZ4F_errorCode_t
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/librdkafka/src/lz4frame.h
      type: size_t
    - item_type: typedef
      name: blockSizeID_t
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_blockSizeID_t
    - item_type: typedef
      name: blockMode_t
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_blockMode_t
    - item_type: typedef
      name: frameType_t
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_frameType_t
    - item_type: typedef
      name: contentChecksum_t
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_contentChecksum_t
    - item_type: typedef
      name: LZ4F_cctx
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_cctx_s
    - item_type: typedef
      name: '* LZ4F_compressionContext_t'
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_cctx
    - item_type: typedef
      name: LZ4F_dctx
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_dctx_s
    - item_type: typedef
      name: '* LZ4F_decompressionContext_t'
      pos:
        line_end: 354
        line_start: 354
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_dctx
    - item_type: typedef
      name: LZ4F_CDict
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/librdkafka/src/lz4frame.h
      type: LZ4F_CDict_s
    - item_type: typedef
      name: '* (*LZ4F_AllocFunction) (void* opaqueState, size_t size)'
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/librdkafka/src/lz4frame.h
      type: void
    - item_type: typedef
      name: '* (*LZ4F_CallocFunction) (void* opaqueState, size_t size)'
      pos:
        line_end: 668
        line_start: 668
        source_file: /src/librdkafka/src/lz4frame.h
      type: void
    - item_type: typedef
      name: (*LZ4F_FreeFunction) (void* opaqueState, void* address)
      pos:
        line_end: 669
        line_start: 669
        source_file: /src/librdkafka/src/lz4frame.h
      type: void
    union: []
- function_names:
  - RD_FORMAT
  - _LRK_TYPECHECK
  - _LRK_TYPECHECK2
  - _LRK_TYPECHECK3
  - _LRK_TYPECHECK
  - _LRK_TYPECHECK2
  - _LRK_TYPECHECK3
  - RD_KAFKA_V_TOPIC
  - RD_KAFKA_V_RKT
  - RD_KAFKA_V_PARTITION
  - RD_KAFKA_V_VALUE
  - RD_KAFKA_V_KEY
  - RD_KAFKA_V_OPAQUE
  - RD_KAFKA_V_MSGFLAGS
  - RD_KAFKA_V_TIMESTAMP
  - RD_KAFKA_V_HEADER
  - RD_KAFKA_V_HEADERS
  - RD_KAFKA_OFFSET_TAIL
  source_file: /src/librdkafka/src/rdkafka.h
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_PRODUCER
      - name: RD_KAFKA_CONSUMER
      item_type: enum
      name: rd_kafka_type_t
      pos:
        line_end: 211
        line_start: 208
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_TIMESTAMP_NOT_AVAILABLE
      - name: RD_KAFKA_TIMESTAMP_CREATE_TIME
      - name: RD_KAFKA_TIMESTAMP_LOG_APPEND_TIME
      item_type: enum
      name: rd_kafka_timestamp_type_t
      pos:
        line_end: 223
        line_start: 219
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_VTYPE_END
      - name: RD_KAFKA_VTYPE_RKT
      - name: RD_KAFKA_VTYPE_PARTITION
      - name: RD_KAFKA_VTYPE_VALUE
      - name: RD_KAFKA_VTYPE_TOPIC
      - name: RD_KAFKA_VTYPE_KEY
      - name: RD_KAFKA_VTYPE_OPAQUE
      - name: RD_KAFKA_VTYPE_MSGFLAGS
      - name: RD_KAFKA_VTYPE_TIMESTAMP
      - name: RD_KAFKA_VTYPE_HEADER
      - name: RD_KAFKA_VTYPE_HEADERS
      item_type: enum
      name: rd_kafka_vtype_t
      pos:
        line_end: 1160
        line_start: 1143
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_CERT_PUBLIC_KEY
      - name: RD_KAFKA_CERT_PRIVATE_KEY
      - name: RD_KAFKA_CERT_CA
      - name: RD_KAFKA_CERT__CNT
      item_type: enum
      name: rd_kafka_cert_type_t
      pos:
        line_end: 2494
        line_start: 2489
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_CERT_ENC_PKCS12
      - name: RD_KAFKA_CERT_ENC_PEM
      - name: RD_KAFKA_CERT_ENC__CNT
      - name: RD_KAFKA_CERT_ENC_DER
      item_type: enum
      name: rd_kafka_cert_enc_t
      pos:
        line_end: 2508
        line_start: 2503
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_THREAD_MAIN
      - name: RD_KAFKA_THREAD_BACKGROUND
      - name: RD_KAFKA_THREAD_BROKER
      item_type: enum
      name: rd_kafka_thread_type_t
      pos:
        line_end: 5505
        line_start: 5501
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ADMIN_OP_ANY
        value: '0'
      - name: RD_KAFKA_ADMIN_OP_DELETEACLS
      - name: RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPOFFSETS
      - name: RD_KAFKA_ADMIN_OP_INCREMENTALALTERCONFIGS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBEUSERSCRAMCREDENTIALS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBECONSUMERGROUPS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBEACLS
      - name: RD_KAFKA_ADMIN_OP_ALTERUSERSCRAMCREDENTIALS
      - name: RD_KAFKA_ADMIN_OP_ALTERCONSUMERGROUPOFFSETS
      - name: RD_KAFKA_ADMIN_OP_LISTCONSUMERGROUPS
      - name: RD_KAFKA_ADMIN_OP_ELECTLEADERS
      - name: RD_KAFKA_ADMIN_OP_LISTOFFSETS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBETOPICS
      - name: RD_KAFKA_ADMIN_OP_CREATEPARTITIONS
      - name: RD_KAFKA_ADMIN_OP_CREATETOPICS
      - name: RD_KAFKA_ADMIN_OP_ALTERCONFIGS
      - name: RD_KAFKA_ADMIN_OP_DELETETOPICS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBECONFIGS
      - name: RD_KAFKA_ADMIN_OP_DELETERECORDS
      - name: RD_KAFKA_ADMIN_OP_DELETEGROUPS
      - name: RD_KAFKA_ADMIN_OP_DELETECONSUMERGROUPOFFSETS
      - name: RD_KAFKA_ADMIN_OP_CREATEACLS
      - name: RD_KAFKA_ADMIN_OP_DESCRIBECLUSTER
      - name: RD_KAFKA_ADMIN_OP__CNT
      item_type: enum
      name: rd_kafka_admin_op_t
      pos:
        line_end: 7121
        line_start: 7090
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ISOLATION_LEVEL_READ_UNCOMMITTED
        value: '0'
      - name: RD_KAFKA_ISOLATION_LEVEL_READ_COMMITTED
        value: '1'
      item_type: enum
      name: rd_kafka_IsolationLevel_t
      pos:
        line_end: 7147
        line_start: 7144
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ACL_OPERATION_UNKNOWN
        value: '0'
      - name: RD_KAFKA_ACL_OPERATION_ALL
        value: '2'
      - name: RD_KAFKA_ACL_OPERATION_READ
        value: '3'
      - name: RD_KAFKA_ACL_OPERATION_ANY
        value: '1'
      - name: RD_KAFKA_ACL_OPERATION_WRITE
        value: '4'
      - name: RD_KAFKA_ACL_OPERATION_CREATE
        value: '5'
      - name: RD_KAFKA_ACL_OPERATION_DELETE
        value: '6'
      - name: RD_KAFKA_ACL_OPERATION_ALTER
        value: '7'
      - name: RD_KAFKA_ACL_OPERATION_DESCRIBE
        value: '8'
      - name: RD_KAFKA_ACL_OPERATION_CLUSTER_ACTION
        value: '9'
      - name: RD_KAFKA_ACL_OPERATION_DESCRIBE_CONFIGS
        value: '10'
      - name: RD_KAFKA_ACL_OPERATION_IDEMPOTENT_WRITE
        value: '12'
      - name: RD_KAFKA_ACL_OPERATION__CNT
      - name: RD_KAFKA_ACL_OPERATION_ALTER_CONFIGS
        value: '11'
      item_type: enum
      name: rd_kafka_AclOperation_t
      pos:
        line_end: 7409
        line_start: 7389
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_CONFIG_SOURCE_UNKNOWN_CONFIG
        value: '0'
      - name: RD_KAFKA_CONFIG_SOURCE_STATIC_BROKER_CONFIG
        value: '4'
      - name: RD_KAFKA_CONFIG_SOURCE_DYNAMIC_TOPIC_CONFIG
        value: '1'
      - name: RD_KAFKA_CONFIG_SOURCE_DYNAMIC_DEFAULT_BROKER_CONFIG
        value: '3'
      - name: RD_KAFKA_CONFIG_SOURCE_DYNAMIC_BROKER_CONFIG
        value: '2'
      - name: RD_KAFKA_CONFIG_SOURCE_DEFAULT_CONFIG
        value: '5'
      - name: RD_KAFKA_CONFIG_SOURCE_GROUP_CONFIG
        value: '8'
      - name: RD_KAFKA_CONFIG_SOURCE__CNT
      item_type: enum
      name: rd_kafka_ConfigSource_t
      pos:
        line_end: 7794
        line_start: 7772
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_RESOURCE_UNKNOWN
        value: '0'
      - name: RD_KAFKA_RESOURCE_GROUP
        value: '3'
      - name: RD_KAFKA_RESOURCE_TOPIC
        value: '2'
      - name: RD_KAFKA_RESOURCE_ANY
        value: '1'
      - name: RD_KAFKA_RESOURCE_BROKER
        value: '4'
      - name: RD_KAFKA_RESOURCE_TRANSACTIONAL_ID
        value: '5'
      - name: RD_KAFKA_RESOURCE__CNT
      item_type: enum
      name: rd_kafka_ResourceType_t
      pos:
        line_end: 7886
        line_start: 7878
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_RESOURCE_PATTERN_UNKNOWN
        value: '0'
      - name: RD_KAFKA_RESOURCE_PATTERN_LITERAL
        value: '3'
      - name: RD_KAFKA_RESOURCE_PATTERN_ANY
        value: '1'
      - name: RD_KAFKA_RESOURCE_PATTERN_PREFIXED
        value: '4'
      - name: RD_KAFKA_RESOURCE_PATTERN_MATCH
        value: '2'
      - name: RD_KAFKA_RESOURCE_PATTERN_TYPE__CNT
      item_type: enum
      name: rd_kafka_ResourcePatternType_t
      pos:
        line_end: 7904
        line_start: 7892
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ALTER_CONFIG_OP_TYPE_SET
        value: '0'
      - name: RD_KAFKA_ALTER_CONFIG_OP_TYPE__CNT
      - name: RD_KAFKA_ALTER_CONFIG_OP_TYPE_SUBTRACT
        value: '3'
      - name: RD_KAFKA_ALTER_CONFIG_OP_TYPE_APPEND
        value: '2'
      - name: RD_KAFKA_ALTER_CONFIG_OP_TYPE_DELETE
        value: '1'
      item_type: enum
      name: rd_kafka_AlterConfigOpType_t
      pos:
        line_end: 7916
        line_start: 7910
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_OFFSET_SPEC_MAX_TIMESTAMP
        value: '-3'
      - name: RD_KAFKA_OFFSET_SPEC_LATEST
        value: '-1'
      - name: RD_KAFKA_OFFSET_SPEC_EARLIEST
        value: '-2'
      item_type: enum
      name: rd_kafka_OffsetSpec_t
      pos:
        line_end: 9427
        line_start: 9415
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_SCRAM_MECHANISM_UNKNOWN
        value: '0'
      - name: RD_KAFKA_SCRAM_MECHANISM_SHA_256
        value: '1'
      - name: RD_KAFKA_SCRAM_MECHANISM_SHA_512
        value: '2'
      - name: RD_KAFKA_SCRAM_MECHANISM__CNT
      item_type: enum
      name: rd_kafka_ScramMechanism_t
      pos:
        line_end: 9506
        line_start: 9501
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ACL_PERMISSION_TYPE_UNKNOWN
        value: '0'
      - name: RD_KAFKA_ACL_PERMISSION_TYPE_DENY
        value: '2'
      - name: RD_KAFKA_ACL_PERMISSION_TYPE_ANY
        value: '1'
      - name: RD_KAFKA_ACL_PERMISSION_TYPE_ALLOW
        value: '3'
      - name: RD_KAFKA_ACL_PERMISSION_TYPE__CNT
      item_type: enum
      name: rd_kafka_AclPermissionType_t
      pos:
        line_end: 9772
        line_start: 9765
        source_file: /src/librdkafka/src/rdkafka.h
    - enumerators:
      - name: RD_KAFKA_ELECTION_TYPE_PREFERRED
        value: '0'
      - name: RD_KAFKA_ELECTION_TYPE_UNCLEAN
        value: '1'
      item_type: enum
      name: rd_kafka_ElectionType_t
      pos:
        line_end: 10068
        line_start: 10065
        source_file: /src/librdkafka/src/rdkafka.h
    preproc_defs:
    - item_type: preproc_def
      name: RD_INLINE
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __inline
    - item_type: preproc_def
      name: RD_DEPRECATED
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __declspec(deprecated)
    - item_type: preproc_def
      name: RD_EXPORT
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: RD_EXPORT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: LIBRDKAFKA_TYPECHECKS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_UNUSED
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: RD_INLINE
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: inline
    - item_type: preproc_def
      name: RD_DEPRECATED
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: __attribute__((deprecated))
    - item_type: preproc_def
      name: LIBRDKAFKA_TYPECHECKS
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_KAFKA_VERSION
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x020c01ff'
    - item_type: preproc_def
      name: RD_KAFKA_DEBUG_CONTEXTS
      pos:
        line_end: 247
        line_start: 243
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: "\"all,generic,broker,topic,metadata,feature,queue,msg,protocol,cgrp,\"
        \  \\\n        \"security,fetch,interceptor,plugin,consumer,admin,eos,mock,assignor,\"
        \ \\\n        \"conf\""
    - item_type: preproc_def
      name: RD_KAFKA_V_END
      pos:
        line_end: 1202
        line_start: 1201
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: RD_KAFKA_VTYPE_END
    - item_type: preproc_def
      name: RD_KAFKA_DESTROY_F_NO_CONSUMER_CLOSE
      pos:
        line_end: 3099
        line_start: 3098
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: RD_KAFKA_PARTITION_UA
      pos:
        line_end: 3234
        line_start: 3233
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: ((int32_t) - 1)
    - item_type: preproc_def
      name: RD_KAFKA_OFFSET_BEGINNING
      pos:
        line_end: 3702
        line_start: 3699
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '-2 '
    - item_type: preproc_def
      name: RD_KAFKA_OFFSET_END
      pos:
        line_end: 3705
        line_start: 3702
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '-1 '
    - item_type: preproc_def
      name: RD_KAFKA_OFFSET_STORED
      pos:
        line_end: 3708
        line_start: 3705
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '-1000 '
    - item_type: preproc_def
      name: RD_KAFKA_OFFSET_INVALID
      pos:
        line_end: 3709
        line_start: 3708
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '-1001 '
    - item_type: preproc_def
      name: RD_KAFKA_OFFSET_TAIL_BASE
      pos:
        line_end: 3713
        line_start: 3712
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '-2000 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_FREE
      pos:
        line_end: 4728
        line_start: 4725
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_COPY
      pos:
        line_end: 4731
        line_start: 4728
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_BLOCK
      pos:
        line_end: 4743
        line_start: 4731
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_PARTITION
      pos:
        line_end: 4746
        line_start: 4743
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: RD_KAFKA_PURGE_F_QUEUE
      pos:
        line_end: 5002
        line_start: 5001
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: RD_KAFKA_PURGE_F_INFLIGHT
      pos:
        line_end: 5011
        line_start: 5010
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: RD_KAFKA_PURGE_F_NON_BLOCKING
      pos:
        line_end: 5017
        line_start: 5016
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_NONE
      pos:
        line_end: 5566
        line_start: 5565
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x0 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DR
      pos:
        line_end: 5567
        line_start: 5566
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_FETCH
      pos:
        line_end: 5568
        line_start: 5567
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_LOG
      pos:
        line_end: 5569
        line_start: 5568
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_ERROR
      pos:
        line_end: 5570
        line_start: 5569
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_REBALANCE
      pos:
        line_end: 5571
        line_start: 5570
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_OFFSET_COMMIT
      pos:
        line_end: 5572
        line_start: 5571
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_STATS
      pos:
        line_end: 5573
        line_start: 5572
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_CREATETOPICS_RESULT
      pos:
        line_end: 5574
        line_start: 5573
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '100  '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DELETETOPICS_RESULT
      pos:
        line_end: 5575
        line_start: 5574
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '101  '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_CREATEPARTITIONS_RESULT
      pos:
        line_end: 5577
        line_start: 5575
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '102                                    '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_ALTERCONFIGS_RESULT
      pos:
        line_end: 5578
        line_start: 5577
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '103 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBECONFIGS_RESULT
      pos:
        line_end: 5580
        line_start: 5578
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '104                                     '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DELETERECORDS_RESULT
      pos:
        line_end: 5581
        line_start: 5580
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '105 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DELETEGROUPS_RESULT
      pos:
        line_end: 5582
        line_start: 5581
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '106 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DELETECONSUMERGROUPOFFSETS_RESULT
      pos:
        line_end: 5584
        line_start: 5583
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '107'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_OAUTHBEARER_TOKEN_REFRESH
      pos:
        line_end: 5586
        line_start: 5585
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_BACKGROUND
      pos:
        line_end: 5587
        line_start: 5586
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x200 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_CREATEACLS_RESULT
      pos:
        line_end: 5588
        line_start: 5587
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x400 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBEACLS_RESULT
      pos:
        line_end: 5589
        line_start: 5588
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x800 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DELETEACLS_RESULT
      pos:
        line_end: 5590
        line_start: 5589
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x1000 '
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_LISTCONSUMERGROUPS_RESULT
      pos:
        line_end: 5592
        line_start: 5591
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBECONSUMERGROUPS_RESULT
      pos:
        line_end: 5594
        line_start: 5593
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_LISTCONSUMERGROUPOFFSETS_RESULT
      pos:
        line_end: 5596
        line_start: 5595
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_ALTERCONSUMERGROUPOFFSETS_RESULT
      pos:
        line_end: 5598
        line_start: 5597
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_INCREMENTALALTERCONFIGS_RESULT
      pos:
        line_end: 5600
        line_start: 5599
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x20000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBEUSERSCRAMCREDENTIALS_RESULT
      pos:
        line_end: 5602
        line_start: 5601
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x40000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_ALTERUSERSCRAMCREDENTIALS_RESULT
      pos:
        line_end: 5604
        line_start: 5603
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x80000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBETOPICS_RESULT
      pos:
        line_end: 5606
        line_start: 5605
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x100000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_DESCRIBECLUSTER_RESULT
      pos:
        line_end: 5608
        line_start: 5607
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x200000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_LISTOFFSETS_RESULT
      pos:
        line_end: 5610
        line_start: 5609
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x400000'
    - item_type: preproc_def
      name: RD_KAFKA_EVENT_ELECTLEADERS_RESULT
      pos:
        line_end: 5612
        line_start: 5611
        source_file: /src/librdkafka/src/rdkafka.h
      type_or_value: '0x800000'
    structs:
    - fields:
      - name: code
        type: rd_kafka_resp_err_t
      - name: '*name'
        type: char
      - name: '*desc'
        type: char
      item_type: struct
      name: rd_kafka_err_desc
      pos:
        line_end: 674
        line_start: 670
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: '*topic'
        type: char
      - name: partition
        type: int32_t
      - name: offset
        type: int64_t
      - name: '*metadata'
        type: void
      - name: metadata_size
        type: size_t
      - name: '*opaque'
        type: void
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*_private'
        type: void
      item_type: struct
      name: rd_kafka_topic_partition_s
      pos:
        line_end: 937
        line_start: 925
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: cnt
        type: int
      - name: size
        type: int
      - name: '*elems'
        type: rd_kafka_topic_partition_t
      item_type: struct
      name: rd_kafka_topic_partition_list_s
      pos:
        line_end: 980
        line_start: 976
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: vtype
        type: rd_kafka_vtype_t
      - name: u
        type: "union {\n                const char *cstr;\n                rd_kafka_topic_t
          *rkt;\n                int i;\n                int32_t i32;\n                int64_t
          i64;\n                struct {\n                        void *ptr;\n                        size_t
          size;\n                } mem;\n                struct {\n                        const
          char *name;\n                        const void *val;\n                        ssize_t
          size;\n                } header;\n                rd_kafka_headers_t *headers;\n
          \               void *ptr;\n                char _pad[64]; /**< Padding
          size for future-proofness */\n        }"
      item_type: struct
      name: rd_kafka_vu_s
      pos:
        line_end: 1191
        line_start: 1169
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*rkt'
        type: rd_kafka_topic_t
      - name: partition
        type: int32_t
      - name: '*payload'
        type: void
      - name: len
        type: size_t
      - name: '*key'
        type: void
      - name: key_len
        type: size_t
      - name: offset
        type: int64_t
      - name: '*_private'
        type: void
      item_type: struct
      name: rd_kafka_message_s
      pos:
        line_end: 1495
        line_start: 1465
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: id
        type: int32_t
      - name: '*host'
        type: char
      - name: port
        type: int
      item_type: struct
      name: rd_kafka_metadata_broker
      pos:
        line_end: 5037
        line_start: 5033
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: id
        type: int32_t
      - name: err
        type: rd_kafka_resp_err_t
      - name: leader
        type: int32_t
      - name: replica_cnt
        type: int
      - name: '*replicas'
        type: int32_t
      - name: isr_cnt
        type: int
      - name: '*isrs'
        type: int32_t
      item_type: struct
      name: rd_kafka_metadata_partition
      pos:
        line_end: 5050
        line_start: 5042
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: '*topic'
        type: char
      - name: partition_cnt
        type: int
      - name: '*partitions'
        type: struct rd_kafka_metadata_partition
      - name: err
        type: rd_kafka_resp_err_t
      item_type: struct
      name: rd_kafka_metadata_topic
      pos:
        line_end: 5060
        line_start: 5055
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: broker_cnt
        type: int
      - name: '*brokers'
        type: struct rd_kafka_metadata_broker
      - name: topic_cnt
        type: int
      - name: '*topics'
        type: struct rd_kafka_metadata_topic
      - name: orig_broker_id
        type: int32_t
      - name: '*orig_broker_name'
        type: char
      item_type: struct
      name: rd_kafka_metadata
      pos:
        line_end: 5075
        line_start: 5066
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: '*member_id'
        type: char
      - name: '*client_id'
        type: char
      - name: '*client_host'
        type: char
      - name: '*member_metadata'
        type: void
      - name: member_metadata_size
        type: int
      - name: '*member_assignment'
        type: void
      - name: member_assignment_size
        type: int
      item_type: struct
      name: rd_kafka_group_member_info
      pos:
        line_end: 5188
        line_start: 5178
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: broker
        type: struct rd_kafka_metadata_broker
      - name: '*group'
        type: char
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*state'
        type: char
      - name: '*protocol_type'
        type: char
      - name: '*protocol'
        type: char
      - name: '*members'
        type: struct rd_kafka_group_member_info
      - name: member_cnt
        type: int
      item_type: struct
      name: rd_kafka_group_info
      pos:
        line_end: 5229
        line_start: 5220
        source_file: /src/librdkafka/src/rdkafka.h
    - fields:
      - name: '*groups'
        type: struct rd_kafka_group_info
      - name: group_cnt
        type: int
      item_type: struct
      name: rd_kafka_group_list
      pos:
        line_end: 5239
        line_start: 5236
        source_file: /src/librdkafka/src/rdkafka.h
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/librdkafka/src/rdkafka.h
      type: SSIZE_T
    - item_type: typedef
      name: rd_kafka_t
      pos:
        line_end: 251
        line_start: 251
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_s
    - item_type: typedef
      name: rd_kafka_topic_t
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_topic_s
    - item_type: typedef
      name: rd_kafka_conf_t
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_conf_s
    - item_type: typedef
      name: rd_kafka_topic_conf_t
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_topic_conf_s
    - item_type: typedef
      name: rd_kafka_queue_t
      pos:
        line_end: 255
        line_start: 255
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_queue_s
    - item_type: typedef
      name: rd_kafka_event_t
      pos:
        line_end: 256
        line_start: 256
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_op_s
    - item_type: typedef
      name: rd_kafka_topic_result_t
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_topic_result_s
    - item_type: typedef
      name: rd_kafka_consumer_group_metadata_t
      pos:
        line_end: 259
        line_start: 258
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_consumer_group_metadata_s
    - item_type: typedef
      name: rd_kafka_error_t
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_error_s
    - item_type: typedef
      name: rd_kafka_headers_t
      pos:
        line_end: 261
        line_start: 261
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_headers_s
    - item_type: typedef
      name: rd_kafka_group_result_t
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_group_result_s
    - item_type: typedef
      name: rd_kafka_acl_result_t
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_acl_result_s
    - item_type: typedef
      name: rd_kafka_Uuid_t
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_Uuid_s
    - item_type: typedef
      name: rd_kafka_topic_partition_result_t
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_topic_partition_result_s
    - item_type: typedef
      name: rd_kafka_Node_t
      pos:
        line_end: 5114
        line_start: 5114
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_Node_s
    - item_type: typedef
      name: rd_kafka_event_type_t
      pos:
        line_end: 5564
        line_start: 5564
        source_file: /src/librdkafka/src/rdkafka.h
      type: int
    - item_type: typedef
      name: rd_kafka_CreateTopics_result_t
      pos:
        line_end: 5853
        line_start: 5853
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DeleteTopics_result_t
      pos:
        line_end: 5855
        line_start: 5855
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_CreateAcls_result_t
      pos:
        line_end: 5857
        line_start: 5857
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeAcls_result_t
      pos:
        line_end: 5859
        line_start: 5859
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DeleteAcls_result_t
      pos:
        line_end: 5861
        line_start: 5861
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_CreatePartitions_result_t
      pos:
        line_end: 5863
        line_start: 5863
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_AlterConfigs_result_t
      pos:
        line_end: 5865
        line_start: 5865
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_IncrementalAlterConfigs_result_t
      pos:
        line_end: 5867
        line_start: 5867
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeConfigs_result_t
      pos:
        line_end: 5869
        line_start: 5869
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DeleteRecords_result_t
      pos:
        line_end: 5871
        line_start: 5871
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_ListConsumerGroups_result_t
      pos:
        line_end: 5873
        line_start: 5873
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeConsumerGroups_result_t
      pos:
        line_end: 5875
        line_start: 5875
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DeleteGroups_result_t
      pos:
        line_end: 5877
        line_start: 5877
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DeleteConsumerGroupOffsets_result_t
      pos:
        line_end: 5879
        line_start: 5879
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_AlterConsumerGroupOffsets_result_t
      pos:
        line_end: 5881
        line_start: 5881
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_ListConsumerGroupOffsets_result_t
      pos:
        line_end: 5883
        line_start: 5883
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeTopics_result_t
      pos:
        line_end: 5885
        line_start: 5885
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeCluster_result_t
      pos:
        line_end: 5887
        line_start: 5887
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_DescribeUserScramCredentials_result_t
      pos:
        line_end: 5889
        line_start: 5889
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_AlterUserScramCredentials_result_t
      pos:
        line_end: 5891
        line_start: 5891
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_ListOffsets_result_t
      pos:
        line_end: 5893
        line_start: 5893
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: rd_kafka_ElectLeaders_result_t
      pos:
        line_end: 5895
        line_start: 5895
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_event_t
    - item_type: typedef
      name: "(rd_kafka_plugin_f_conf_init_t)(\n    rd_kafka_conf_t *conf,\n    void
        **plug_opaquep,\n    char *errstr,\n    size_t errstr_size)"
      pos:
        line_end: 6260
        line_start: 6256
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_conf_set_t)(\n    rd_kafka_conf_t *conf,\n
        \   const char *name,\n    const char *val,\n    char *errstr,\n    size_t
        errstr_size,\n    void *ic_opaque)"
      pos:
        line_end: 6348
        line_start: 6342
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_conf_res_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_conf_dup_t)(\n    rd_kafka_conf_t *new_conf,\n
        \   const rd_kafka_conf_t *old_conf,\n    size_t filter_cnt,\n    const char
        **filter,\n    void *ic_opaque)"
      pos:
        line_end: 6377
        line_start: 6372
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_conf_destroy_t)(\n    void *ic_opaque)"
      pos:
        line_end: 6387
        line_start: 6386
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_new_t)(\n    rd_kafka_t *rk,\n    const rd_kafka_conf_t
        *conf,\n    void *ic_opaque,\n    char *errstr,\n    size_t errstr_size)"
      pos:
        line_end: 6412
        line_start: 6407
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(\n    rd_kafka_interceptor_f_on_destroy_t)(rd_kafka_t *rk, void *ic_opaque)"
      pos:
        line_end: 6423
        line_start: 6422
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_send_t)(\n    rd_kafka_t *rk,\n    rd_kafka_message_t
        *rkmessage,\n    void *ic_opaque)"
      pos:
        line_end: 6450
        line_start: 6447
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_acknowledgement_t)(\n    rd_kafka_t *rk,\n
        \   rd_kafka_message_t *rkmessage,\n    void *ic_opaque)"
      pos:
        line_end: 6477
        line_start: 6474
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_consume_t)(\n    rd_kafka_t *rk,\n    rd_kafka_message_t
        *rkmessage,\n    void *ic_opaque)"
      pos:
        line_end: 6499
        line_start: 6496
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_commit_t)(\n    rd_kafka_t *rk,\n    const
        rd_kafka_topic_partition_list_t *offsets,\n    rd_kafka_resp_err_t err,\n
        \   void *ic_opaque)"
      pos:
        line_end: 6526
        line_start: 6522
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_request_sent_t)(\n    rd_kafka_t *rk,\n    int
        sockfd,\n    const char *brokername,\n    int32_t brokerid,\n    int16_t ApiKey,\n
        \   int16_t ApiVersion,\n    int32_t CorrId,\n    size_t size,\n    void *ic_opaque)"
      pos:
        line_end: 6559
        line_start: 6550
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_response_received_t)(\n    rd_kafka_t *rk,\n
        \   int sockfd,\n    const char *brokername,\n    int32_t brokerid,\n    int16_t
        ApiKey,\n    int16_t ApiVersion,\n    int32_t CorrId,\n    size_t size,\n
        \   int64_t rtt,\n    rd_kafka_resp_err_t err,\n    void *ic_opaque)"
      pos:
        line_end: 6598
        line_start: 6587
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_thread_start_t)(\n    rd_kafka_t *rk,\n    rd_kafka_thread_type_t
        thread_type,\n    const char *thread_name,\n    void *ic_opaque)"
      pos:
        line_end: 6621
        line_start: 6617
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_thread_exit_t)(\n    rd_kafka_t *rk,\n    rd_kafka_thread_type_t
        thread_type,\n    const char *thread_name,\n    void *ic_opaque)"
      pos:
        line_end: 6647
        line_start: 6643
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_interceptor_f_on_broker_state_change_t)(\n    rd_kafka_t *rk,\n
        \   int32_t broker_id,\n    const char *secproto,\n    const char *name,\n
        \   int port,\n    const char *state,\n    void *ic_opaque)"
      pos:
        line_end: 6671
        line_start: 6664
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: rd_kafka_AdminOptions_t
      pos:
        line_end: 7135
        line_start: 7135
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_AdminOptions_s
    - item_type: typedef
      name: rd_kafka_NewTopic_t
      pos:
        line_end: 7422
        line_start: 7422
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_NewTopic_s
    - item_type: typedef
      name: rd_kafka_DeleteTopic_t
      pos:
        line_end: 7563
        line_start: 7563
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_DeleteTopic_s
    - item_type: typedef
      name: rd_kafka_NewPartitions_t
      pos:
        line_end: 7640
        line_start: 7640
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_NewPartitions_s
    - item_type: typedef
      name: rd_kafka_ConfigEntry_t
      pos:
        line_end: 7805
        line_start: 7805
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ConfigEntry_s
    - item_type: typedef
      name: rd_kafka_ConfigResource_t
      pos:
        line_end: 7931
        line_start: 7931
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ConfigResource_s
    - item_type: typedef
      name: rd_kafka_DeleteRecords_t
      pos:
        line_end: 8236
        line_start: 8236
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_DeleteRecords_s
    - item_type: typedef
      name: rd_kafka_TopicCollection_t
      pos:
        line_end: 8329
        line_start: 8329
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_TopicCollection_s
    - item_type: typedef
      name: rd_kafka_TopicPartitionInfo_t
      pos:
        line_end: 8335
        line_start: 8335
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_TopicPartitionInfo_s
    - item_type: typedef
      name: rd_kafka_TopicDescription_t
      pos:
        line_end: 8341
        line_start: 8341
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_TopicDescription_s
    - item_type: typedef
      name: rd_kafka_ConsumerGroupListing_t
      pos:
        line_end: 8635
        line_start: 8635
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ConsumerGroupListing_s
    - item_type: typedef
      name: rd_kafka_ListConsumerGroupsResult_t
      pos:
        line_end: 8639
        line_start: 8638
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ListConsumerGroupsResult_s
    - item_type: typedef
      name: rd_kafka_ConsumerGroupDescription_t
      pos:
        line_end: 8751
        line_start: 8750
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ConsumerGroupDescription_s
    - item_type: typedef
      name: rd_kafka_MemberDescription_t
      pos:
        line_end: 8757
        line_start: 8757
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_MemberDescription_s
    - item_type: typedef
      name: rd_kafka_MemberAssignment_t
      pos:
        line_end: 8763
        line_start: 8763
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_MemberAssignment_s
    - item_type: typedef
      name: rd_kafka_DeleteGroup_t
      pos:
        line_end: 9051
        line_start: 9051
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_DeleteGroup_s
    - item_type: typedef
      name: rd_kafka_ListConsumerGroupOffsets_t
      pos:
        line_end: 9132
        line_start: 9131
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ListConsumerGroupOffsets_s
    - item_type: typedef
      name: rd_kafka_AlterConsumerGroupOffsets_t
      pos:
        line_end: 9227
        line_start: 9226
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_AlterConsumerGroupOffsets_s
    - item_type: typedef
      name: rd_kafka_DeleteConsumerGroupOffsets_t
      pos:
        line_end: 9323
        line_start: 9322
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_DeleteConsumerGroupOffsets_s
    - item_type: typedef
      name: rd_kafka_ListOffsetsResultInfo_t
      pos:
        line_end: 9434
        line_start: 9433
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ListOffsetsResultInfo_s
    - item_type: typedef
      name: rd_kafka_ScramCredentialInfo_t
      pos:
        line_end: 9513
        line_start: 9513
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ScramCredentialInfo_s
    - item_type: typedef
      name: rd_kafka_UserScramCredentialsDescription_t
      pos:
        line_end: 9536
        line_start: 9535
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_UserScramCredentialsDescription_s
    - item_type: typedef
      name: rd_kafka_UserScramCredentialAlteration_t
      pos:
        line_end: 9608
        line_start: 9607
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_UserScramCredentialAlteration_s
    - item_type: typedef
      name: rd_kafka_AlterUserScramCredentials_result_response_t
      pos:
        line_end: 9674
        line_start: 9673
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_AlterUserScramCredentials_result_response_s
    - item_type: typedef
      name: rd_kafka_AclBinding_t
      pos:
        line_end: 9740
        line_start: 9740
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_AclBinding_s
    - item_type: typedef
      name: rd_kafka_AclBindingFilter_t
      pos:
        line_end: 9746
        line_start: 9746
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_AclBinding_t
    - item_type: typedef
      name: rd_kafka_DeleteAcls_result_response_t
      pos:
        line_end: 9992
        line_start: 9991
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_DeleteAcls_result_response_s
    - item_type: typedef
      name: rd_kafka_ElectLeaders_t
      pos:
        line_end: 10059
        line_start: 10059
        source_file: /src/librdkafka/src/rdkafka.h
      type: rd_kafka_ElectLeaders_s
    union: []
- function_names:
  - RD_CMP
  source_file: /src/librdkafka/src/rdtypes.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_TS_MAX
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/src/rdtypes.h
      type_or_value: INT64_MAX
    - item_type: preproc_def
      name: rd_true
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/librdkafka/src/rdtypes.h
      type_or_value: '1'
    - item_type: preproc_def
      name: rd_false
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/rdtypes.h
      type_or_value: '0'
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_ts_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/librdkafka/src/rdtypes.h
      type: int64_t
    - item_type: typedef
      name: rd_bool_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/librdkafka/src/rdtypes.h
      type: uint8_t
    union: []
- function_names:
  - rd_kafka_mock_broker_find
  - rd_kafka_mock_msgset_destroy
  - rd_kafka_mock_msgset_new
  - rd_kafka_mock_msgset_find
  - rd_kafka_mock_partition_pidstate_get
  - rd_kafka_mock_validate_records
  - rd_kafka_mock_partition_log_append
  - rd_kafka_mock_partition_set_leader0
  - rd_kafka_mock_partition_leader_epoch_check
  - rd_kafka_mock_partition_offset_for_leader_epoch
  - rd_kafka_mock_partition_assign_replicas
  - rd_kafka_mock_partition_push_leader_response0
  - rd_kafka_mock_partition_next_leader_response
  - rd_kafka_mock_partition_leader_destroy
  - rd_kafka_mock_committed_offset_destroy
  - rd_kafka_mock_committed_offset_find
  - rd_kafka_mock_commit_offset
  - rd_kafka_mock_partition_destroy
  - rd_kafka_mock_partition_init
  - rd_kafka_mock_partition_find
  - rd_kafka_mock_topic_destroy
  - rd_kafka_mock_topic_new
  - rd_kafka_mock_topic_find
  - rd_kafka_mock_topic_find_by_kstr
  - rd_kafka_mock_topic_find_by_id
  - rd_kafka_mock_topic_auto_create
  - rd_kafka_mock_topic_get
  - rd_kafka_mock_partition_get
  - rd_kafka_mock_cluster_io_set_events
  - rd_kafka_mock_cluster_io_set_event
  - rd_kafka_mock_cluster_io_clear_events
  - rd_kafka_mock_cluster_io_del
  - rd_kafka_mock_cluster_io_add
  - rd_kafka_mock_cluster_reassign_partitions
  - rd_kafka_mock_connection_close
  - rd_kafka_mock_connection_send_response0
  - rd_kafka_mock_connection_read_request
  - rd_kafka_mock_buf_new_response
  - rd_kafka_mock_connection_parse_request
  - rd_kafka_mock_connection_write_out_tmr_cb
  - rd_kafka_mock_connection_write_out
  - rd_kafka_mock_broker_connections_write_out
  - rd_kafka_mock_connection_io
  - rd_kafka_mock_connection_set_blocking
  - rd_kafka_mock_connection_new
  - rd_kafka_mock_cluster_op_io
  - rd_kafka_mock_cluster_io_poll
  - rd_kafka_mock_cluster_thread_main
  - rd_kafka_mock_broker_listen_io
  - rd_kafka_mock_broker_close_all
  - rd_kafka_mock_error_stack_destroy
  - rd_kafka_mock_broker_destroy
  - rd_kafka_mock_broker_decommission
  - rd_kafka_mock_broker_add
  - rd_kafka_mock_broker_start_listener
  - rd_kafka_mock_broker_new_listener
  - rd_kafka_mock_broker_new
  - rd_kafka_mock_coord_str2type
  - rd_kafka_mock_coord_destroy
  - rd_kafka_mock_coord_find
  - rd_kafka_mock_cluster_get_coord
  - rd_kafka_mock_coord_set
  - rd_kafka_mock_coord_remove
  - rd_kafka_mock_error_stack_next
  - rd_kafka_mock_error_stack_find
  - rd_kafka_mock_error_stack_get
  - rd_kafka_mock_next_request_error
  - rd_kafka_mock_clear_request_errors
  - rd_kafka_mock_push_request_errors_array
  - rd_kafka_mock_push_request_errors
  - rd_kafka_mock_broker_push_request_error_rtts
  - rd_kafka_mock_broker_error_stack_cnt
  - rd_kafka_mock_topic_set_error
  - rd_kafka_mock_topic_create
  - rd_kafka_mock_partition_set_leader
  - rd_kafka_mock_partition_set_follower
  - rd_kafka_mock_partition_set_follower_wmarks
  - rd_kafka_mock_partition_push_leader_response
  - rd_kafka_mock_broker_set_down
  - rd_kafka_mock_broker_set_up
  - rd_kafka_mock_broker_set_rtt
  - rd_kafka_mock_broker_set_rack
  - rd_kafka_mock_broker_set_host_port
  - rd_kafka_mock_coordinator_set
  - rd_kafka_mock_set_apiversion
  - rd_kafka_mock_telemetry_set_requested_metrics
  - rd_kafka_mock_telemetry_set_push_interval
  - rd_kafka_mock_broker_cmd
  - rd_kafka_mock_brokers_cmd
  - rd_kafka_mock_cluster_cmd
  - rd_kafka_mock_group_initial_rebalance_delay_ms
  - rd_kafka_mock_cluster_op_serve
  - rd_kafka_mock_cluster_destroy0
  - rd_kafka_mock_cluster_destroy
  - rd_kafka_mock_cluster_new
  - rd_kafka_mock_cluster_handle
  - rd_kafka_handle_mock_cluster
  - rd_kafka_mock_cluster_bootstraps
  - rd_kafka_mock_request_new
  - rd_kafka_mock_request_copy
  - rd_kafka_mock_request_destroy
  - rd_kafka_mock_request_destroy_array
  - rd_kafka_mock_request_free
  - rd_kafka_mock_start_request_tracking
  - rd_kafka_mock_stop_request_tracking
  - rd_kafka_mock_get_requests
  - rd_kafka_mock_clear_requests
  - rd_kafka_mock_request_id
  - rd_kafka_mock_request_api_key
  - rd_kafka_mock_request_timestamp
  - ut_topic_partitions
  - ut_assert_topic_partitions
  - ut_cgrp_consumer_member_next_assignment0
  - ut_cgrp_consumer_member_next_assignment1
  - ut_cgrp_consumer_member_next_assignment2
  - ut_cgrp_consumer_member_next_assignment3
  - ut_cgrp_consumer_member_next_assignment4
  - ut_cgrp_consumer_member_next_assignment5
  - ut_cgrp_consumer_member_next_assignment
  - unittest_mock_cluster
  source_file: /src/librdkafka/src/rdkafka_mock.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int32_t
      - name: api_key
        type: int16_t
      - name: timestamp
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_mock_request_s
      pos:
        line_end: 2927
        line_start: 2923
        source_file: /src/librdkafka/src/rdkafka_mock.c
    - fields:
      - name: current_member_epoch
        type: int32_t
      - name: '*current_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*returned_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*target_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: reconnected
        type: rd_bool_t
      - name: session_timed_out
        type: rd_bool_t
      - name: '*comment'
        type: char
      item_type: struct
      name: cgrp_consumer_member_next_assignment_fixture
      pos:
        line_end: 3110
        line_start: 3095
        source_file: /src/librdkafka/src/rdkafka_mock.c
    typedefs:
    - item_type: typedef
      name: rd_kafka_mock_request_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/librdkafka/src/rdkafka_mock.c
      type: rd_kafka_mock_request_s
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_request.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_PERMANENT
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x1  '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_IGNORE
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x2  '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_REFRESH
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x4  '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_RETRY
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x8  '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_INFORM
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_SPECIAL
      pos:
        line_end: 42
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_MSG_NOT_PERSISTED
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_MSG_POSSIBLY_PERSISTED
      pos:
        line_end: 45
        line_start: 43
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x80                                    '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_MSG_PERSISTED
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_FATAL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0x200 '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_END
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: '0     '
    - item_type: preproc_def
      name: RD_KAFKA_ERR_ACTION_MSG_FLAGS
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_request.h
      type_or_value: "(RD_KAFKA_ERR_ACTION_MSG_NOT_PERSISTED |                               \\\n
        \        RD_KAFKA_ERR_ACTION_MSG_POSSIBLY_PERSISTED |                          \\\n
        \        RD_KAFKA_ERR_ACTION_MSG_PERSISTED)"
    structs:
    - fields:
      - name: LeaderId
        type: int32_t
      - name: LeaderEpoch
        type: int32_t
      item_type: struct
      name: rd_kafkap_CurrentLeader_s
      pos:
        line_end: 95
        line_start: 92
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: NodeId
        type: int32_t
      - name: Host
        type: rd_kafkap_str_t
      - name: Port
        type: int32_t
      - name: Rack
        type: rd_kafkap_str_t
      item_type: struct
      name: rd_kafkap_NodeEndpoint_s
      pos:
        line_end: 102
        line_start: 97
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: NodeEndpointCnt
        type: int32_t
      - name: '*NodeEndpoints'
        type: rd_kafkap_NodeEndpoint_t
      item_type: struct
      name: rd_kafkap_NodeEndpoints_s
      pos:
        line_end: 107
        line_start: 104
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: Partition
        type: int32_t
      - name: CurrentLeader
        type: rd_kafkap_CurrentLeader_t
      item_type: struct
      name: rd_kafkap_Produce_reply_tags_Partition_s
      pos:
        line_end: 120
        line_start: 117
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: '*TopicName'
        type: char
      - name: Partition
        type: rd_kafkap_Produce_reply_tags_Partition_t
      item_type: struct
      name: rd_kafkap_Produce_reply_tags_Topic_s
      pos:
        line_end: 125
        line_start: 122
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: leader_change_cnt
        type: int32_t
      - name: NodeEndpoints
        type: rd_kafkap_NodeEndpoints_t
      - name: Topic
        type: rd_kafkap_Produce_reply_tags_Topic_t
      item_type: struct
      name: rd_kafkap_Produce_reply_tags_s
      pos:
        line_end: 131
        line_start: 127
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: Partition
        type: int32_t
      - name: CurrentLeader
        type: rd_kafkap_CurrentLeader_t
      item_type: struct
      name: rd_kafkap_Fetch_reply_tags_Partition_s
      pos:
        line_end: 144
        line_start: 141
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: TopicId
        type: rd_kafka_Uuid_t
      - name: PartitionCnt
        type: int32_t
      - name: '*Partitions'
        type: rd_kafkap_Fetch_reply_tags_Partition_t
      - name: partitions_with_leader_change_cnt
        type: int32_t
      item_type: struct
      name: rd_kafkap_Fetch_reply_tags_Topic_s
      pos:
        line_end: 151
        line_start: 146
        source_file: /src/librdkafka/src/rdkafka_request.h
    - fields:
      - name: NodeEndpoints
        type: rd_kafkap_NodeEndpoints_t
      - name: TopicCnt
        type: int32_t
      - name: '*Topics'
        type: rd_kafkap_Fetch_reply_tags_Topic_t
      - name: topics_with_leader_change_cnt
        type: int32_t
      item_type: struct
      name: rd_kafkap_Fetch_reply_tags_s
      pos:
        line_end: 158
        line_start: 153
        source_file: /src/librdkafka/src/rdkafka_request.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_timer_start
  - rd_kafka_timer_start_oneshot
  source_file: /src/librdkafka/src/rdkafka_timer.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (, rd_kafka_timer_s)
        type: TAILQ_HEAD
      - name: '*rkts_rk'
        type: struct rd_kafka_s
      - name: rkts_lock
        type: mtx_t
      - name: rkts_cond
        type: cnd_t
      - name: '*rkts_wakeq'
        type: struct rd_kafka_q_s
      - name: rkts_enabled
        type: int
      item_type: struct
      name: rd_kafka_timers_s
      pos:
        line_end: 52
        line_start: 36
        source_file: /src/librdkafka/src/rdkafka_timer.h
    - fields:
      - name: (rd_kafka_timer_s)
        type: TAILQ_ENTRY
      - name: rtmr_next
        type: rd_ts_t
      - name: rtmr_interval
        type: rd_ts_t
      - name: rtmr_oneshot
        type: rd_bool_t
      - name: (*rtmr_callback)(rd_kafka_timers_t *rkts, void *arg)
        type: void
      - name: '*rtmr_arg'
        type: void
      item_type: struct
      name: rd_kafka_timer_s
      pos:
        line_end: 64
        line_start: 55
        source_file: /src/librdkafka/src/rdkafka_timer.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_transport_ssl_close
  - rd_kafka_transport_ssl_clear_error
  - rd_kafka_ssl_last_error_str
  - rd_kafka_ssl_error0
  - rd_kafka_ssl_error
  - rd_kafka_transport_ssl_io_update
  - rd_kafka_transport_ssl_send
  - rd_kafka_transport_ssl_recv
  - rd_kafka_transport_ssl_passwd_cb
  - rd_kafka_transport_ssl_cert_verify_cb
  - rd_kafka_ssl_normalize_hostname
  - rd_kafka_transport_ssl_set_endpoint_id
  - rd_kafka_transport_ssl_connect
  - rd_kafka_transport_ssl_io_event
  - rd_kafka_transport_ssl_verify
  - rd_kafka_transport_ssl_handshake
  - rd_kafka_ssl_PKEY_from_string
  - rd_kafka_ssl_X509_from_string
  - rd_kafka_ssl_win_load_cert_store
  - rd_kafka_ssl_win_load_cert_stores
  - rd_kafka_ssl_set_ca_path
  - rd_kafka_ssl_probe_and_set_default_ca_location
  - rd_kafka_ssl_cert_callback
  - rd_kafka_ssl_set_certs
  - rd_kafka_ssl_ctx_term
  - rd_kafka_ssl_ctx_init_engine
  - rd_kafka_ssl_OSSL_PROVIDER_free
  - rd_kafka_ssl_ctx_load_providers
  - rd_kafka_ssl_ctx_init
  - rd_kafka_transport_ssl_lock_cb
  - rd_kafka_transport_ssl_threadid_cb
  - rd_kafka_transport_libcrypto_THREADID_callback
  - rd_kafka_ssl_term
  - rd_kafka_ssl_init
  - rd_kafka_ssl_hmac
  source_file: /src/librdkafka/src/rdkafka_ssl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_offset_store0
  source_file: /src/librdkafka/src/rdkafka_offset.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/snappy.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _LINUX_SNAPPY_H
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/librdkafka/src/snappy.h
      type_or_value: '1'
    structs:
    - fields:
      - name: '*hash_table'
        type: unsigned short
      - name: '*scratch'
        type: void
      - name: '*scratch_output'
        type: void
      item_type: struct
      name: snappy_env
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/librdkafka/src/snappy.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_interceptor.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - likely
  - unlikely
  - RD_IS_CONSTANT
  - rd_alloca
  - rd_vsnprintf
  - rd_snprintf
  - rd_strcasecmp
  - rd_strncasecmp
  - rd_strcasestr
  - rd_set_errno
  - rd_strerror
  - rd_strerror_w32
  - rd_usleep
  - rd_gettimeofday
  - rd_assert
  - rd_getenv
  - rd_socket_strerror
  - rd_socket_poll
  - rd_fd_set_nonblocking
  - rd_pipe_nonblocking
  - rd_socket_read
  - rd_socket_write
  - rd_socket_close
  - rd_write
  - rd_open
  - rd_close
  source_file: /src/librdkafka/src/rdwin32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_INLINE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: __inline
    - item_type: preproc_def
      name: RD_NORETURN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: __declspec(noreturn)
    - item_type: preproc_def
      name: RD_TLS
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: RD_TLS
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: __thread
    - item_type: preproc_def
      name: PRIusz
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: '"Iu"'
    - item_type: preproc_def
      name: PRIdsz
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: '"Id"'
    - item_type: preproc_def
      name: RD_ZERO_INIT
      pos:
        line_end: 235
        line_start: 233
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: '{ 0 }'
    - item_type: preproc_def
      name: RD_SOCKET_ERROR
      pos:
        line_end: 246
        line_start: 245
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: SOCKET_ERROR
    - item_type: preproc_def
      name: rd_socket_errno
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/librdkafka/src/rdwin32.h
      type_or_value: WSAGetLastError()
    structs:
    - fields:
      - name: '*iov_base'
        type: void
      - name: iov_len
        type: size_t
      item_type: struct
      name: iovec
      pos:
        line_end: 58
        line_start: 55
        source_file: /src/librdkafka/src/rdwin32.h
    - fields:
      - name: '*msg_iov'
        type: struct iovec
      - name: msg_iovlen
        type: int
      item_type: struct
      name: msghdr
      pos:
        line_end: 63
        line_start: 60
        source_file: /src/librdkafka/src/rdwin32.h
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/librdkafka/src/rdwin32.h
      type: SSIZE_T
    - item_type: typedef
      name: socklen_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/librdkafka/src/rdwin32.h
      type: int
    - item_type: typedef
      name: rd_socket_t
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/librdkafka/src/rdwin32.h
      type: SOCKET
    - item_type: typedef
      name: rd_pollfd_t
      pos:
        line_end: 258
        line_start: 258
        source_file: /src/librdkafka/src/rdwin32.h
      type: WSAPOLLFD
    union: []
- function_names:
  - rd_kafka_buf_destroy_final
  - rd_kafka_buf_push0
  - rd_kafka_buf_new0
  - rd_kafka_buf_upgrade_flexver_request
  - rd_kafka_buf_new_request0
  - rd_kafka_buf_new_shadow
  - rd_kafka_bufq_enq
  - rd_kafka_bufq_deq
  - rd_kafka_bufq_init
  - rd_kafka_bufq_reset
  - rd_kafka_bufq_concat
  - rd_kafka_bufq_purge
  - rd_kafka_bufq_connection_reset
  - rd_kafka_bufq_dump
  - rd_kafka_buf_calc_timeout
  - rd_kafka_buf_retry
  - rd_kafka_buf_handle_op
  - rd_kafka_buf_callback
  - rd_kafka_buf_set_maker
  source_file: /src/librdkafka/src/rdkafka_buf.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_topic_result_error
  - rd_kafka_topic_result_error_string
  - rd_kafka_topic_result_name
  - rd_kafka_topic_result_new
  - rd_kafka_topic_result_destroy
  - rd_kafka_topic_result_free
  - rd_kafka_group_result_error
  - rd_kafka_group_result_name
  - rd_kafka_group_result_partitions
  - rd_kafka_group_result_copy
  - rd_kafka_group_result_copy_opaque
  - rd_kafka_group_result_new
  - rd_kafka_group_result_destroy
  - rd_kafka_group_result_free
  - rd_kafka_acl_result_error
  - rd_kafka_acl_result_new
  - rd_kafka_acl_result_destroy
  - rd_kafka_acl_result_free
  - rd_kafka_Node_new
  - rd_kafka_Node_new_from_brokers
  - rd_kafka_Node_copy
  - rd_kafka_Node_destroy
  - rd_kafka_Node_free
  - rd_kafka_Node_id
  - rd_kafka_Node_host
  - rd_kafka_Node_port
  - rd_kafka_Node_rack
  - rd_kafka_topic_partition_result_new
  - rd_kafka_topic_partition_result_partition
  - rd_kafka_topic_partition_result_error
  - rd_kafka_topic_partition_result_destroy
  - rd_kafka_topic_partition_result_destroy_array
  - rd_kafka_topic_partition_result_copy
  - rd_kafka_topic_partition_result_copy_opaque
  - rd_kafka_topic_partition_result_free
  source_file: /src/librdkafka/src/rdkafka_aux.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_unsubscribe
  - _invalid_topic_cb
  - rd_kafka_subscribe
  - rd_kafka_assign0
  - rd_kafka_assign
  - rd_kafka_incremental_assign
  - rd_kafka_incremental_unassign
  - rd_kafka_assignment_lost
  - rd_kafka_rebalance_protocol
  - rd_kafka_assignment
  - rd_kafka_subscription
  - rd_kafka_pause_partitions
  - rd_kafka_resume_partitions
  source_file: /src/librdkafka/src/rdkafka_subscription.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - crc32c_init_sw
  - crc32c_sw
  - gf2_matrix_times
  - gf2_matrix_square
  - crc32c_zeros_op
  - crc32c_zeros
  - crc32c_shift
  - crc32c_init_hw
  - crc32c_hw
  - SSE42
  - rd_crc32c
  - rd_crc32c_global_init
  - unittest_rd_crc32c
  source_file: /src/librdkafka/src/crc32c.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: POLY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '0x82f63b78'
    - item_type: preproc_def
      name: LONG
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '8192'
    - item_type: preproc_def
      name: LONGx1
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '"8192"'
    - item_type: preproc_def
      name: LONGx2
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '"16384"'
    - item_type: preproc_def
      name: SHORT
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '256'
    - item_type: preproc_def
      name: SHORTx1
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '"256"'
    - item_type: preproc_def
      name: SHORTx2
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/librdkafka/src/crc32c.c
      type_or_value: '"512"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - mtx_init
  - mtx_destroy
  - mtx_lock
  - mtx_timedlock
  - mtx_trylock
  - mtx_unlock
  - cnd_init
  - cnd_destroy
  - cnd_signal
  - cnd_broadcast
  - _cnd_timedwait_win32
  - cnd_wait
  - cnd_timedwait
  - _tinycthread_tss_cleanup
  - _tinycthread_tss_callback
  - _thrd_wrapper_function
  - thrd_create
  - thrd_current
  - thrd_detach
  - thrd_equal
  - thrd_exit
  - thrd_join
  - thrd_sleep
  - thrd_yield
  - tss_create
  - tss_delete
  - tss_get
  - tss_set
  - _tthread_timespec_get
  - call_once
  source_file: /src/librdkafka/src/tinycthread.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'NULL'
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/tinycthread.c
      type_or_value: (void*)0
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/tinycthread.c
      type_or_value: '1'
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/tinycthread.c
      type_or_value: '0'
    - item_type: preproc_def
      name: _CONDITION_EVENT_ONE
      pos:
        line_end: 289
        line_start: 288
        source_file: /src/librdkafka/src/tinycthread.c
      type_or_value: '0'
    - item_type: preproc_def
      name: _CONDITION_EVENT_ALL
      pos:
        line_end: 290
        line_start: 289
        source_file: /src/librdkafka/src/tinycthread.c
      type_or_value: '1'
    structs:
    - fields:
      - name: '* value'
        type: void
      - name: key
        type: tss_t
      - name: '* next'
        type: struct TinyCThreadTSSData
      item_type: struct
      name: TinyCThreadTSSData
      pos:
        line_end: 477
        line_start: 473
        source_file: /src/librdkafka/src/tinycthread.c
    - fields:
      - name: mFunction
        type: thrd_start_t
      - name: '* mArg'
        type: void
      item_type: struct
      name: _thread_start_info
      pos:
        line_end: 553
        line_start: 550
        source_file: /src/librdkafka/src/tinycthread.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/lz4frame_static.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_conf_ssl_passwd_cb
  - rd_kafka_cert_destroy
  - rd_kafka_cert_dup
  - rd_kafka_print_ssl_errors
  - rd_kafka_cert_new
  - rd_kafka_conf_set_ssl_cert
  - rd_kafka_conf_cert_dtor
  - rd_kafka_conf_cert_copy
  source_file: /src/librdkafka/src/rdkafka_cert.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_oidc_client_credentials_build_auth_header
  - rd_kafka_oidc_client_credentials_build_headers
  - rd_kafka_jwt_b64_decode_payload
  - rd_kafka_oidc_client_credentials_build_post_fields
  - rd_kafka_oidc_assertion_get_algo_label
  - rd_kafka_oidc_assertion_parse_template_file
  - rd_kafka_oidc_assertion_create
  - rd_kafka_oidc_jwt_bearer_build_request_body
  - rd_kafka_oidc_assertion_read_from_file
  - rd_kafka_oidc_token_try_validate
  - rd_kafka_oidc_token_jwt_bearer_refresh_cb
  - rd_kafka_oidc_token_client_credentials_refresh_cb
  - rd_kafka_oidc_token_metadata_azure_imds_refresh_cb
  - ut_sasl_oauthbearer_oidc_should_succeed
  - ut_sasl_oauthbearer_oidc_with_empty_key
  - ut_sasl_oauthbearer_oidc_post_fields
  - ut_sasl_oauthbearer_oidc_post_fields_with_empty_scope
  - unittest_sasl_oauthbearer_oidc
  - ut_sasl_oauthbearer_oidc_jwt_bearer_base64url_encode
  - ut_sasl_oauthbearer_oidc_jwt_bearer_build_request_body
  - ut_sasl_oauthbearer_oidc_assertion_parse_from_file
  - ut_create_mock_jwt_template_file
  - ut_sasl_oauthbearer_oidc_assertion_process_template_file
  - ut_sasl_oauthbearer_oidc_assertion_create
  - unittest_sasl_oauthbearer_oidc_jwt_bearer
  - unittest_sasl_oauthbearer_oidc_assertion
  source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*input'
        type: char
      - name: '*expected_output'
        type: char
      item_type: struct
      name: "test_cases[] = {\n            /* Regular case */\n            {\"Hello,
        world!\", \"SGVsbG8sIHdvcmxkIQ\"},\n            /* Case with padding characters
        that should be removed */\n            {\"test\", \"dGVzdA\"},\n            /*
        Empty string */\n            {\"\", \"\"},\n            /* Special characters
        that trigger Base64 padding */\n            {\"f\", \"Zg\"},\n            {\"fo\",
        \"Zm8\"},\n            {\"foo\", \"Zm9v\"},\n            {\"foob\", \"Zm9vYg\"},\n
        \           {\"fooba\", \"Zm9vYmE\"},\n            {\"foobar\", \"Zm9vYmFy\"},\n
        \           /* Characters that produce + and / in standard Base64 */\n            {\"\\x3E\\x3F\",\n
        \            \"Pj8\"}, /* encodes to \">?\" in standard Base64 with + and
        / */\n        }"
      pos:
        line_end: 1338
        line_start: 1335
        source_file: /src/librdkafka/src/rdkafka_sasl_oauthbearer_oidc.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdhttp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: code
        type: int
      - name: '*errstr'
        type: char
      - name: data[1]
        type: char
      item_type: struct
      name: rd_http_error_s
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/librdkafka/src/rdhttp.h
    - fields:
      - name: '*hreq_curl'
        type: CURL
      - name: '*hreq_buf'
        type: rd_buf_t
      - name: hreq_code
        type: int
      - name: hreq_curl_errstr[CURL_ERROR_SIZE]
        type: char
      item_type: struct
      name: rd_http_req_s
      pos:
        line_end: 79
        line_start: 73
        source_file: /src/librdkafka/src/rdhttp.h
    typedefs: []
    union: []
- function_names:
  - _RK
  - _RKT
  - rd_kafka_prop2idx
  - rd_kafka_anyconf_set_modified
  - rd_kafka_anyconf_clear_all_is_modified
  - rd_kafka_anyconf_is_modified
  - rd_kafka_anyconf_is_any_modified
  - rd_kafka_conf_validate_broker_version
  - rd_kafka_conf_validate_single
  - rd_kafka_conf_validate_partitioner
  - rd_kafka_conf_prop_find
  - rd_kafka_conf_is_modified
  - rd_kafka_topic_conf_is_modified
  - rd_kafka_anyconf_set_prop0
  - _RK_PTR
  - rd_kafka_conf_s2i_find
  - rd_kafka_anyconf_set_prop
  - rd_kafka_defaultconf_set
  - rd_kafka_conf_new
  - rd_kafka_topic_conf_new
  - rd_kafka_anyconf_set
  - rd_kafka_topic_conf_set
  - rd_kafka_desensitize_str
  - rd_kafka_anyconf_prop_desensitize
  - rd_kafka_anyconf_desensitize
  - rd_kafka_conf_desensitize
  - rd_kafka_topic_conf_desensitize
  - rd_kafka_anyconf_clear
  - rd_kafka_anyconf_destroy
  - rd_kafka_conf_destroy
  - rd_kafka_topic_conf_destroy
  - rd_kafka_anyconf_copy
  - rd_kafka_conf_dup
  - rd_kafka_conf_dup_filter
  - rd_kafka_topic_conf_dup
  - rd_kafka_default_topic_conf_dup
  - rd_kafka_conf_set_events
  - rd_kafka_conf_set_background_event_cb
  - rd_kafka_conf_set_dr_cb
  - rd_kafka_conf_set_dr_msg_cb
  - rd_kafka_conf_set_consume_cb
  - rd_kafka_conf_set_rebalance_cb
  - rd_kafka_conf_set_offset_commit_cb
  - rd_kafka_conf_set_error_cb
  - rd_kafka_conf_set_throttle_cb
  - rd_kafka_conf_set_log_cb
  - rd_kafka_conf_set_stats_cb
  - rd_kafka_conf_set_oauthbearer_token_refresh_cb
  - rd_kafka_conf_enable_sasl_queue
  - rd_kafka_conf_set_socket_cb
  - rd_kafka_conf_set_connect_cb
  - rd_kafka_conf_set_closesocket_cb
  - rd_kafka_conf_set_open_cb
  - rd_kafka_conf_set_resolve_cb
  - rd_kafka_conf_set_ssl_cert_verify_cb
  - rd_kafka_conf_set_opaque
  - rd_kafka_conf_set_engine_callback_data
  - rd_kafka_conf_set_default_topic_conf
  - rd_kafka_conf_get_default_topic_conf
  - rd_kafka_topic_conf_set_partitioner_cb
  - rd_kafka_topic_conf_set_msg_order_cmp
  - rd_kafka_topic_conf_set_opaque
  - rd_kafka_conf_flags2str
  - rd_kafka_anyconf_get0
  - rd_kafka_anyconf_get
  - rd_kafka_topic_conf_get
  - rd_kafka_conf_get
  - rd_kafka_anyconf_dump
  - rd_kafka_conf_dump
  - rd_kafka_topic_conf_dump
  - rd_kafka_conf_dump_free
  - rd_kafka_anyconf_dump_dbg
  - rd_kafka_conf_properties_show
  - rd_kafka_confval_init_int
  - rd_kafka_confval_init_ptr
  - rd_kafka_confval_disable
  - rd_kafka_confval_set_type
  - rd_kafka_confval_get_int
  - rd_kafka_confval_get_str
  - rd_kafka_confval_get_ptr
  - _is_alphanum
  - rd_kafka_sw_str_is_safe
  - rd_kafka_sw_str_sanitize_inplace
  - rd_kafka_conf_kv_split
  - rd_kafka_conf_kv_get
  - rd_kafka_conf_finalize_oauthbearer_oidc_grant_type
  - rd_kafka_conf_finalize_oauthbearer_oidc
  - rd_kafka_conf_finalize
  - rd_kafka_topic_conf_finalize
  - rd_kafka_anyconf_warn_deprecated
  - rd_kafka_conf_warn
  - rd_kafka_conf
  - unittest_conf
  source_file: /src/librdkafka/src/rdkafka_conf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "OpenSSL not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_OPENSSL_1_0_2
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_OPENSSL_1_0_2
      pos:
        line_end: 147
        line_start: 145
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "OpenSSL >= 1.0.2 not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_OPENSSL_1_1_0
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_OPENSSL_1_1_0
      pos:
        line_end: 155
        line_start: 153
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "OpenSSL >= 1.1.0 not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL_ENGINE
      pos:
        line_end: 159
        line_start: 158
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL_ENGINE
      pos:
        line_end: 162
        line_start: 160
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "OpenSSL >= 1.1.x not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL_3
      pos:
        line_end: 166
        line_start: 165
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_SSL_3
      pos:
        line_end: 169
        line_start: 167
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "OpenSSL >= 3.0.0 not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_ZLIB
      pos:
        line_end: 174
        line_start: 173
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_ZLIB
      pos:
        line_end: 176
        line_start: 175
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "zlib not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_SNAPPY
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_SNAPPY
      pos:
        line_end: 182
        line_start: 181
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "snappy not enabled at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_ZSTD
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_ZSTD
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "libzstd not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_HTTP
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_HTTP
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "libcurl not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_OIDC
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_OIDC
      pos:
        line_end: 203
        line_start: 199
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: ".unsupported =                                                         \\\n
        \           \"OAuth/OIDC depends on libcurl and OpenSSL which were not \"
        \       \\\n            \"available at build time\""
    - item_type: preproc_def
      name: _UNSUPPORTED_HTTPS
      pos:
        line_end: 207
        line_start: 206
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_HTTPS
      pos:
        line_end: 212
        line_start: 208
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: ".unsupported =                                                         \\\n
        \           \"HTTPS calls depend on libcurl and OpenSSL which were not \"
        \       \\\n            \"available at build time\""
    - item_type: preproc_def
      name: _UNSUPPORTED_WIN32_GSSAPI
      pos:
        line_end: 220
        line_start: 215
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: ".unsupported =                                                         \\\n
        \           \"Kerberos keytabs are not supported on Windows, \"                  \\\n
        \           \"instead the logged on \"                                           \\\n
        \           \"user's credentials are used through native SSPI\""
    - item_type: preproc_def
      name: _UNSUPPORTED_WIN32_GSSAPI
      pos:
        line_end: 222
        line_start: 221
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_GSSAPI
      pos:
        line_end: 226
        line_start: 225
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = NULL
    - item_type: preproc_def
      name: _UNSUPPORTED_GSSAPI
      pos:
        line_end: 229
        line_start: 227
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: .unsupported = "cyrus-sasl/libsasl2 not available at build time"
    - item_type: preproc_def
      name: _UNSUPPORTED_OAUTHBEARER
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/librdkafka/src/rdkafka_conf.c
      type_or_value: _UNSUPPORTED_SSL
    structs:
    - fields:
      - name: scope
        type: rd_kafka_conf_scope_t
      - name: '*name'
        type: char
      - name: type
        type: "enum {\n                _RK_C_STR,\n                _RK_C_INT,\n                _RK_C_DBL,
          /* Double */\n                _RK_C_S2I, /* String to Integer mapping.\n
          \                           * Supports limited canonical str->int mappings\n
          \                           * using s2i[] */\n                _RK_C_S2F,
          /* CSV String to Integer flag mapping (OR:ed) */\n                _RK_C_BOOL,\n
          \               _RK_C_PTR,     /* Only settable through special set functions
          */\n                _RK_C_PATLIST, /* Pattern list */\n                _RK_C_KSTR,
          \   /* Kafka string */\n                _RK_C_ALIAS, /* Alias: points to
          other property through .sdef */\n                _RK_C_INTERNAL, /* Internal,
          don't expose to application */\n                _RK_C_INVALID,  /* Invalid
          property, used to catch known\n                                 * but unsupported
          Java properties. */\n        }"
      - name: offset
        type: int
      - name: '*desc'
        type: char
      - name: vmin
        type: int
      - name: vmax
        type: int
      - name: vdef
        type: int
      - name: '*sdef'
        type: char
      - name: '*pdef'
        type: void
      - name: ddef
        type: double
      - name: dmin
        type: double
      - name: dmax
        type: double
      - name: s2i[21]
        type: "struct {\n                int val;\n                const char *str;\n
          \               const char *unsupported; /**< Reason for value not being\n
          \                                         *   supported in this build. */\n
          \       }"
      - name: '*unsupported'
        type: char
      - name: "(*validate)(const struct rd_kafka_property *prop,\n                        const
          char *val,\n                        int ival)"
        type: int
      - name: (*ctor)(int scope, void *pconf)
        type: void
      - name: (*dtor)(int scope, void *pconf)
        type: void
      - name: "(*copy)(int scope,\n                     void *pdst,\n                     const
          void *psrc,\n                     void *dstptr,\n                     const
          void *srcptr,\n                     size_t filter_cnt,\n                     const
          char **filter)"
        type: void
      - name: "(*set)(int scope,\n                                   void *pconf,\n
          \                                  const char *name,\n                                   const
          char *value,\n                                   void *dstptr,\n                                   rd_kafka_conf_set_mode_t
          set_mode,\n                                   char *errstr,\n                                   size_t
          errstr_size)"
        type: rd_kafka_conf_res_t
      item_type: struct
      name: rd_kafka_property
      pos:
        line_end: 129
        line_start: 62
        source_file: /src/librdkafka/src/rdkafka_conf.c
    typedefs: []
    union: []
- function_names:
  - rd_segment_destroy
  - rd_segment_init
  - rd_buf_append_segment
  - extra_alloc
  - rd_buf_alloc_segment0
  - rd_buf_alloc_segment
  - rd_buf_write_ensure_contig
  - rd_buf_write_ensure
  - rd_buf_get_segment_at_offset
  - rd_segment_split
  - rd_buf_destroy_segment
  - rd_buf_destroy
  - rd_buf_destroy_free
  - rd_buf_init
  - rd_buf_new
  - rd_buf_get_writable0
  - rd_buf_get_writable
  - rd_buf_write
  - rd_buf_write_slice
  - rd_segment_write_update
  - rd_buf_write_update
  - rd_buf_push0
  - rd_buf_erase
  - rd_buf_write_seek
  - rd_buf_get_write_iov
  - rd_slice_init_seg
  - rd_slice_init
  - rd_slice_init_full
  - rd_slice_reader0
  - rd_slice_reader
  - rd_slice_peeker
  - rd_slice_read
  - rd_slice_peek
  - rd_slice_read_uvarint
  - rd_slice_ensure_contig
  - rd_slice_seek
  - rd_slice_narrow
  - rd_slice_narrow_relative
  - rd_slice_widen
  - rd_slice_narrow_copy
  - rd_slice_narrow_copy_relative
  - rd_slice_get_iov
  - rd_slice_crc32
  - rd_slice_crc32c
  - rd_segment_dump
  - rd_buf_dump
  - rd_slice_dump
  - do_unittest_write_read
  - do_unittest_read_verify
  - do_unittest_read_verify0
  - do_unittest_write_split_seek
  - do_unittest_write_read_payload_correctness
  - do_unittest_iov_verify
  - do_unittest_iov_verify0
  - do_unittest_write_iov
  - do_unittest_erase
  - unittest_rdbuf
  source_file: /src/librdkafka/src/rdbuf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MY_IOV_MAX
      pos:
        line_end: 1622
        line_start: 1621
        source_file: /src/librdkafka/src/rdbuf.c
      type_or_value: '16'
    structs:
    - fields:
      - name: '*segs[4]'
        type: char
      - name: '*writes[4]'
        type: char
      - name: erasures[4]
        type: "struct {\n                        size_t of;\n                        size_t
          size;\n                        size_t retsize;\n                }"
      - name: '*expect'
        type: char
      item_type: struct
      name: "in[] = {/* 12|3|45\n                   *  x x xx */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{1, 4, 4}},\n                      .expect   = \"1\",\n                  },\n
        \                 /* 12|3|45\n                   * xx */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{0, 2, 2}},\n                      .expect   = \"345\",\n                  },\n
        \                 /* 12|3|45\n                   *      xx */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{3, 2, 2}},\n                      .expect   = \"123\",\n                  },\n
        \                 /* 12|3|45\n                   *  x\n                   *
        1 |3|45\n                   *    x\n                   * 1 |  45\n                   *
        \      x */\n                  {\n                      .segs     = {\"12\",
        \"3\", \"45\"},\n                      .erasures = {{1, 1, 1}, {1, 1, 1},
        {2, 1, 1}},\n                      .expect   = \"14\",\n                  },\n
        \                 /* 12|3|45\n                   * xxxxxxx */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{0, 5, 5}},\n                      .expect   = \"\",\n                  },\n
        \                 /* 12|3|45\n                   * x       */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{0, 1, 1}},\n                      .expect   = \"2345\",\n                  },\n
        \                 /* 12|3|45\n                   *       x  */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{4, 1, 1}},\n                      .expect   = \"1234\",\n                  },\n
        \                 /* 12|3|45\n                   *        x  */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{5, 10, 0}},\n                      .expect   = \"12345\",\n                  },\n
        \                 /* 12|3|45\n                   *       xxx */\n                  {\n
        \                     .segs     = {\"12\", \"3\", \"45\"},\n                      .erasures
        = {{4, 3, 1}, {4, 3, 0}, {4, 3, 0}},\n                      .expect   = \"1234\",\n
        \                 },\n                  /* 1\n                   * xxx */\n
        \                 {\n                      .segs     = {\"1\"},\n                      .erasures
        = {{0, 3, 1}},\n                      .expect   = \"\",\n                  },\n
        \                 /* 123456\n                   * xxxxxx */\n                  {\n
        \                     .segs     = {\"123456\"},\n                      .erasures
        = {{0, 6, 6}},\n                      .expect   = \"\",\n                  },\n
        \                 /* 123456789a\n                   *     xxx    */\n                  {\n
        \                     .segs     = {\"123456789a\"},\n                      .erasures
        = {{4, 3, 3}},\n                      .expect   = \"123489a\",\n                  },\n
        \                 /* 1234|5678\n                   *    x xx   */\n                  {.segs
        \    = {\"1234\", \"5678\"},\n                   .erasures = {{3, 3, 3}},\n
        \                  .writes   = {\"9abc\"},\n                   .expect   =
        \"123789abc\"},\n\n                  {.expect = NULL}}"
      pos:
        line_end: 1696
        line_start: 1686
        source_file: /src/librdkafka/src/rdbuf.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_broker_is_addrless
  - rd_kafka_broker_needs_persistent_connection
  - rd_kafka_broker_needs_connection
  - rd_kafka_broker_terminating
  - rd_kafka_mk_nodename
  - rd_kafka_mk_brokername
  - rd_kafka_broker_feature_enable
  - rd_kafka_broker_feature_disable
  - rd_kafka_broker_features_set
  - rd_kafka_broker_ApiVersion_supported0
  - rd_kafka_broker_ApiVersion_supported
  - rd_kafka_broker_ApiVersion_at_least
  - rd_kafka_broker_ApiVersion_at_least_no_lock
  - rd_kafka_broker_set_state
  - rd_kafka_broker_set_error
  - rd_kafka_broker_fail
  - rd_kafka_broker_planned_fail
  - rd_kafka_broker_conn_closed
  - rd_kafka_broker_bufq_purge_by_toppar
  - rd_kafka_broker_bufq_timeout_scan
  - rd_kafka_broker_timeout_scan
  - rd_kafka_broker_send
  - rd_kafka_broker_resolve
  - rd_kafka_broker_buf_enq0
  - rd_kafka_buf_finalize
  - rd_kafka_broker_buf_enq1
  - rd_kafka_broker_buf_enq2
  - rd_kafka_broker_buf_enq_replyq
  - rd_kafka_brokers_get_state_version
  - rd_kafka_brokers_wait_state_change
  - rd_kafka_brokers_wait_state_change_async
  - rd_kafka_broker_state_change_trigger_eonce
  - rd_kafka_brokers_broadcast_state_change
  - rd_kafka_broker_random0
  - rd_kafka_broker_weighted
  - rd_kafka_broker_weight_usable
  - rd_kafka_broker_any
  - rd_kafka_broker_any_up
  - rd_kafka_broker_any_usable
  - rd_kafka_broker_get_async
  - rd_kafka_brokers_get_nodeids_async
  - rd_kafka_broker_controller_nowait
  - rd_kafka_broker_controller_async
  - rd_kafka_broker_controller
  - rd_kafka_waitresp_find
  - rd_kafka_req_response
  - rd_kafka_recv
  - rd_kafka_socket_cb_linux
  - rd_kafka_socket_cb_generic
  - rd_kafka_broker_update_reconnect_backoff
  - rd_kafka_broker_reconnect_backoff
  - rd_kafka_broker_connect
  - rd_kafka_broker_connect_up
  - rd_kafka_broker_handle_SaslHandshake
  - rd_kafka_broker_connect_auth
  - rd_kafka_broker_set_api_versions
  - rd_kafka_broker_handle_ApiVersion
  - rd_kafka_broker_connect_done
  - rd_kafka_broker_request_supported
  - rd_kafka_send
  - rd_kafka_broker_buf_retry
  - rd_kafka_broker_retry_bufs_move
  - rd_kafka_dr_msgq0
  - rd_kafka_dr_implicit_ack
  - rd_kafka_broker_cmp_by_id
  - rd_kafka_broker_set_logname
  - rd_kafka_broker_prepare_destroy
  - rd_kafka_broker_destroy_error
  - rd_kafka_broker_op_serve
  - rd_kafka_broker_ops_serve
  - rd_kafka_broker_ops_io_serve
  - rd_kafka_broker_consumer_toppars_serve
  - rd_kafka_broker_toppar_msgq_scan
  - rd_kafka_broker_toppars_timeout_scan
  - rd_kafka_broker_internal_serve
  - rd_kafka_broker_outbufs_space
  - rd_kafka_set_next_wakeup
  - rd_kafka_toppar_producer_serve
  - rd_kafka_broker_produce_toppars
  - rd_kafka_broker_producer_serve
  - rd_kafka_broker_consumer_serve
  - rd_kafka_broker_idle_check
  - rd_kafka_broker_serve
  - rd_kafka_broker_addresses_exhausted
  - rd_kafka_broker_thread_main
  - rd_kafka_broker_destroy_final
  - rd_kafka_broker_internal
  - rd_kafka_broker_add
  - rd_kafka_broker_add_logical
  - rd_kafka_broker_set_nodename
  - rd_kafka_broker_find_by_nodeid0_fl
  - rd_kafka_broker_find
  - rd_kafka_broker_name_parse
  - rd_kafka_find_or_add_broker
  - rd_kafka_brokers_add0
  - RD_SOCKADDR_LIST_FOREACH
  - rd_kafka_brokers_add
  - rd_kafka_broker_update
  - rd_kafka_broker_id
  - rd_kafka_broker_name
  - rd_kafka_broker_wakeup
  - rd_kafka_all_brokers_wakeup
  - rd_kafka_broker_filter_never_connected
  - rd_kafka_connect_any_timer_cb
  - rd_kafka_connect_any
  - rd_kafka_broker_purge_queues
  - rd_kafka_broker_handle_purge_queues
  - rd_kafka_broker_active_toppar_add
  - rd_kafka_broker_active_toppar_del
  - rd_kafka_broker_schedule_connection
  - rd_kafka_broker_persistent_connection_add
  - rd_kafka_broker_persistent_connection_del
  - rd_kafka_broker_monitor_op_cb
  - rd_kafka_broker_trigger_monitors
  - rd_kafka_broker_monitor_add
  - rd_kafka_broker_monitor_del
  - rd_kafka_broker_start_reauth_timer
  - rd_kafka_broker_start_reauth_cb
  - rd_kafka_brokers_learned_ids
  - rd_kafka_broker_decommission
  - rd_ut_reconnect_backoff
  - rd_ut_ApiVersion_at_least
  - unittest_broker
  source_file: /src/librdkafka/src/rdkafka_broker.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdlog.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_sasl_cyrus_recv
  - render_callback
  - rd_kafka_sasl_cyrus_kinit_refresh
  - rd_kafka_sasl_cyrus_kinit_refresh_tmr_cb
  - rd_kafka_sasl_cyrus_cb_getopt
  - rd_kafka_sasl_cyrus_cb_log
  - rd_kafka_sasl_cyrus_cb_getsimple
  - rd_kafka_sasl_cyrus_cb_getsecret
  - rd_kafka_sasl_cyrus_cb_chalprompt
  - rd_kafka_sasl_cyrus_cb_getrealm
  - rd_kafka_sasl_cyrus_cb_canon
  - rd_kafka_sasl_cyrus_close
  - rd_kafka_sasl_cyrus_client_new
  - rd_kafka_sasl_cyrus_ready
  - rd_kafka_sasl_cyrus_init
  - rd_kafka_sasl_cyrus_term
  - rd_kafka_sasl_cyrus_conf_validate
  - rd_kafka_sasl_cyrus_global_term
  - rd_kafka_sasl_cyrus_global_init
  source_file: /src/librdkafka/src/rdkafka_sasl_cyrus.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: kinit_refresh_tmr
        type: rd_kafka_timer_t
      - name: ready
        type: rd_atomic32_t
      item_type: struct
      name: rd_kafka_sasl_cyrus_handle_s
      pos:
        line_end: 62
        line_start: 58
        source_file: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    - fields:
      - name: '*conn'
        type: sasl_conn_t
      - name: callbacks[16]
        type: sasl_callback_t
      item_type: struct
      name: rd_kafka_sasl_cyrus_state_s
      pos:
        line_end: 70
        line_start: 67
        source_file: /src/librdkafka/src/rdkafka_sasl_cyrus.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_assert
  - RD_KAFKA_OFFSET_IS_LOGICAL
  - RD_KAFKA_OFFSET_IS_LOGICAL
  - rd_kafka_idemp_state2str
  - rd_kafka_txn_state2str
  - rd_kafka_telemetry_state2str
  - rd_kafka_type2str
  - rd_kafka_wrlock
  - rd_kafka_rdlock
  - rd_kafka_rdunlock
  - rd_kafka_wrunlock
  - rd_kafka_curr_msgs_add
  - rd_kafka_curr_msgs_sub
  - rd_kafka_curr_msgs_get
  - rd_kafka_curr_msgs_cnt
  - rd_kafka_curr_msgs_wait_zero
  - rd_kafka_terminating
  - rd_kafka_destroy_flags_check
  - rd_kafka_destroy_flags_no_consumer_close
  - rd_kafka_is_simple_consumer
  - rd_kafka_is_idempotent
  - rd_kafka_is_transactional
  - rd_kafka_log
  - rd_kafka_conf_is_dbg
  - rd_kafka_is_dbg
  - rd_kafka_dbg
  - rd_kafka_dbg0
  - rd_rkb_log0
  - rd_rkb_log
  - rd_rkb_is_dbg
  - rd_rkb_dbg
  - rd_kafka_set_last_error
  - rd_kafka_set_fatal_error
  - rd_kafka_producer_can_have_fatal_errors
  - rd_kafka_consumer_can_have_fatal_errors
  - rd_kafka_fatal_error_code
  - rd_kafka_max_poll_exceeded
  - rd_kafka_app_poll_start
  - rd_kafka_app_polled
  source_file: /src/librdkafka/src/rdkafka_int.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKAP_BROKERS_MAX
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: RD_KAFKAP_TOPICS_MAX
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: RD_KAFKAP_PARTITIONS_MAX
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: RD_KAFKAP_BROKERS_MAX
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: RD_KAFKAP_TOPICS_MAX
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: RD_KAFKAP_PARTITIONS_MAX
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: RD_KAFKAP_GROUPS_MAX
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '100000'
    - item_type: preproc_def
      name: RD_KAFKAP_CONFIGS_MAX
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '10000'
    - item_type: preproc_def
      name: RD_KAFKAP_ABORTED_TRANSACTIONS_MAX
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '1000000'
    - item_type: preproc_def
      name: RD_KAFKA_DESTROY_F_TERMINATE
      pos:
        line_end: 363
        line_start: 358
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_DESTROY_F_DESTROY_CALLED
      pos:
        line_end: 374
        line_start: 363
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: RD_KAFKA_DESTROY_F_IMMEDIATE
      pos:
        line_end: 383
        line_start: 374
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_KAFKA_PURGE_F_ABORT_TXN
      pos:
        line_end: 967
        line_start: 964
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: RD_KAFKA_PURGE_F_MASK
      pos:
        line_end: 968
        line_start: 967
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x107'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_GENERIC
      pos:
        line_end: 980
        line_start: 979
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_BROKER
      pos:
        line_end: 981
        line_start: 980
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_TOPIC
      pos:
        line_end: 982
        line_start: 981
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x4'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_METADATA
      pos:
        line_end: 983
        line_start: 982
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x8'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_FEATURE
      pos:
        line_end: 984
        line_start: 983
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x10'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_QUEUE
      pos:
        line_end: 985
        line_start: 984
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_MSG
      pos:
        line_end: 986
        line_start: 985
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x40'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_PROTOCOL
      pos:
        line_end: 987
        line_start: 986
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x80'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_CGRP
      pos:
        line_end: 988
        line_start: 987
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x100'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_SECURITY
      pos:
        line_end: 989
        line_start: 988
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x200'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_FETCH
      pos:
        line_end: 990
        line_start: 989
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x400'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_INTERCEPTOR
      pos:
        line_end: 991
        line_start: 990
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x800'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_PLUGIN
      pos:
        line_end: 992
        line_start: 991
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x1000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_CONSUMER
      pos:
        line_end: 993
        line_start: 992
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x2000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_ADMIN
      pos:
        line_end: 994
        line_start: 993
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x4000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_EOS
      pos:
        line_end: 995
        line_start: 994
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x8000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_MOCK
      pos:
        line_end: 996
        line_start: 995
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x10000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_ASSIGNOR
      pos:
        line_end: 997
        line_start: 996
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x20000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_CONF
      pos:
        line_end: 998
        line_start: 997
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x40000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_TELEMETRY
      pos:
        line_end: 999
        line_start: 998
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x80000'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_ALL
      pos:
        line_end: 1000
        line_start: 999
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0xfffff'
    - item_type: preproc_def
      name: RD_KAFKA_DBG_NONE
      pos:
        line_end: 1001
        line_start: 1000
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '0x0'
    - item_type: preproc_def
      name: RD_KAFKA_RETRY_JITTER_PERCENT
      pos:
        line_end: 1004
        line_start: 1003
        source_file: /src/librdkafka/src/rdkafka_int.h
      type_or_value: '20'
    structs:
    - fields:
      - name: offset
        type: int64_t
      - name: leader_epoch
        type: int32_t
      - name: validated
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_fetch_pos_s
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/librdkafka/src/rdkafka_int.h
    - fields:
      - name: '*rk_rep'
        type: rd_kafka_q_t
      - name: '*rk_ops'
        type: rd_kafka_q_t
      - name: (, rd_kafka_broker_s)
        type: TAILQ_HEAD
      - name: rk_broker_by_id
        type: rd_list_t
      - name: rk_broker_cnt
        type: rd_atomic32_t
      - name: rk_logical_broker_cnt
        type: rd_atomic32_t
      - name: rk_broker_up_cnt
        type: rd_atomic32_t
      - name: rk_broker_down_cnt
        type: rd_atomic32_t
      - name: rk_rebootstrap_in_progress
        type: rd_atomic32_t
      - name: additional_brokerlists
        type: rd_list_t
      - name: wait_decommissioned_thrds
        type: rd_list_t
      - name: wait_decommissioned_brokers
        type: rd_list_t
      - name: rk_internal_rkb_lock
        type: mtx_t
      - name: '*rk_internal_rkb'
        type: rd_kafka_broker_t
      - name: rk_broker_state_change_cnd
        type: cnd_t
      - name: rk_broker_state_change_lock
        type: mtx_t
      - name: rk_broker_state_change_version
        type: int
      - name: rk_broker_state_change_waiters
        type: rd_list_t
      - name: (, rd_kafka_topic_s)
        type: TAILQ_HEAD
      - name: rk_topic_cnt
        type: int
      - name: '*rk_cgrp'
        type: struct rd_kafka_cgrp_s
      - name: rk_conf
        type: rd_kafka_conf_t
      - name: '*rk_logq'
        type: rd_kafka_q_t
      - name: rk_name[128]
        type: char
      - name: '*rk_client_id'
        type: rd_kafkap_str_t
      - name: '*rk_group_id'
        type: rd_kafkap_str_t
      - name: rk_terminate
        type: rd_atomic32_t
      - name: rk_lock
        type: rwlock_t
      - name: rk_type
        type: rd_kafka_type_t
      - name: rk_tv_state_change
        type: struct timeval
      - name: rk_ts_last_poll
        type: rd_atomic64_t
      - name: rk_fatal
        type: "struct {\n                rd_atomic32_t err; /**< rd_kafka_resp_err_t
          */\n                char *errstr;      /**< Protected by rk_lock */\n                int
          cnt;           /**< Number of errors raised, only\n                                    *
          \  the first one is stored. */\n        }"
      - name: rk_last_throttle
        type: rd_atomic32_t
      - name: rk_ts_metadata
        type: rd_ts_t
      - name: rk_ts_full_metadata
        type: rd_ts_t
      - name: rk_metadata_cache
        type: struct rd_kafka_metadata_cache
      - name: '*rk_clusterid'
        type: char
      - name: rk_controllerid
        type: int32_t
      - name: rk_drmode
        type: "enum {\n                RD_KAFKA_DR_MODE_NONE, /**< No delivery reports
          */\n                RD_KAFKA_DR_MODE_CB,   /**< Delivery reports through
          callback */\n                RD_KAFKA_DR_MODE_EVENT, /**< Delivery reports
          through event\n                                           API*/\n        }"
      - name: rk_simple_cnt
        type: rd_atomic32_t
      - name: rk_eos
        type: "struct {\n                /*\n                 * Idempotence\n                 */\n
          \               rd_kafka_idemp_state_t idemp_state; /**< Idempotent Producer\n
          \                                                    *   state */\n                rd_ts_t
          ts_idemp_state;             /**< Last state change */\n                rd_kafka_pid_t
          pid; /**< Current Producer ID and Epoch */\n                int epoch_cnt;
          \     /**< Number of times pid/epoch changed */\n                rd_atomic32_t
          inflight_toppar_cnt; /**< Current number of\n                                                    *
          \  toppars with inflight\n                                                    *
          \  requests. */\n                rd_kafka_timer_t pid_tmr;          /**<
          PID FSM timer */\n\n                /*\n                 * Transactions\n
          \                *\n                 * All field access is from the rdkafka
          main thread,\n                 * unless a specific lock is mentioned in
          the doc string.\n                 *\n                 */\n                rd_atomic32_t
          txn_may_enq; /**< Transaction state allows\n                                            *
          \  application to enqueue\n                                            *
          \  (produce) messages. */\n\n                rd_kafkap_str_t *transactional_id;
          /**< transactional.id */\n                rd_kafka_txn_state_t txn_state;
          \   /**< Transactional state.\n                                                    *
          \  @locks rk_lock */\n                rd_ts_t ts_txn_state;              /**<
          Last state change.\n                                                    *
          \  @locks rk_lock */\n                rd_kafka_broker_t *txn_coord;      /**<
          Transaction coordinator,\n                                                    *
          \  this is a logical broker.*/\n                rd_kafka_broker_t *txn_curr_coord;
          /**< Current actual coord\n                                                    *
          \  broker.\n                                                    *   This
          is only used to\n                                                    *   check
          if the coord\n                                                    *   changes.
          */\n                rd_kafka_broker_monitor_t txn_coord_mon; /**< Monitor
          for\n                                                          *   coordinator
          to\n                                                          *   take action
          when\n                                                          *   the
          broker state\n                                                          *
          \  changes. */\n                rd_bool_t txn_requires_epoch_bump; /**<
          Coordinator epoch bump\n                                                    *
          \  required to recover from\n                                                    *
          \  idempotent producer\n                                                    *
          \  fatal error. */\n\n                /**< Blocking transactional API application
          call\n                 *   currently being handled, its state, reply queue
          and how\n                 *   to handle timeout.\n                 *   Only
          one transactional API call is allowed at any time.\n                 *   Protected
          by the rk_lock. */\n                struct {\n                        char
          name[64];     /**< API name, e.g.,\n                                            *
          \  send_offsets_to_transaction.\n                                            *
          \  This is used to make sure\n                                            *
          \  conflicting APIs are not\n                                            *
          \  called simultaneously. */\n                        rd_bool_t calling;
          /**< API is being actively called.\n                                            *
          \  I.e., application is blocking\n                                            *
          \  on a txn API call.\n                                            *   This
          is used to make sure\n                                            *   no
          concurrent API calls are\n                                            *
          \  being made. */\n                        rd_kafka_error_t *error; /**<
          Last error from background\n                                                  *
          \  processing. This is only\n                                                  *
          \  set if the application's\n                                                  *
          \  API call timed out.\n                                                  *
          \  It will be returned on\n                                                  *
          \  the next call. */\n                        rd_bool_t has_result;    /**<
          Indicates whether an API\n                                                  *
          \  result (possibly\n                                                  *
          \  intermediate) has been set.\n                                                  */\n
          \                       cnd_t cnd;               /**< Application thread
          will\n                                                  *   block on this
          cnd waiting\n                                                  *   for a
          result to be set. */\n                        mtx_t lock;              /**<
          Protects all fields of\n                                                  *
          \  txn_curr_api. */\n                } txn_curr_api;\n\n\n                int
          txn_req_cnt; /**< Number of transaction\n                                  *
          \  requests sent.\n                                  *   This is incremented
          when a\n                                  *   AddPartitionsToTxn or\n                                  *
          \  AddOffsetsToTxn request\n                                  *   has been
          sent for the\n                                  *   current transaction,\n
          \                                 *   to keep track of\n                                  *
          \  whether the broker is\n                                  *   aware of
          the current\n                                  *   transaction and thus\n
          \                                 *   requires an EndTxn request\n                                  *
          \  on abort or not. */\n\n                /**< Timer to trigger registration
          of pending partitions */\n                rd_kafka_timer_t txn_register_parts_tmr;\n\n
          \               /**< Lock for txn_pending_rktps and txn_waitresp_rktps */\n
          \               mtx_t txn_pending_lock;\n\n                /**< Partitions
          pending being added to transaction. */\n                rd_kafka_toppar_tqhead_t
          txn_pending_rktps;\n\n                /**< Partitions in-flight added to
          transaction. */\n                rd_kafka_toppar_tqhead_t txn_waitresp_rktps;\n\n
          \               /**< Partitions added and registered to transaction. */\n
          \               rd_kafka_toppar_tqhead_t txn_rktps;\n\n                /**<
          Number of messages that failed delivery.\n                 *   If this number
          is >0 on transaction_commit then an\n                 *   abortable transaction
          error will be raised.\n                 *   Is reset to zero on each begin_transaction().
          */\n                rd_atomic64_t txn_dr_fails;\n\n                /**<
          Current transaction error. */\n                rd_kafka_resp_err_t txn_err;\n\n
          \               /**< Current transaction error string, if any. */\n                char
          *txn_errstr;\n\n                /**< Last InitProducerIdRequest error. */\n
          \               rd_kafka_resp_err_t txn_init_err;\n\n                /**<
          Waiting for transaction coordinator query response */\n                rd_bool_t
          txn_wait_coord;\n\n                /**< Transaction coordinator query timer
          */\n                rd_kafka_timer_t txn_coord_tmr;\n        }"
      - name: rk_flushing
        type: rd_atomic32_t
      - name: rk_consumer
        type: "struct {\n                /** Application consumer queue for messages,
          events and errors.\n                 *  (typically points to rkcg_q) */\n
          \               rd_kafka_q_t *q;\n                /** Current assigned partitions
          through assign() et.al. */\n                rd_kafka_assignment_t assignment;\n
          \               /** Waiting for this number of commits to finish. */\n                int
          wait_commit_cnt;\n        }"
      - name: rk_coord_cache
        type: rd_kafka_coord_cache_t
      - name: (, rd_kafka_coord_req_s)
        type: TAILQ_HEAD
      - name: rk_curr_msgs
        type: "struct {\n                mtx_t lock;           /* Protects acces to
          this struct */\n                cnd_t cnd;            /* For waking up blocking
          injectors */\n                unsigned int cnt;     /* Current message count
          */\n                size_t size;          /* Current message size sum */\n
          \               unsigned int max_cnt; /* Max limit */\n                size_t
          max_size;      /* Max limit */\n        }"
      - name: rk_timers
        type: rd_kafka_timers_t
      - name: metadata_refresh_tmr
        type: rd_kafka_timer_t
      - name: one_s_tmr
        type: rd_kafka_timer_t
      - name: rebootstrap_tmr
        type: rd_kafka_timer_t
      - name: rk_thread
        type: thrd_t
      - name: rk_initialized
        type: int
      - name: rk_init_wait_cnt
        type: int
      - name: rk_init_cnd
        type: cnd_t
      - name: rk_init_lock
        type: mtx_t
      - name: rk_ts_created
        type: rd_ts_t
      - name: rk_background
        type: "struct {\n                rd_kafka_q_t *q; /**< Queue served by background
          thread. */\n                thrd_t thread;   /**< Background thread. */\n
          \               int calling;     /**< Indicates whether the event callback\n
          \                                 *   is being called, reset back to 0\n
          \                                 *   when the callback returns.\n                                  *
          \  This can be used for troubleshooting\n                                  *
          \  purposes. */\n        }"
      - name: rk_suppress
        type: "struct {\n                /**< Log: No brokers support Idempotent Producer
          */\n                rd_interval_t no_idemp_brokers;\n\n                /**<
          Sparse connections: randomly select broker\n                 *   to bring
          up. This interval should allow\n                 *   for a previous connection
          to be established,\n                 *   which varies between different
          environments:\n                 *   Use 10 < reconnect.backoff.jitter.ms
          / 2 < 1000.\n                 */\n                rd_interval_t sparse_connect_random;\n\n
          \               /**  Sparse connection timer: fires after remaining time
          of\n                 *   `sparse_connect_random` interval + 1ms.\n                 */\n
          \               rd_kafka_timer_t sparse_connect_random_tmr;\n\n                /**<
          Lock for sparse_connect_random */\n                mtx_t sparse_connect_lock;\n\n
          \               /**< Broker metadata refresh interval:\n                 *
          \  this is rate-limiting the number of topic-less\n                 *   broker/cluster
          metadata refreshes when there are no\n                 *   topics to refresh.\n
          \                *   Will be refreshed every topic.metadata.refresh.interval.ms\n
          \                *   but no more often than every 10s.\n                 *
          \  No locks: only accessed by rdkafka main thread. */\n                rd_interval_t
          broker_metadata_refresh;\n\n                /**< Suppression for allow.auto.create.topics=false
          not being\n                 *   supported by the broker. */\n                rd_interval_t
          allow_auto_create_topics;\n        }"
      - name: rk_sasl
        type: "struct {\n                void *handle; /**< Provider-specific handle
          struct pointer.\n                               *   Typically assigned in
          provider's .init() */\n                rd_kafka_q_t *callback_q; /**< SASL
          callback queue, if any. */\n        }"
      - name: rk_telemetry
        type: "struct {\n                /* Fields for the control flow - unless guarded
          by lock, only\n                 * accessed from main thread. */\n                /**<
          Current state of the telemetry state machine. */\n                rd_kafka_telemetry_state_t
          state;\n                /**< Preferred broker for sending telemetry (Lock
          protected). */\n                rd_kafka_broker_t *preferred_broker;\n                /**<
          Timer for all the requests we schedule. */\n                rd_kafka_timer_t
          request_timer;\n                /**< Lock for preferred telemetry broker
          and state. */\n                mtx_t lock;\n                /**< Used to
          wait for termination (Lock protected). */\n                cnd_t termination_cnd;\n\n
          \               /* Fields obtained from broker as a result of GetSubscriptions
          -\n                 * only accessed from main thread.\n                 */\n
          \               rd_kafka_Uuid_t client_instance_id;\n                int32_t
          subscription_id;\n                rd_kafka_compression_t *accepted_compression_types;\n
          \               size_t accepted_compression_types_cnt;\n                int32_t
          push_interval_ms;\n                int32_t telemetry_max_bytes;\n                rd_bool_t
          delta_temporality;\n                char **requested_metrics;\n                size_t
          requested_metrics_cnt;\n                /* TODO: Use rd_list_t to store
          the metrics */\n                int *matched_metrics;\n                size_t
          matched_metrics_cnt;\n\n                struct {\n                        rd_ts_t
          ts_last;  /**< Timestamp of last push */\n                        rd_ts_t
          ts_start; /**< Timestamp from when collection\n                                           *
          \  started */\n                        /** Total rebalance latency (ms)
          up to previous push */\n                        uint64_t rebalance_latency_total;\n
          \               } rk_historic_c;\n\n                struct {\n                        rd_avg_t
          rk_avg_poll_idle_ratio;\n                        rd_avg_t rk_avg_commit_latency;
          /**< Current commit\n                                                         *
          \  latency avg */\n                        rd_avg_t\n                            rk_avg_rebalance_latency;
          /**< Current rebalance\n                                                       *
          \  latency avg */\n                } rd_avg_current;\n\n                struct
          {\n                        rd_avg_t rk_avg_poll_idle_ratio;\n                        rd_avg_t
          rk_avg_commit_latency; /**< Rolled over commit\n                                                         *
          \  latency avg */\n                        rd_avg_t\n                            rk_avg_rebalance_latency;
          /**< Rolled over rebalance\n                                                       *
          \  latency avg */\n                } rd_avg_rollover;\n\n        }"
      - name: rk_mock
        type: "struct {\n                rd_kafka_mock_cluster_t *cluster; /**< Mock
          cluster, created\n                                                   *   by
          test.mock.num.brokers\n                                                   */\n
          \               rd_atomic32_t cluster_cnt;        /**< Total number of mock\n
          \                                                  *   clusters, created
          either\n                                                   *   through\n
          \                                                  *   test.mock.num.brokers\n
          \                                                  *   or mock_cluster_new().\n
          \                                                  */\n\n        }"
      item_type: struct
      name: rd_kafka_s
      pos:
        line_end: 769
        line_start: 285
        source_file: /src/librdkafka/src/rdkafka_int.h
    typedefs:
    - item_type: typedef
      name: mode_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_int.h
      type: int
    - item_type: typedef
      name: rd_kafka_metadata_internal_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/librdkafka/src/rdkafka_int.h
      type: rd_kafka_metadata_internal_s
    - item_type: typedef
      name: rd_kafka_toppar_t
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/librdkafka/src/rdkafka_int.h
      type: rd_kafka_toppar_s
    - item_type: typedef
      name: rd_kafka_lwtopic_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/librdkafka/src/rdkafka_int.h
      type: rd_kafka_lwtopic_s
    union: []
- function_names:
  - rwlock_init
  - rwlock_rdlock
  - rwlock_wrlock
  - rwlock_rdunlock
  - rwlock_wrunlock
  - rwlock_rdlock_d
  - rwlock_wrlock_d
  - rwlock_rdunlock_d
  - rwlock_wrunlock_d
  source_file: /src/librdkafka/src/tinycthread_extra.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lock
        type: SRWLOCK
      - name: rcnt
        type: LONG
      - name: wcnt
        type: LONG
      item_type: struct
      name: rwlock_t
      pos:
        line_end: 108
        line_start: 104
        source_file: /src/librdkafka/src/tinycthread_extra.h
    typedefs:
    - item_type: typedef
      name: rwlock_t
      pos:
        line_end: 199
        line_start: 199
        source_file: /src/librdkafka/src/tinycthread_extra.h
      type: pthread_rwlock_t
    union: []
- function_names:
  - rd_kafka_offset_stats_reset
  - rd_kafka_fetch_pos_cmp_offset
  - rd_kafka_fetch_pos_cmp
  - rd_kafka_fetch_pos_init
  - rd_kafka_fetch_pos_make
  - RD_KAFKA_FETCH_POS0
  - RD_KAFKA_FETCH_POS0
  - RD_KAFKA_FETCH_POS
  - RD_KAFKA_TOPPAR_FETCH_IS_STARTED
  - RD_KAFKA_TOPPAR_IS_PAUSED
  - rd_kafka_toppar_keep
  - rd_kafka_toppar_keep_fl
  - rd_kafka_toppar_keep0
  - rd_kafka_toppar_destroy
  - rd_kafka_toppar_lock
  - rd_kafka_toppar_unlock
  - rd_kafka_toppar_name
  - rd_kafka_toppar_new
  - rd_kafka_toppar_get
  - RD_KAFKA_TPLIST_FOREACH
  - RD_KAFKA_TPLIST_FOREACH_REVERSE
  - rd_kafka_topic_partition_private_new
  - rd_kafka_topic_partition_get_private
  - rd_kafka_topic_partition_toppar
  - rd_kafka_topic_partition_get_toppar
  - rd_kafka_fetch_pos_t::rd_kafka_topic_partition_get_fetch_pos
  - rd_kafka_topic_partition_match_valid_offset
  - rd_kafka_toppar_ver_cmp
  - rd_kafka_toppar_ver_destroy
  - rd_kafka_op_version_outdated
  - rd_kafka_partition_leader_destroy
  - rd_kafka_partition_leader_new
  - rd_kafka_partition_leader_cmp
  - rd_kafka_toppar_topic_cmp
  - rd_kafka_toppar_set_next_fetch_position
  - rd_kafka_toppar_set_offset_validation_position
  source_file: /src/librdkafka/src/rdkafka_partition.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_DESIRED
      pos:
        line_end: 409
        line_start: 406
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_UNKNOWN
      pos:
        line_end: 412
        line_start: 409
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x2                                '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_OFFSET_STORE
      pos:
        line_end: 413
        line_start: 412
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_OFFSET_STORE_STOPPING
      pos:
        line_end: 416
        line_start: 413
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x8                              '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_APP_PAUSE
      pos:
        line_end: 417
        line_start: 416
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_LIB_PAUSE
      pos:
        line_end: 418
        line_start: 417
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_REMOVE
      pos:
        line_end: 419
        line_start: 418
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_LEADER_ERR
      pos:
        line_end: 424
        line_start: 419
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_PEND_TXN
      pos:
        line_end: 427
        line_start: 424
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_IN_TXN
      pos:
        line_end: 430
        line_start: 427
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x200                            '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_ON_DESP
      pos:
        line_end: 431
        line_start: 430
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x400  '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_ON_CGRP
      pos:
        line_end: 432
        line_start: 431
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x800  '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_ON_RKB
      pos:
        line_end: 433
        line_start: 432
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x1000 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_ASSIGNED
      pos:
        line_end: 436
        line_start: 433
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x2000 '
    - item_type: preproc_def
      name: RD_KAFKA_TOPPAR_F_VALIDATING
      pos:
        line_end: 438
        line_start: 436
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x4000 '
    - item_type: preproc_def
      name: RD_KAFKA_FMT_F_OFFSET
      pos:
        line_end: 948
        line_start: 947
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_FMT_F_ONLY_ERR
      pos:
        line_end: 949
        line_start: 948
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: RD_KAFKA_FMT_F_NO_ERR
      pos:
        line_end: 950
        line_start: 949
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type_or_value: '0x4 '
    structs:
    - fields:
      - name: fetch_pos
        type: rd_kafka_fetch_pos_t
      - name: eof_offset
        type: int64_t
      item_type: struct
      name: offset_stats
      pos:
        line_end: 44
        line_start: 41
        source_file: /src/librdkafka/src/rdkafka_partition.h
    - fields:
      - name: err
        type: rd_kafka_resp_err_t
      - name: actions
        type: int
      - name: ts
        type: rd_ts_t
      - name: base_msgid
        type: uint64_t
      - name: base_seq
        type: int32_t
      - name: last_seq
        type: int32_t
      item_type: struct
      name: rd_kafka_toppar_err
      pos:
        line_end: 68
        line_start: 59
        source_file: /src/librdkafka/src/rdkafka_partition.h
    - fields:
      - name: (rd_kafka_toppar_s)
        type: TAILQ_ENTRY
      - name: (rd_kafka_toppar_s)
        type: TAILQ_ENTRY
      - name: (rd_kafka_toppar_s)
        type: CIRCLEQ_ENTRY
      - name: (rd_kafka_toppar_s)
        type: TAILQ_ENTRY
      - name: (rd_kafka_toppar_s)
        type: TAILQ_ENTRY
      - name: (rd_kafka_toppar_s)
        type: TAILQ_ENTRY
      - name: '*rktp_rkt'
        type: rd_kafka_topic_t
      - name: rktp_partition
        type: int32_t
      - name: rktp_leader_id
        type: int32_t
      - name: rktp_broker_id
        type: int32_t
      - name: '*rktp_leader'
        type: rd_kafka_broker_t
      - name: '*rktp_broker'
        type: rd_kafka_broker_t
      - name: '*rktp_next_broker'
        type: rd_kafka_broker_t
      - name: rktp_refcnt
        type: rd_refcnt_t
      - name: rktp_lock
        type: mtx_t
      - name: '*rktp_msgq_wakeup_q'
        type: rd_kafka_q_t
      - name: rktp_msgq
        type: rd_kafka_msgq_t
      - name: rktp_xmit_msgq
        type: rd_kafka_msgq_t
      - name: rktp_fetch
        type: int
      - name: '*rktp_fetchq'
        type: rd_kafka_q_t
      - name: '*rktp_ops'
        type: rd_kafka_q_t
      - name: rktp_msgs_inflight
        type: rd_atomic32_t
      - name: rktp_msgid
        type: uint64_t
      - name: rktp_eos
        type: "struct {\n                rd_kafka_pid_t pid;        /**< Partition's
          last known\n                                            *   Producer Id
          and epoch.\n                                            *   Protected by
          toppar lock.\n                                            *   Only updated
          in toppar\n                                            *   handler thread.
          */\n                uint64_t acked_msgid;      /**< Highest acknowledged
          message.\n                                            *   Protected by toppar
          lock. */\n                uint64_t epoch_base_msgid; /**< This Producer
          epoch's\n                                            *   base msgid.\n                                            *
          \  When a new epoch is\n                                            *   acquired,
          or on transaction\n                                            *   abort,
          the base_seq is set to\n                                            *   the
          current rktp_msgid so that\n                                            *
          \  sub-sequent produce\n                                            *   requests
          will have\n                                            *   a sequence number
          series\n                                            *   starting at 0.\n
          \                                           *   Protected by toppar_lock
          */\n                int32_t next_ack_seq;      /**< Next expected ack sequence.\n
          \                                           *   Protected by toppar lock.
          */\n                int32_t next_err_seq;      /**< Next expected error
          sequence.\n                                            *   Used when draining
          outstanding\n                                            *   issues.\n                                            *
          \  This value will be the same\n                                            *
          \  as next_ack_seq until a\n                                            *
          \  drainable error occurs,\n                                            *
          \  in which case it\n                                            *   will
          advance past next_ack_seq.\n                                            *
          \  next_ack_seq can never be larger\n                                            *
          \  than next_err_seq.\n                                            *   Protected
          by toppar lock. */\n                rd_bool_t wait_drain;      /**< All
          inflight requests must\n                                            *   be
          drained/finish before\n                                            *   resuming
          producing.\n                                            *   This is set
          to true\n                                            *   when a leader change\n
          \                                           *   happens so that the\n                                            *
          \  in-flight messages for the\n                                            *
          \  old brokers finish before\n                                            *
          \  the new broker starts sending.\n                                            *
          \  This as a step to ensure\n                                            *
          \  consistency.\n                                            *   Only accessed
          from toppar\n                                            *   handler thread.
          */\n        }"
      - name: rktp_version
        type: rd_atomic32_t
      - name: rktp_op_version
        type: int32_t
      - name: rktp_fetch_version
        type: int32_t
      - name: rktp_fetch_state
        type: "enum {\n                RD_KAFKA_TOPPAR_FETCH_NONE = 0,\n                RD_KAFKA_TOPPAR_FETCH_STOPPING,\n
          \               RD_KAFKA_TOPPAR_FETCH_STOPPED,\n                RD_KAFKA_TOPPAR_FETCH_OFFSET_QUERY,\n
          \               RD_KAFKA_TOPPAR_FETCH_OFFSET_WAIT,\n                RD_KAFKA_TOPPAR_FETCH_VALIDATE_EPOCH_WAIT,\n
          \               RD_KAFKA_TOPPAR_FETCH_ACTIVE,\n        }"
      - name: rktp_leader_epoch
        type: int32_t
      - name: rktp_fetch_msg_max_bytes
        type: int32_t
      - name: rktp_ts_fetch_backoff
        type: rd_ts_t
      - name: rktp_query_pos
        type: rd_kafka_fetch_pos_t
      - name: rktp_next_fetch_start
        type: rd_kafka_fetch_pos_t
      - name: rktp_last_next_fetch_start
        type: rd_kafka_fetch_pos_t
      - name: rktp_offset_validation_pos
        type: rd_kafka_fetch_pos_t
      - name: rktp_app_pos
        type: rd_kafka_fetch_pos_t
      - name: rktp_stored_pos
        type: rd_kafka_fetch_pos_t
      - name: '*rktp_stored_metadata'
        type: void
      - name: rktp_stored_metadata_size
        type: size_t
      - name: rktp_committing_pos
        type: rd_kafka_fetch_pos_t
      - name: rktp_committed_pos
        type: rd_kafka_fetch_pos_t
      - name: rktp_ts_committed_offset
        type: rd_ts_t
      - name: rktp_offsets
        type: struct offset_stats
      - name: rktp_offsets_fin
        type: struct offset_stats
      - name: rktp_ls_offset
        type: int64_t
      - name: rktp_hi_offset
        type: int64_t
      - name: rktp_lo_offset
        type: int64_t
      - name: rktp_ts_offset_lag
        type: rd_ts_t
      - name: '*rktp_offset_path'
        type: char
      - name: '*rktp_offset_fp'
        type: FILE
      - name: rktp_last_error
        type: rd_kafka_resp_err_t
      - name: '*rktp_cgrp'
        type: rd_kafka_cgrp_t
      - name: rktp_started
        type: rd_bool_t
      - name: rktp_replyq
        type: rd_kafka_replyq_t
      - name: rktp_flags
        type: int
      - name: rktp_offset_query_tmr
        type: rd_kafka_timer_t
      - name: rktp_offset_commit_tmr
        type: rd_kafka_timer_t
      - name: rktp_offset_sync_tmr
        type: rd_kafka_timer_t
      - name: rktp_consumer_lag_tmr
        type: rd_kafka_timer_t
      - name: rktp_validate_tmr
        type: rd_kafka_timer_t
      - name: rktp_lease_intvl
        type: rd_interval_t
      - name: rktp_new_lease_intvl
        type: rd_interval_t
      - name: rktp_new_lease_log_intvl
        type: rd_interval_t
      - name: rktp_metadata_intvl
        type: rd_interval_t
      - name: rktp_wait_consumer_lag_resp
        type: int
      - name: rktp_last_err
        type: struct rd_kafka_toppar_err
      - name: rktp_c
        type: "struct {\n                rd_atomic64_t tx_msgs;      /**< Producer:
          sent messages */\n                rd_atomic64_t tx_msg_bytes; /**<  .. bytes
          */\n                rd_atomic64_t rx_msgs;      /**< Consumer: received
          messages */\n                rd_atomic64_t rx_msg_bytes; /**<  .. bytes
          */\n                rd_atomic64_t producer_enq_msgs; /**< Producer: enqueued
          msgs */\n                rd_atomic64_t rx_ver_drops;      /**< Consumer:
          outdated message\n                                                  *             drops.
          */\n        }"
      item_type: struct
      name: rd_kafka_toppar_s
      pos:
        line_end: 480
        line_start: 136
        source_file: /src/librdkafka/src/rdkafka_partition.h
    - fields:
      - name: '*rktp'
        type: rd_kafka_toppar_t
      - name: current_leader_epoch
        type: int32_t
      - name: leader_epoch
        type: int32_t
      - name: topic_id
        type: rd_kafka_Uuid_t
      item_type: struct
      name: rd_kafka_topic_partition_private_s
      pos:
        line_end: 502
        line_start: 491
        source_file: /src/librdkafka/src/rdkafka_partition.h
    - fields:
      - name: '*rktp'
        type: rd_kafka_toppar_t
      - name: version
        type: int32_t
      item_type: struct
      name: rd_kafka_toppar_ver
      pos:
        line_end: 1028
        line_start: 1025
        source_file: /src/librdkafka/src/rdkafka_partition.h
    - fields:
      - name: '*rkb'
        type: rd_kafka_broker_t
      - name: '*partitions'
        type: rd_kafka_topic_partition_list_t
      item_type: struct
      name: rd_kafka_partition_leader
      pos:
        line_end: 1089
        line_start: 1086
        source_file: /src/librdkafka/src/rdkafka_partition.h
    typedefs:
    - item_type: typedef
      name: "(rd_kafka_toppar_tqhead_s,\n                   rd_kafka_toppar_s)"
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/librdkafka/src/rdkafka_partition.h
      type: TAILQ_HEAD
    union: []
- function_names:
  - get_unaligned64
  - get_unaligned32
  - get_unaligned_le32
  - put_unaligned64
  - put_unaligned32
  - put_unaligned16
  - put_unaligned_le16
  - CRASH_UNLESS
  - CHECK
  - CHECK_LE
  - CHECK_GE
  - CHECK_EQ
  - CHECK_NE
  - CHECK_LT
  - CHECK_GT
  - UNALIGNED_LOAD32
  - UNALIGNED_LOAD64
  - UNALIGNED_STORE16
  - UNALIGNED_STORE32
  - UNALIGNED_STORE64
  - unaligned_copy64
  - DCHECK
  - DCHECK_LE
  - DCHECK_GE
  - DCHECK_EQ
  - DCHECK_NE
  - DCHECK_LT
  - DCHECK_GT
  - DCHECK
  - DCHECK_LE
  - DCHECK_GE
  - DCHECK_EQ
  - DCHECK_NE
  - DCHECK_LT
  - DCHECK_GT
  - is_little_endian
  - rd_clz
  - rd_ctz
  - rd_ctz64
  - rd_clz
  - rd_ctz
  - rd_ctz64
  - rd_clz
  - rd_ctz
  - rd_ctz64
  - rd_clz
  - rd_ctz
  - rd_ctz64
  - log2_floor
  - find_lsb_set_non_zero
  - find_lsb_set_non_zero64
  - varint_parse32_with_limit
  - varint_encode32
  - n_bytes_after_addr
  - available
  - peek
  - skip
  - append
  - sink_peek
  - available
  - peek
  - skip
  - append
  - sink_peek
  - sink_peek_no_sg
  - writer_set_expected_length
  - writer_check_length
  - incremental_copy
  - incremental_copy_fast_path
  - writer_append_from_self
  - writer_append
  - writer_try_fast_append
  - hash_bytes
  - hash
  - rd_kafka_snappy_max_compressed_length
  - emit_literal
  - emit_copy_less_than64
  - emit_copy
  - rd_kafka_snappy_uncompressed_length
  - get_hash_table
  - find_match_length
  - find_match_length
  - get_eight_bytes_at
  - get_u32_at_offset
  - get_eight_bytes_at
  - get_u32_at_offset
  - compress_fragment
  - init_snappy_decompressor
  - exit_snappy_decompressor
  - read_uncompressed_length
  - decompress_all_tags
  - MAYBE_REFILL
  - refill_tag
  - internal_uncompress
  - sn_compress
  - rd_kafka_snappy_compress_iov
  - rd_kafka_snappy_compress
  - rd_kafka_snappy_uncompress_iov
  - rd_kafka_snappy_uncompress
  - rd_kafka_snappy_java_uncompress
  - rd_kafka_snappy_compress
  - rd_kafka_snappy_uncompress
  - clear_env
  - rd_kafka_snappy_init_env_sg
  - rd_kafka_snappy_init_env
  - rd_kafka_snappy_free_env
  source_file: /src/librdkafka/src/snappy.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: __inline
    - item_type: preproc_def
      name: kmax32
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: '5'
    - item_type: preproc_def
      name: kmax_increment_copy_overflow
      pos:
        line_end: 553
        line_start: 552
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: '10'
    - item_type: preproc_def
      name: kblock_log
      pos:
        line_end: 802
        line_start: 801
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: '16'
    - item_type: preproc_def
      name: kblock_size
      pos:
        line_end: 803
        line_start: 802
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: (1 << kblock_log)
    - item_type: preproc_def
      name: kmax_hash_table_bits
      pos:
        line_end: 809
        line_start: 808
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: '14'
    - item_type: preproc_def
      name: kmax_hash_table_size
      pos:
        line_end: 810
        line_start: 809
        source_file: /src/librdkafka/src/snappy.c
      type_or_value: (1U << kmax_hash_table_bits)
    structs:
    - fields:
      - name: '*iov'
        type: struct iovec
      - name: iovlen
        type: int
      - name: curvec
        type: int
      - name: curoff
        type: int
      - name: total
        type: size_t
      item_type: struct
      name: source
      pos:
        line_end: 367
        line_start: 361
        source_file: /src/librdkafka/src/snappy.c
    - fields:
      - name: '*iov'
        type: struct iovec
      - name: iovlen
        type: int
      - name: curvec
        type: unsigned
      - name: curoff
        type: unsigned
      - name: written
        type: unsigned
      item_type: struct
      name: sink
      pos:
        line_end: 406
        line_start: 400
        source_file: /src/librdkafka/src/snappy.c
    - fields:
      - name: '*ptr'
        type: char
      - name: left
        type: size_t
      item_type: struct
      name: source
      pos:
        line_end: 441
        line_start: 438
        source_file: /src/librdkafka/src/snappy.c
    - fields:
      - name: '*dest'
        type: char
      item_type: struct
      name: sink
      pos:
        line_end: 462
        line_start: 460
        source_file: /src/librdkafka/src/snappy.c
    - fields:
      - name: '*base'
        type: char
      - name: '*op'
        type: char
      - name: '*op_limit'
        type: char
      item_type: struct
      name: writer
      pos:
        line_end: 484
        line_start: 480
        source_file: /src/librdkafka/src/snappy.c
    - fields:
      - name: '*reader'
        type: struct source
      - name: '*ip'
        type: char
      - name: '*ip_limit'
        type: char
      - name: peeked
        type: u32
      - name: eof
        type: bool
      - name: scratch[5]
        type: char
      item_type: struct
      name: snappy_decompressor
      pos:
        line_end: 1198
        line_start: 1191
        source_file: /src/librdkafka/src/snappy.c
    typedefs:
    - item_type: typedef
      name: eight_bytes_reference
      pos:
        line_end: 939
        line_start: 939
        source_file: /src/librdkafka/src/snappy.c
      type: u64
    - item_type: typedef
      name: '*eight_bytes_reference'
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/librdkafka/src/snappy.c
      type: char
    union: []
- function_names:
  - likely
  - unlikely
  - RD_IS_CONSTANT
  - rd_alloca
  - RD_FORMAT
  - rd_snprintf
  - rd_vsnprintf
  - rd_strcasecmp
  - rd_strncasecmp
  - rd_strcasestr
  - rd_strcasestr
  - rd_set_errno
  - rd_strerror
  - rd_strerror
  - rd_usleep
  - rd_gettimeofday
  - rd_assert
  - rd_assert
  - rd_getenv
  - rd_socket_strerror
  - rd_socket_poll
  - rd_fd_set_nonblocking
  - rd_pipe_nonblocking
  - rd_socket_read
  - rd_socket_write
  - rd_socket_close
  - rd_write
  - rd_open
  - rd_close
  source_file: /src/librdkafka/src/rdposix.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_UNUSED
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: __attribute__((unused))
    - item_type: preproc_def
      name: RD_INLINE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: inline
    - item_type: preproc_def
      name: RD_WARN_UNUSED_RESULT
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: RD_NORETURN
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: __attribute__((noreturn))
    - item_type: preproc_def
      name: RD_TLS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: __thread
    - item_type: preproc_def
      name: PRIusz
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: '"zu"'
    - item_type: preproc_def
      name: PRIdsz
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: '"zd"'
    - item_type: preproc_def
      name: RD_ZERO_INIT
      pos:
        line_end: 184
        line_start: 182
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: '{}'
    - item_type: preproc_def
      name: RD_SOCKET_ERROR
      pos:
        line_end: 194
        line_start: 193
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: (-1)
    - item_type: preproc_def
      name: rd_socket_errno
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/librdkafka/src/rdposix.h
      type_or_value: errno
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_socket_t
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/librdkafka/src/rdposix.h
      type: int
    - item_type: typedef
      name: rd_pollfd_t
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/librdkafka/src/rdposix.h
      type: pollfd
    union: []
- function_names:
  - rd_kafka_sasl_scram_close
  - rd_kafka_sasl_scram_generate_nonce
  - rd_kafka_sasl_scram_get_attr
  - rd_kafka_sasl_scram_H
  - rd_kafka_sasl_scram_HMAC
  - rd_kafka_sasl_scram_Hi
  - rd_kafka_sasl_safe_string
  - rd_kafka_sasl_scram_build_client_final_message_wo_proof
  - rd_kafka_sasl_scram_build_client_final_message
  - rd_kafka_sasl_scram_handle_server_first_message
  - rd_kafka_sasl_scram_handle_server_final_message
  - rd_kafka_sasl_scram_build_client_first_message
  - rd_kafka_sasl_scram_fsm
  - rd_kafka_sasl_scram_recv
  - rd_kafka_sasl_scram_client_new
  - rd_kafka_sasl_scram_conf_validate
  - unittest_scram_nonce
  - unittest_scram_safe
  - unittest_scram
  source_file: /src/librdkafka/src/rdkafka_sasl_scram.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: state
        type: "enum {\n                RD_KAFKA_SASL_SCRAM_STATE_CLIENT_FIRST_MESSAGE,\n
          \               RD_KAFKA_SASL_SCRAM_STATE_SERVER_FIRST_MESSAGE,\n                RD_KAFKA_SASL_SCRAM_STATE_CLIENT_FINAL_MESSAGE,\n
          \       }"
      - name: cnonce
        type: rd_chariov_t
      - name: first_msg_bare
        type: rd_chariov_t
      - name: '*ServerSignatureB64'
        type: char
      - name: '*evp'
        type: EVP_MD
      item_type: struct
      name: rd_kafka_sasl_scram_state
      pos:
        line_end: 65
        line_start: 55
        source_file: /src/librdkafka/src/rdkafka_sasl_scram.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_roundrobin_assignor_assign_cb
  - rd_kafka_roundrobin_assignor_init
  source_file: /src/librdkafka/src/rdkafka_roundrobin_assignor.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_actions2str
  - rd_kafka_err_action
  - rd_kafka_buf_read_topic_partitions
  - rd_kafka_buf_read_topic_partitions_nullable
  - rd_kafka_buf_write_topic_partitions
  - rd_kafka_buf_read_CurrentLeader
  - rd_kafka_buf_read_NodeEndpoints
  - rd_kafka_FindCoordinatorRequest
  - rd_kafka_ListOffsetRequest_parameters_make
  - rd_kafka_ListOffsetRequest_parameters_new
  - rd_kafka_ListOffsetRequest_parameters_destroy_free
  - rd_kafka_ListOffsetRequest_buf_new
  - rd_kafka_parse_ListOffsets
  - rd_kafka_make_ListOffsetsRequest
  - rd_kafka_ListOffsetsRequest
  - rd_kafka_ListOffsetsRequest_admin
  - rd_kafka_handle_ListOffsets
  - rd_kafka_handle_OffsetForLeaderEpoch
  - rd_kafka_OffsetForLeaderEpochRequest
  - rd_kafka_handle_OffsetFetch_err_action
  - rd_kafka_handle_OffsetFetch
  - rd_kafka_op_handle_OffsetFetch
  - rd_kafka_OffsetFetchRequest
  - rd_kafka_handle_OffsetCommit_error
  - rd_kafka_handle_OffsetCommit
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_OffsetCommitRequest
  - rd_kafka_OffsetDeleteRequest
  - rd_kafka_group_MemberState_consumer_write
  - rd_kafka_SyncGroupRequest
  - rd_kafka_JoinGroupRequest
  - rd_kafka_LeaveGroupRequest
  - rd_kafka_handle_LeaveGroup
  - rd_kafka_HeartbeatRequest
  - rd_kafka_ConsumerGroupHeartbeatRequest
  - rd_kafka_ListGroupsRequest
  - rd_kafka_DescribeGroupsRequest
  - rd_kafka_handle_Metadata
  - rd_kafka_MetadataRequest0
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_MetadataRequest
  - rd_kafka_MetadataRequest_resp_cb
  - rd_kafka_handle_ApiVersion
  - rd_kafka_ApiVersionRequest
  - rd_kafka_SaslHandshakeRequest
  - rd_kafka_handle_SaslAuthenticate
  - rd_kafka_SaslAuthenticateRequest
  - rd_kafkap_leader_discovery_tmpabuf_add_alloc_brokers
  - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topics
  - rd_kafkap_leader_discovery_tmpabuf_add_alloc_topic
  - rd_kafkap_leader_discovery_metadata_init
  - rd_kafkap_leader_discovery_set_brokers
  - rd_kafkap_leader_discovery_set_topic_cnt
  - rd_kafkap_leader_discovery_set_topic
  - rd_kafkap_leader_discovery_set_CurrentLeader
  - rd_kafkap_Produce_reply_tags_partition_parse
  - rd_kafkap_Produce_reply_tags_parse
  - rd_kafka_handle_Produce_metadata_update
  - rd_kafkap_Produce_reply_tags_destroy
  - rd_kafka_handle_Produce_parse
  - rd_kafka_handle_idempotent_Produce_error
  - rd_kafka_handle_Produce_error
  - rd_kafka_handle_idempotent_Produce_success
  - rd_kafka_msgbatch_handle_Produce_result_record_errors
  - rd_kafka_msgbatch_handle_Produce_result
  - rd_kafka_handle_Produce
  - rd_kafka_ProduceRequest
  - rd_kafka_CreateTopicsRequest
  - rd_kafka_DeleteTopicsRequest
  - rd_kafka_DeleteRecordsRequest
  - rd_kafka_CreatePartitionsRequest
  - rd_kafka_AlterConfigsRequest
  - RD_LIST_FOREACH
  - rd_kafka_IncrementalAlterConfigsRequest
  - RD_LIST_FOREACH
  - rd_kafka_DescribeConfigsRequest
  - RD_LIST_FOREACH
  - rd_kafka_DeleteGroupsRequest
  - rd_kafka_AclBinding_request_size
  - rd_kafka_CreateAclsRequest
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_DescribeAclsRequest
  - rd_kafka_DeleteAclsRequest
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_ElectLeadersRequest
  - rd_kafka_ConsumerGroupDescribeRequest
  - rd_kafka_handle_InitProducerId
  - rd_kafka_InitProducerIdRequest
  - rd_kafka_AddPartitionsToTxnRequest
  - TAILQ_FOREACH
  - rd_kafka_AddOffsetsToTxnRequest
  - rd_kafka_EndTxnRequest
  - rd_kafka_GetTelemetrySubscriptionsRequest
  - rd_kafka_PushTelemetryRequest
  - rd_kafka_handle_GetTelemetrySubscriptions
  - rd_kafka_handle_PushTelemetry
  - ut_create_msgs
  - unittest_idempotent_producer
  - unittest_handle_GetTelemetrySubscriptions
  - unittest_request
  source_file: /src/librdkafka/src/rdkafka_request.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _BATCH_CNT
      pos:
        line_end: 6779
        line_start: 6778
        source_file: /src/librdkafka/src/rdkafka_request.c
      type_or_value: '4'
    - item_type: preproc_def
      name: _MSGS_PER_BATCH
      pos:
        line_end: 6780
        line_start: 6779
        source_file: /src/librdkafka/src/rdkafka_request.c
      type_or_value: '3'
    structs:
    - fields:
      - name: '*rktpars'
        type: rd_kafka_topic_partition_list_t
      - name: isolation_level
        type: rd_kafka_IsolationLevel_t
      - name: '*errstr'
        type: char
      - name: errstr_size
        type: size_t
      item_type: struct
      name: rd_kafka_ListOffsetRequest_parameters_s
      pos:
        line_end: 636
        line_start: 627
        source_file: /src/librdkafka/src/rdkafka_request.c
    - fields:
      - name: Partition
        type: int32_t
      - name: ErrorCode
        type: int16_t
      - name: Offset
        type: int64_t
      item_type: struct
      name: hdr
      pos:
        line_end: 3748
        line_start: 3744
        source_file: /src/librdkafka/src/rdkafka_request.c
    - fields:
      - name: err
        type: rd_kafka_resp_err_t
      - name: actions
        type: int
      - name: incr_retry
        type: int
      - name: status
        type: rd_kafka_msg_status_t
      - name: next_ack_seq
        type: int32_t
      - name: next_err_seq
        type: int32_t
      - name: update_next_ack
        type: rd_bool_t
      - name: update_next_err
        type: rd_bool_t
      - name: rktp_pid
        type: rd_kafka_pid_t
      - name: last_seq
        type: int32_t
      item_type: struct
      name: rd_kafka_Produce_err
      pos:
        line_end: 3877
        line_start: 3864
        source_file: /src/librdkafka/src/rdkafka_request.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdhdrhistogram.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: lowestTrackableValue
        type: int64_t
      - name: highestTrackableValue
        type: int64_t
      - name: unitMagnitude
        type: int64_t
      - name: significantFigures
        type: int64_t
      - name: subBucketHalfCountMagnitude
        type: int32_t
      - name: subBucketHalfCount
        type: int32_t
      - name: subBucketMask
        type: int64_t
      - name: subBucketCount
        type: int32_t
      - name: bucketCount
        type: int32_t
      - name: countsLen
        type: int32_t
      - name: totalCount
        type: int64_t
      - name: '*counts'
        type: int64_t
      - name: outOfRangeCount
        type: int64_t
      - name: lowestOutOfRange
        type: int64_t
      - name: highestOutOfRange
        type: int64_t
      - name: allocatedSize
        type: int32_t
      item_type: struct
      name: rd_hdr_histogram_s
      pos:
        line_end: 54
        line_start: 33
        source_file: /src/librdkafka/src/rdhdrhistogram.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_group_member_clear
  - rd_kafka_group_member_cmp
  - rd_kafka_group_member_find_subscription
  - rd_kafka_consumer_protocol_member_metadata_new
  - rd_kafka_assignor_get_metadata_with_empty_userdata
  - rd_kafka_member_subscription_match
  - rd_kafka_assignor_topic_destroy
  - rd_kafka_assignor_topic_cmp
  - rd_kafka_member_subscriptions_map
  - rd_kafka_assignor_run
  - rd_kafka_assignor_cmp_str
  - rd_kafka_assignor_find
  - rd_kafka_assignor_destroy
  - rd_kafka_assignor_rebalance_protocol_check
  - rd_kafka_assignor_add
  - rtrim
  - rd_kafka_assignor_cmp_idx
  - rd_kafka_assignors_init
  - rd_kafka_assignors_term
  - rd_kafka_use_rack_aware_assignment
  - RD_LIST_FOREACH
  - ut_populate_internal_broker_metadata
  - ut_populate_internal_topic_metadata
  - RD_LIST_FOREACH
  - ut_destroy_metadata
  - ut_set_owned
  - ut_print_toppar_list
  - ut_init_member_internal
  - ut_init_member
  - ut_init_member_with_rackv
  - ut_init_member_with_rack
  - verifyAssignment0
  - verifyMultipleAssignment0
  - verifyNumPartitionsWithRackMismatchPartition
  - verifyNumPartitionsWithRackMismatch0
  - verifyValidityAndBalance0
  - isFullyBalanced0
  - ut_assignors
  - unittest_assignors
  source_file: /src/librdkafka/src/rdkafka_assignor.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: topic_cnt
        type: int
      - name: topics[12]
        type: "struct {\n                        const char *name;\n                        int
          partition_cnt;\n                }"
      - name: member_cnt
        type: int
      - name: members[3]
        type: "struct {\n                        const char *name;\n                        int
          topic_cnt;\n                        const char *topics[12];\n                }"
      - name: expect_cnt
        type: int
      - name: expect[2]
        type: "struct {\n                        const char *protocol_name;\n                        struct
          {\n                                int partition_cnt;\n                                const
          char *partitions[12]; /* \"topic:part\" */\n                        } members[3];\n
          \               }"
      item_type: struct
      name: "tests[] = {\n            /*\n             * Test cases\n             */\n
        \           {\n                .name      = \"Symmetrical subscription\",\n
        \               .topic_cnt = 4,\n                .topics =\n                    {\n
        \                       {\"a\", 3}, /* a:0 a:1 a:2 */\n                        {\n
        \                           \"b\",\n                            4,\n                        },
        \       /* b:0 b:1 b:2 b:3 */\n                        {\"c\", 2}, /* c:0
        c:1 */\n                        {\"d\", 1}, /* d:0 */\n                    },\n
        \               .member_cnt = 2,\n                .members =\n                    {\n
        \                       {.name      = \"consumer1\",\n                         .topic_cnt
        = 4,\n                         .topics    = {\"d\", \"b\", \"a\", \"c\"}},\n
        \                       {.name      = \"consumer2\",\n                         .topic_cnt
        = 4,\n                         .topics    = {\"a\", \"b\", \"c\", \"d\"}},\n
        \                   },\n                .expect_cnt = 2,\n                .expect
        =\n                    {\n                        {\n                            .protocol_name
        = \"range\",\n                            .members =\n                                {\n
        \                                   /* Consumer1 */\n                                    {6,\n
        \                                    {\"a:0\", \"a:1\", \"b:0\", \"b:1\",
        \"c:0\",\n                                      \"d:0\"}},\n                                    /*
        Consumer2 */\n                                    {4, {\"a:2\", \"b:2\", \"b:3\",
        \"c:1\"}},\n                                },\n                        },\n
        \                       {\n                            .protocol_name = \"roundrobin\",\n
        \                           .members =\n                                {\n
        \                                   /* Consumer1 */\n                                    {5,
        {\"a:0\", \"a:2\", \"b:1\", \"b:3\", \"c:1\"}},\n                                    /*
        Consumer2 */\n                                    {5, {\"a:1\", \"b:0\", \"b:2\",
        \"c:0\", \"d:0\"}},\n                                },\n                        },\n
        \                   },\n            },\n            {\n                .name
        \     = \"1*3 partitions (asymmetrical)\",\n                .topic_cnt = 1,\n
        \               .topics =\n                    {\n                        {\"a\",
        3},\n                    },\n                .member_cnt = 2,\n                .members
        =\n                    {\n                        {.name      = \"consumer1\",\n
        \                        .topic_cnt = 3,\n                         .topics
        \   = {\"a\", \"b\", \"c\"}},\n                        {.name = \"consumer2\",
        .topic_cnt = 1, .topics = {\"a\"}},\n                    },\n                .expect_cnt
        = 2,\n                .expect =\n                    {\n                        {\n
        \                           .protocol_name = \"range\",\n                            .members
        =\n                                {\n                                    /*
        Consumer1.\n                                     * range assignor applies\n
        \                                    * per topic. */\n                                    {2,
        {\"a:0\", \"a:1\"}},\n                                    /* Consumer2 */\n
        \                                   {1, {\"a:2\"}},\n                                },\n
        \                       },\n                        {\n                            .protocol_name
        = \"roundrobin\",\n                            .members =\n                                {\n
        \                                   /* Consumer1 */\n                                    {2,
        {\"a:0\", \"a:2\"}},\n                                    /* Consumer2 */\n
        \                                   {1, {\"a:1\"}},\n                                },\n
        \                       },\n                    },\n            },\n            {\n
        \               .name      = \"#2121 (asymmetrical)\",\n                .topic_cnt
        = 12,\n                .topics =\n                    {\n                        {\"a\",
        1},\n                        {\"b\", 1},\n                        {\"c\",
        1},\n                        {\"d\", 1},\n                        {\"e\",
        1},\n                        {\"f\", 1},\n                        {\"g\",
        1},\n                        {\"h\", 1},\n                        {\"i\",
        1},\n                        {\"j\", 1},\n                        {\"k\",
        1},\n                        {\"l\", 1},\n                    },\n                .member_cnt
        = 2,\n                .members =\n                    {\n                        {\n
        \                           .name      = \"consumer1\",\n                            .topic_cnt
        = 12,\n                            .topics =\n                                {\n
        \                                   \"a\",\n                                    \"b\",\n
        \                                   \"c\",\n                                    \"d\",\n
        \                                   \"e\",\n                                    \"f\",\n
        \                                   \"g\",\n                                    \"h\",\n
        \                                   \"i\",\n                                    \"j\",\n
        \                                   \"k\",\n                                    \"l\",\n
        \                               },\n                        },\n                        {\n
        \                           .name      = \"consumer2\", /* must be second
        */\n                            .topic_cnt = 5,\n                            .topics
        =\n                                {\n                                    \"b\",\n
        \                                   \"d\",\n                                    \"f\",\n
        \                                   \"h\",\n                                    \"l\",\n
        \                               },\n                        },\n                    },\n
        \               .expect_cnt = 2,\n                .expect =\n                    {\n
        \                       {\n                            .protocol_name = \"range\",\n
        \                           .members =\n                                {\n
        \                                   /* Consumer1.\n                                     *
        All partitions. */\n                                    {12,\n                                     {\n
        \                                        \"a:0\",\n                                         \"b:0\",\n
        \                                        \"c:0\",\n                                         \"d:0\",\n
        \                                        \"e:0\",\n                                         \"f:0\",\n
        \                                        \"g:0\",\n                                         \"h:0\",\n
        \                                        \"i:0\",\n                                         \"j:0\",\n
        \                                        \"k:0\",\n                                         \"l:0\",\n
        \                                    }},\n                                    /*
        Consumer2 */\n                                    {0},\n                                },\n
        \                       },\n                        {\n                            .protocol_name
        = \"roundrobin\",\n                            .members =\n                                {\n
        \                                   /* Consumer1 */\n                                    {\n
        \                                       7,\n                                        {\n
        \                                           \"a:0\",\n                                            \"c:0\",\n
        \                                           \"e:0\",\n                                            \"g:0\",\n
        \                                           \"i:0\",\n                                            \"j:0\",\n
        \                                           \"k:0\",\n                                        },\n
        \                                   },\n                                    /*
        Consumer2 */\n                                    {5, {\"b:0\", \"d:0\", \"f:0\",
        \"h:0\", \"l:0\"}},\n                                },\n                        },\n
        \                   },\n            },\n            {NULL},\n        }"
      pos:
        line_end: 1358
        line_start: 1337
        source_file: /src/librdkafka/src/rdkafka_assignor.c
    typedefs: []
    union: []
- function_names:
  - isinf
  - isnan
  - cJSON_GetErrorPtr
  - cJSON_GetStringValue
  - cJSON_GetNumberValue
  - cJSON_Version
  - case_insensitive_strcmp
  - CJSON_CDECL::internal_malloc
  - CJSON_CDECL::internal_free
  - CJSON_CDECL::internal_realloc
  - static_strlen
  - cJSON_strdup
  - cJSON_InitHooks
  - cJSON_New_Item
  - cJSON_Delete
  - get_decimal_point
  - can_read
  - can_access_at_index
  - cannot_access_at_index
  - buffer_at_offset
  - parse_number
  - cJSON_SetNumberHelper
  - cJSON_SetValuestring
  - ensure
  - update_offset
  - compare_double
  - print_number
  - parse_hex4
  - utf16_literal_to_utf8
  - parse_string
  - print_string_ptr
  - print_string
  - buffer_skip_whitespace
  - skip_utf8_bom
  - cJSON_ParseWithOpts
  - cJSON_ParseWithLengthOpts
  - cJSON_Parse
  - cJSON_ParseWithLength
  - cjson_min
  - print
  - cJSON_Print
  - cJSON_PrintUnformatted
  - cJSON_PrintBuffered
  - cJSON_PrintPreallocated
  - parse_value
  - print_value
  - parse_array
  - print_array
  - parse_object
  - print_object
  - cJSON_GetArraySize
  - get_array_item
  - cJSON_GetArrayItem
  - get_object_item
  - cJSON_GetObjectItem
  - cJSON_GetObjectItemCaseSensitive
  - cJSON_HasObjectItem
  - suffix_object
  - create_reference
  - add_item_to_array
  - cJSON_AddItemToArray
  - cast_away_const
  - add_item_to_object
  - cJSON_AddItemToObject
  - cJSON_AddItemToObjectCS
  - cJSON_AddItemReferenceToArray
  - cJSON_AddItemReferenceToObject
  - cJSON_AddNullToObject
  - cJSON_AddTrueToObject
  - cJSON_AddFalseToObject
  - cJSON_AddBoolToObject
  - cJSON_AddNumberToObject
  - cJSON_AddStringToObject
  - cJSON_AddRawToObject
  - cJSON_AddObjectToObject
  - cJSON_AddArrayToObject
  - cJSON_DetachItemViaPointer
  - cJSON_DetachItemFromArray
  - cJSON_DeleteItemFromArray
  - cJSON_DetachItemFromObject
  - cJSON_DetachItemFromObjectCaseSensitive
  - cJSON_DeleteItemFromObject
  - cJSON_DeleteItemFromObjectCaseSensitive
  - cJSON_InsertItemInArray
  - cJSON_ReplaceItemViaPointer
  - cJSON_ReplaceItemInArray
  - replace_item_in_object
  - cJSON_ReplaceItemInObject
  - cJSON_ReplaceItemInObjectCaseSensitive
  - cJSON_CreateNull
  - cJSON_CreateTrue
  - cJSON_CreateFalse
  - cJSON_CreateBool
  - cJSON_CreateNumber
  - cJSON_CreateString
  - cJSON_CreateStringReference
  - cJSON_CreateObjectReference
  - cJSON_CreateArrayReference
  - cJSON_CreateRaw
  - cJSON_CreateArray
  - cJSON_CreateObject
  - cJSON_CreateIntArray
  - cJSON_CreateFloatArray
  - cJSON_CreateDoubleArray
  - cJSON_CreateStringArray
  - cJSON_Duplicate
  - skip_oneline_comment
  - skip_multiline_comment
  - minify_string
  - cJSON_Minify
  - cJSON_IsInvalid
  - cJSON_IsFalse
  - cJSON_IsTrue
  - cJSON_IsBool
  - cJSON_IsNull
  - cJSON_IsNumber
  - cJSON_IsString
  - cJSON_IsArray
  - cJSON_IsObject
  - cJSON_IsRaw
  - cJSON_Compare
  - cJSON_ArrayForEach
  - cJSON_ArrayForEach
  - cJSON_malloc
  - cJSON_free
  source_file: /src/librdkafka/src/cJSON.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: ((cJSON_bool)1)
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: ((cJSON_bool)0)
    - item_type: preproc_def
      name: NAN
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: 0.0 / 0.0
    - item_type: preproc_def
      name: internal_malloc
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: malloc
    - item_type: preproc_def
      name: internal_free
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: free
    - item_type: preproc_def
      name: internal_realloc
      pos:
        line_end: 169
        line_start: 168
        source_file: /src/librdkafka/src/cJSON.c
      type_or_value: realloc
    structs:
    - fields:
      - name: '*json'
        type: unsigned char
      - name: position
        type: size_t
      item_type: struct
      name: error
      pos:
        line_end: 87
        line_start: 84
        source_file: /src/librdkafka/src/cJSON.c
    - fields:
      - name: '*(CJSON_CDECL *allocate)(size_t size)'
        type: void
      - name: (CJSON_CDECL *deallocate)(void *pointer)
        type: void
      - name: '*(CJSON_CDECL *reallocate)(void *pointer, size_t size)'
        type: void
      item_type: struct
      name: internal_hooks
      pos:
        line_end: 151
        line_start: 147
        source_file: /src/librdkafka/src/cJSON.c
    - fields:
      - name: '*content'
        type: unsigned char
      - name: length
        type: size_t
      - name: offset
        type: size_t
      - name: depth
        type: size_t
      - name: hooks
        type: internal_hooks
      item_type: struct
      name: parse_buffer
      pos:
        line_end: 272
        line_start: 265
        source_file: /src/librdkafka/src/cJSON.c
    - fields:
      - name: '*buffer'
        type: unsigned char
      - name: length
        type: size_t
      - name: offset
        type: size_t
      - name: depth
        type: size_t
      - name: noalloc
        type: cJSON_bool
      - name: format
        type: cJSON_bool
      - name: hooks
        type: internal_hooks
      item_type: struct
      name: printbuffer
      pos:
        line_end: 406
        line_start: 398
        source_file: /src/librdkafka/src/cJSON.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_assignment_dump
  - rd_kafka_assignment_apply_offsets
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_assignment_handle_OffsetFetch
  - rd_kafka_assignment_serve_removals
  - rd_kafka_assignment_serve_pending
  - rd_kafka_assignment_serve
  - rd_kafka_assignment_in_progress
  - rd_kafka_assignment_clear
  - rd_kafka_assignment_add
  - rd_kafka_assignment_subtract
  - rd_kafka_assignment_partition_stopped
  - rd_kafka_assignment_pause
  - rd_kafka_assignment_resume
  - rd_kafka_assignment_destroy
  - rd_kafka_assignment_init
  source_file: /src/librdkafka/src/rdkafka_assignment.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MM_MIX
  - rd_murmur2
  - unittest_murmur2
  source_file: /src/librdkafka/src/rdmurmur2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_msg_enq_time
  - rd_kafka_msg_wire_size
  - rd_kafka_msg_max_wire_size
  - rd_kafka_message2msg
  - RD_KAFKA_MSGQ_INITIALIZER
  - RD_KAFKA_MSGQ_FOREACH
  - RD_KAFKA_MSGQ_EMPTY
  - rd_kafka_msgq_len
  - rd_kafka_msgq_size
  - rd_kafka_msgq_init
  - rd_kafka_msgq_verify_order
  - rd_kafka_msgq_verify_order
  - rd_kafka_msgq_concat
  - rd_kafka_msgq_move
  - rd_kafka_msgq_prepend
  - rd_kafka_msgq_purge
  - rd_kafka_msgq_deq
  - rd_kafka_msgq_pop
  - rd_kafka_msgq_first
  - rd_kafka_msgq_last
  - rd_kafka_msgq_first_msgid
  - rd_kafka_msgq_may_wakeup
  - rd_kafka_msg_cmp_msgid
  - rd_kafka_msg_cmp_msgid_lifo
  - rd_kafka_msgq_insert
  - rd_kafka_msgq_enq
  - rd_kafka_msgq_overlap
  - rd_kafka_seq_wrap
  source_file: /src/librdkafka/src/rdkafka_msg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_RKT_RDLOCKED
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x100000 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_GZIP
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_SNAPPY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_LZ4
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (3)
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_ZSTD
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (4)
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_COMPRESSION_MASK
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x7'
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_CREATE_TIME
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (0 << 3)
    - item_type: preproc_def
      name: RD_KAFKA_MSG_ATTR_LOG_APPEND_TIME
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: RD_KAFKA_MSGSET_V2_ATTR_TRANSACTIONAL
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: RD_KAFKA_MSGSET_V2_ATTR_CONTROL
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: rkm_len
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.len
    - item_type: preproc_def
      name: rkm_payload
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.payload
    - item_type: preproc_def
      name: rkm_opaque
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage._private
    - item_type: preproc_def
      name: rkm_partition
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.partition
    - item_type: preproc_def
      name: rkm_offset
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.offset
    - item_type: preproc_def
      name: rkm_key
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.key
    - item_type: preproc_def
      name: rkm_key_len
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.key_len
    - item_type: preproc_def
      name: rkm_err
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_rkmessage.err
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_FREE_RKM
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x10000 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_ACCOUNT
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x20000 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_PRODUCER
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x40000 '
    - item_type: preproc_def
      name: RD_KAFKA_MSG_F_CONTROL
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: '0x80000 '
    - item_type: preproc_def
      name: rkm_ts_timeout
      pos:
        line_end: 147
        line_start: 146
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_u.producer.ts_timeout
    - item_type: preproc_def
      name: rkm_ts_enq
      pos:
        line_end: 148
        line_start: 147
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_u.producer.ts_enq
    - item_type: preproc_def
      name: rkm_msgid
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/librdkafka/src/rdkafka_msg.h
      type_or_value: rkm_u.producer.msgid
    structs:
    - fields:
      - name: batch_index
        type: int64_t
      - name: '*errstr'
        type: char
      item_type: struct
      name: rd_kafka_Produce_result_record_error
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/librdkafka/src/rdkafka_msg.h
    - fields:
      - name: offset
        type: int64_t
      - name: timestamp
        type: int64_t
      - name: '*errstr'
        type: char
      - name: '*record_errors'
        type: rd_kafka_Produce_result_record_error_t
      - name: record_errors_cnt
        type: int32_t
      item_type: struct
      name: rd_kafka_Produce_result
      pos:
        line_end: 86
        line_start: 78
        source_file: /src/librdkafka/src/rdkafka_msg.h
    - fields:
      - name: rkm_rkmessage
        type: rd_kafka_message_t
      - name: (rd_kafka_msg_s)
        type: TAILQ_ENTRY
      - name: rkm_flags
        type: int
      - name: rkm_tstype
        type: rd_kafka_timestamp_type_t
      - name: rkm_timestamp
        type: int64_t
      - name: '*rkm_headers'
        type: rd_kafka_headers_t
      - name: rkm_status
        type: rd_kafka_msg_status_t
      - name: rkm_broker_id
        type: int32_t
      - name: rkm_u
        type: "union {\n                struct {\n                        rd_ts_t
          ts_timeout;  /* Message timeout */\n                        rd_ts_t ts_enq;
          \     /* Enqueue/Produce time */\n                        rd_ts_t ts_backoff;
          \ /* Backoff next Produce until\n                                              *
          this time. */\n                        uint64_t msgid;      /**< Message
          sequencial id,\n                                              *   used to
          maintain ordering.\n                                              *   Starts
          at 1. */\n                        uint64_t last_msgid; /**< On retry this
          is set\n                                              *   on the first message\n
          \                                             *   in a batch to point\n
          \                                             *   out the last message\n
          \                                             *   of the batch so that\n
          \                                             *   the batch can be\n                                              *
          \  identically reconstructed.\n                                              */\n
          \                       int retries;         /* Number of retries so far
          */\n                        const char *errstr;  /* Error string for this
          message */\n                } producer;\n#define rkm_ts_timeout rkm_u.producer.ts_timeout\n#define
          rkm_ts_enq     rkm_u.producer.ts_enq\n#define rkm_msgid      rkm_u.producer.msgid\n\n
          \               struct {\n                        rd_kafkap_bytes_t binhdrs;
          /**< Unparsed\n                                                    *   binary
          headers in\n                                                    *   protocol
          msg */\n                        int32_t leader_epoch;      /**< Leader epoch
          at the time\n                                                    *   the
          message was fetched. */\n                } consumer;\n        }"
      item_type: struct
      name: rd_kafka_msg_s
      pos:
        line_end: 158
        line_start: 88
        source_file: /src/librdkafka/src/rdkafka_msg.h
    - fields:
      - name: rkmq_msgs
        type: struct rd_kafka_msgs_head_s
      - name: rkmq_msg_cnt
        type: int32_t
      - name: rkmq_msg_bytes
        type: int64_t
      - name: rkmq_wakeup
        type: "struct {\n                rd_ts_t abstime; /**< Allow wake-ups after
          this point in time.*/\n                int32_t msg_cnt; /**< Signal wake-up
          when this message count\n                                  *   is reached.
          */\n                int64_t msg_bytes;   /**< .. or when this byte count
          is\n                                      *   reached. */\n                rd_bool_t
          on_first;  /**< Wake-up on first message enqueued\n                                      *
          \  regardless of .abstime. */\n                rd_bool_t signalled; /**<
          Wake-up (already) signalled. */\n        }"
      item_type: struct
      name: rd_kafka_msgq_s
      pos:
        line_end: 229
        line_start: 215
        source_file: /src/librdkafka/src/rdkafka_msg.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/regexp.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: nsub
        type: unsigned int
      - name: sub[REG_MAXSUB]
        type: "struct {\n\t\tconst char *sp;\n\t\tconst char *ep;\n\t}"
      item_type: struct
      name: Resub
      pos:
        line_end: 38
        line_start: 32
        source_file: /src/librdkafka/src/regexp.h
    typedefs:
    - item_type: typedef
      name: Reprog
      pos:
        line_end: 13
        line_start: 13
        source_file: /src/librdkafka/src/regexp.h
      type: Reprog
    - item_type: typedef
      name: Resub
      pos:
        line_end: 14
        line_start: 14
        source_file: /src/librdkafka/src/regexp.h
      type: Resub
    union: []
- function_names:
  - rd_atomic32_init
  - rd_atomic32_add
  - rd_atomic32_sub
  - rd_atomic32_get
  - rd_atomic32_set
  - rd_atomic64_init
  - rd_atomic64_add
  - rd_atomic64_sub
  - rd_atomic64_get
  - rd_atomic64_set
  source_file: /src/librdkafka/src/rdatomic.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: val
        type: int32_t
      item_type: struct
      name: rd_atomic32_t
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/librdkafka/src/rdatomic.h
    - fields:
      - name: val
        type: int64_t
      item_type: struct
      name: rd_atomic64_t
      pos:
        line_end: 44
        line_start: 39
        source_file: /src/librdkafka/src/rdatomic.h
    typedefs: []
    union: []
- function_names:
  - expect
  - expect
  - likely
  - unlikely
  - ALLOC
  - ALLOC_AND_ZERO
  - FREEMEM
  - ALLOC
  - ALLOC_AND_ZERO
  - FREEMEM
  - ALLOC
  - ALLOC_AND_ZERO
  - FREEMEM
  - LZ4_memset
  - MEM_INIT
  - assert
  - LZ4_STATIC_ASSERT
  - DEBUGLOG
  - DEBUGLOG
  - LZ4_isAligned
  - LZ4_memcpy
  - LZ4_memcpy
  - LZ4_isLittleEndian
  - LZ4_read16
  - LZ4_read32
  - LZ4_read_ARCH
  - LZ4_write16
  - LZ4_write32
  - LZ4_read16
  - LZ4_read32
  - LZ4_read_ARCH
  - LZ4_write16
  - LZ4_write32
  - LZ4_read16
  - LZ4_read32
  - LZ4_read_ARCH
  - LZ4_write16
  - LZ4_write32
  - LZ4_readLE16
  - LZ4_writeLE16
  - LZ4_wildCopy8
  - LZ4_memcpy_using_offset_base
  - LZ4_wildCopy32
  - LZ4_memcpy_using_offset
  - LZ4_NbCommonBytes
  - LZ4_count
  - LZ4_versionNumber
  - LZ4_versionString
  - LZ4_compressBound
  - LZ4_sizeofState
  - LZ4_hash4
  - LZ4_hash5
  - LZ4_hashPosition
  - LZ4_clearHash
  - LZ4_putIndexOnHash
  - LZ4_putPositionOnHash
  - LZ4_putPosition
  - LZ4_getIndexOnHash
  - LZ4_getPositionOnHash
  - LZ4_getPosition
  - LZ4_prepareTable
  - LZ4_compress_generic_validated
  - LZ4_compress_generic
  - LZ4_compress_fast_extState
  - LZ4_compress_fast_extState_fastReset
  - LZ4_compress_fast
  - LZ4_compress_default
  - LZ4_compress_destSize_extState
  - LZ4_compress_destSize
  - LZ4_createStream
  - LZ4_stream_t_alignment
  - LZ4_initStream
  - LZ4_resetStream
  - LZ4_resetStream_fast
  - LZ4_freeStream
  - LZ4_loadDict
  - LZ4_attach_dictionary
  - LZ4_renormDictT
  - LZ4_compress_fast_continue
  - LZ4_compress_forceExtDict
  - LZ4_saveDict
  - MIN
  - read_long_length_no_check
  - LZ4_decompress_unsafe_generic
  - read_variable_length
  - LZ4_decompress_safe
  - LZ4_decompress_safe_partial
  - LZ4_decompress_fast
  - LZ4_decompress_safe_withPrefix64k
  - LZ4_decompress_safe_partial_withPrefix64k
  - LZ4_decompress_fast_withPrefix64k
  - LZ4_decompress_safe_withSmallPrefix
  - LZ4_decompress_safe_partial_withSmallPrefix
  - LZ4_decompress_safe_forceExtDict
  - LZ4_decompress_safe_partial_forceExtDict
  - LZ4_decompress_fast_extDict
  - LZ4_decompress_safe_doubleDict
  - LZ4_createStreamDecode
  - LZ4_freeStreamDecode
  - LZ4_setStreamDecode
  - LZ4_decoderRingBufferSize
  - LZ4_decompress_safe_continue
  - LZ4_decompress_fast_continue
  - LZ4_decompress_safe_usingDict
  - LZ4_decompress_safe_partial_usingDict
  - LZ4_decompress_fast_usingDict
  - LZ4_compress_limitedOutput
  - LZ4_compress
  - LZ4_compress_limitedOutput_withState
  - LZ4_compress_withState
  - LZ4_compress_limitedOutput_continue
  - LZ4_compress_continue
  - LZ4_uncompress
  - LZ4_uncompress_unknownOutputSize
  - LZ4_sizeofStreamState
  - LZ4_resetStreamState
  - LZ4_create
  - LZ4_slideInputBuffer
  source_file: /src/librdkafka/src/lz4.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4_HEAPMODE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '0'
    - item_type: preproc_def
      name: LZ4_ACCELERATION_DEFAULT
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_ACCELERATION_MAX
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '65537'
    - item_type: preproc_def
      name: LZ4_FORCE_MEMORY_ACCESS
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '2'
    - item_type: preproc_def
      name: LZ4_FORCE_MEMORY_ACCESS
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_SRC_INCLUDED
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_FORCE_INLINE
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: static __forceinline
    - item_type: preproc_def
      name: LZ4_FORCE_INLINE
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: static inline __attribute__((always_inline))
    - item_type: preproc_def
      name: LZ4_FORCE_INLINE
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: static inline
    - item_type: preproc_def
      name: LZ4_FORCE_INLINE
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: static
    - item_type: preproc_def
      name: LZ4_FORCE_O2
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: __attribute__((optimize("O2")))
    - item_type: preproc_def
      name: LZ4_FORCE_INLINE
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: static __inline __attribute__((optimize("O2"),always_inline))
    - item_type: preproc_def
      name: LZ4_ALIGN_TEST
      pos:
        line_end: 184
        line_start: 183
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MINMATCH
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '4'
    - item_type: preproc_def
      name: WILDCOPYLENGTH
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '8'
    - item_type: preproc_def
      name: LASTLITERALS
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '5   '
    - item_type: preproc_def
      name: MFLIMIT
      pos:
        line_end: 249
        line_start: 248
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '12   '
    - item_type: preproc_def
      name: MATCH_SAFEGUARD_DISTANCE
      pos:
        line_end: 250
        line_start: 249
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '((2*WILDCOPYLENGTH) - MINMATCH)   '
    - item_type: preproc_def
      name: FASTLOOP_SAFE_DISTANCE
      pos:
        line_end: 251
        line_start: 250
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '64'
    - item_type: preproc_def
      name: KB
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '*(1 <<10)'
    - item_type: preproc_def
      name: MB
      pos:
        line_end: 255
        line_start: 254
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '*(1 <<20)'
    - item_type: preproc_def
      name: GB
      pos:
        line_end: 256
        line_start: 255
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '*(1U<<30)'
    - item_type: preproc_def
      name: LZ4_DISTANCE_ABSOLUTE_MAX
      pos:
        line_end: 258
        line_start: 257
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '65535'
    - item_type: preproc_def
      name: ML_BITS
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '4'
    - item_type: preproc_def
      name: ML_MASK
      pos:
        line_end: 264
        line_start: 263
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: ((1U<<ML_BITS)-1)
    - item_type: preproc_def
      name: RUN_BITS
      pos:
        line_end: 265
        line_start: 264
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: (8-ML_BITS)
    - item_type: preproc_def
      name: RUN_MASK
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: ((1U<<RUN_BITS)-1)
    - item_type: preproc_def
      name: LZ4_memmove
      pos:
        line_end: 360
        line_start: 359
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: __builtin_memmove
    - item_type: preproc_def
      name: LZ4_memmove
      pos:
        line_end: 362
        line_start: 361
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: memmove
    - item_type: preproc_def
      name: LZ4_FAST_DEC_LOOP
      pos:
        line_end: 464
        line_start: 463
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_FAST_DEC_LOOP
      pos:
        line_end: 466
        line_start: 465
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_FAST_DEC_LOOP
      pos:
        line_end: 471
        line_start: 470
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_FAST_DEC_LOOP
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: '0'
    - item_type: preproc_def
      name: STEPSIZE
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: sizeof(reg_t)
    - item_type: preproc_def
      name: HASH_UNIT
      pos:
        line_end: 1545
        line_start: 1544
        source_file: /src/librdkafka/src/lz4.c
      type_or_value: sizeof(reg_t)
    structs:
    - fields:
      - name: c
        type: char
      - name: t
        type: LZ4_stream_t
      item_type: struct
      name: t_a
      pos:
        line_end: 1504
        line_start: 1504
        source_file: /src/librdkafka/src/lz4.c
    typedefs:
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 306
        line_start: 306
        source_file: /src/librdkafka/src/lz4.c
      type: uint8_t
    - item_type: typedef
      name: U16
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/librdkafka/src/lz4.c
      type: uint16_t
    - item_type: typedef
      name: U32
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/librdkafka/src/lz4.c
      type: uint32_t
    - item_type: typedef
      name: S32
      pos:
        line_end: 309
        line_start: 309
        source_file: /src/librdkafka/src/lz4.c
      type: int32_t
    - item_type: typedef
      name: U64
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/librdkafka/src/lz4.c
      type: uint64_t
    - item_type: typedef
      name: uptrval
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/librdkafka/src/lz4.c
      type: uintptr_t
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 316
        line_start: 316
        source_file: /src/librdkafka/src/lz4.c
      type: unsigned char
    - item_type: typedef
      name: U16
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/librdkafka/src/lz4.c
      type: unsigned short
    - item_type: typedef
      name: U32
      pos:
        line_end: 318
        line_start: 318
        source_file: /src/librdkafka/src/lz4.c
      type: unsigned int
    - item_type: typedef
      name: S32
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/librdkafka/src/lz4.c
      type: signed int
    - item_type: typedef
      name: U64
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/librdkafka/src/lz4.c
      type: unsigned long long
    - item_type: typedef
      name: uptrval
      pos:
        line_end: 321
        line_start: 321
        source_file: /src/librdkafka/src/lz4.c
      type: size_t
    - item_type: typedef
      name: reg_t
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/librdkafka/src/lz4.c
      type: U64
    - item_type: typedef
      name: reg_t
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/librdkafka/src/lz4.c
      type: size_t
    - item_type: typedef
      name: Rvl_t
      pos:
        line_end: 1905
        line_start: 1905
        source_file: /src/librdkafka/src/lz4.c
      type: size_t
    union:
    - fields:
      - name: u
        type: U32
      - name: c[4]
        type: BYTE
      item_type: union
      name: one = { 1 }
      pos:
        line_end: 367
        line_start: 367
        source_file: /src/librdkafka/src/lz4.c
    - fields:
      - name: u16
        type: U16
      - name: u32
        type: U32
      - name: uArch
        type: reg_t
      item_type: union
      name: LZ4_unalign
      pos:
        line_end: 386
        line_start: 386
        source_file: /src/librdkafka/src/lz4.c
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_msgbatch.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rktp'
        type: rd_kafka_toppar_t
      - name: msgq
        type: rd_kafka_msgq_t
      - name: pid
        type: rd_kafka_pid_t
      - name: first_seq
        type: int32_t
      - name: first_msgid
        type: int64_t
      - name: epoch_base_msgid
        type: uint64_t
      - name: last_msgid
        type: uint64_t
      item_type: struct
      name: rd_kafka_msgbatch_s
      pos:
        line_end: 47
        line_start: 29
        source_file: /src/librdkafka/src/rdkafka_msgbatch.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_msgset_writer_select_MsgVersion
  - rd_kafka_msgset_writer_alloc_buf
  - rd_kafka_msgset_writer_write_MessageSet_v2_header
  - rd_kafka_msgset_writer_write_Produce_header
  - rd_kafka_msgset_writer_init
  - rd_kafka_msgset_writer_write_msg_payload
  - rd_kafka_msgset_writer_write_msg_headers
  - rd_kafka_msgset_writer_write_msg_v0_1
  - rd_kafka_msgset_writer_write_msg_v2
  - rd_kafka_msgset_writer_write_msg
  - rd_kafka_msgset_writer_write_msgq
  - rd_kafka_gzip_compress
  - rd_kafka_msgset_writer_compress_gzip
  - rd_kafka_snappy_compress_slice
  - rd_kafka_msgset_writer_compress_snappy
  - rd_kafka_msgset_writer_compress_lz4
  - rd_kafka_msgset_writer_compress_zstd
  - rd_kafka_msgset_writer_compress
  - rd_kafka_msgset_writer_calc_crc_v2
  - rd_kafka_msgset_writer_finalize_MessageSet_v2_header
  - rd_kafka_msgset_writer_finalize_MessageSet
  - rd_kafka_msgset_writer_finalize
  - rd_kafka_msgset_create_ProduceRequest
  source_file: /src/librdkafka/src/rdkafka_msgset_writer.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*msetw_rkbuf'
        type: rd_kafka_buf_t
      - name: msetw_ApiVersion
        type: int16_t
      - name: msetw_MsgVersion
        type: int
      - name: msetw_features
        type: int
      - name: msetw_compression
        type: rd_kafka_compression_t
      - name: msetw_msgcntmax
        type: int
      - name: msetw_messages_len
        type: size_t
      - name: msetw_messages_kvlen
        type: size_t
      - name: msetw_MessageSetSize
        type: size_t
      - name: msetw_of_MessageSetSize
        type: size_t
      - name: msetw_of_start
        type: size_t
      - name: msetw_relative_offsets
        type: int
      - name: msetw_Attributes
        type: int
      - name: msetw_MaxTimestamp
        type: int64_t
      - name: msetw_of_CRC
        type: size_t
      - name: '*msetw_batch'
        type: rd_kafka_msgbatch_t
      - name: msetw_firstmsg
        type: "struct {\n                size_t of; /* rkbuf's first message position
          */\n                int64_t timestamp;\n        }"
      - name: msetw_pid
        type: rd_kafka_pid_t
      - name: '*msetw_rkb'
        type: rd_kafka_broker_t
      - name: '*msetw_rktp'
        type: rd_kafka_toppar_t
      - name: '*msetw_msgq'
        type: rd_kafka_msgq_t
      item_type: struct
      name: rd_kafka_msgset_writer_s
      pos:
        line_end: 93
        line_start: 51
        source_file: /src/librdkafka/src/rdkafka_msgset_writer.c
    - fields:
      - name: feature
        type: int
      - name: ApiVersion
        type: int16_t
      item_type: struct
      name: "compr_req[RD_KAFKA_COMPRESSION_NUM] = {\n            [RD_KAFKA_COMPRESSION_LZ4]
        = {RD_KAFKA_FEATURE_LZ4, 0},\n#if WITH_ZSTD\n            [RD_KAFKA_COMPRESSION_ZSTD]
        = {RD_KAFKA_FEATURE_ZSTD, 7},\n#endif\n        }"
      pos:
        line_end: 115
        line_start: 112
        source_file: /src/librdkafka/src/rdkafka_msgset_writer.c
    typedefs: []
    union: []
- function_names:
  - rd_dbl_eq0
  - rd_dbl_eq
  - rd_dbl_ne
  - rd_dbl_zero
  source_file: /src/librdkafka/src/rdfloat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_DBL_EPSILON
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/rdfloat.h
      type_or_value: '0.00001'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_lz4.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_msgset.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: avl
        type: rd_avl_t
      - name: list
        type: rd_list_t
      - name: cnt
        type: int32_t
      item_type: struct
      name: rd_kafka_aborted_txns_s
      pos:
        line_end: 46
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_msgset.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_transport_int.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: rktrans_s
        type: rd_socket_t
      - name: '*rktrans_rkb'
        type: rd_kafka_broker_t
      - name: rktrans_sasl
        type: "struct {\n                void *state; /* SASL implementation\n                              *
          state handle */\n\n                int complete; /* Auth was completed early\n
          \                              * from the client's perspective\n                               *
          (but we might still have to\n                               *  wait for
          server reply). */\n\n                /* SASL framing buffers */\n                struct
          msghdr msg;\n                struct iovec iov[2];\n\n                char
          *recv_buf;\n                int recv_of;  /* Received byte count */\n                int
          recv_len; /* Expected receive length for\n                               *
          current frame. */\n        }"
      - name: '*rktrans_recv_buf'
        type: rd_kafka_buf_t
      - name: rktrans_pfd[2]
        type: rd_pollfd_t
      - name: rktrans_pfd_cnt
        type: int
      - name: rktrans_rcvbuf_size
        type: size_t
      - name: rktrans_sndbuf_size
        type: size_t
      item_type: struct
      name: rd_kafka_transport_s
      pos:
        line_end: 94
        line_start: 46
        source_file: /src/librdkafka/src/rdkafka_transport_int.h
    typedefs: []
    union: []
- function_names:
  - rd_sockaddr2str
  - rd_addrinfo_prepare
  - rd_getaddrinfo
  - rd_sockaddr_list_destroy
  source_file: /src/librdkafka/src/rdaddr.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - MEM_INIT
  - ALLOC
  - ALLOC_AND_ZERO
  - FREEMEM
  - LZ4F_calloc
  - LZ4F_malloc
  - LZ4F_free
  - assert
  - LZ4F_STATIC_ASSERT
  - DEBUGLOG
  - DEBUGLOG
  - LZ4F_readLE32
  - LZ4F_writeLE32
  - LZ4F_readLE64
  - LZ4F_writeLE64
  - LZ4F_GENERATE_STRING
  - LZ4F_isError
  - LZ4F_getErrorName
  - LZ4F_getErrorCode
  - LZ4F_returnErrorCode
  - RETURN_ERROR
  - RETURN_ERROR_IF
  - FORWARD_IF_ERROR
  - LZ4F_getVersion
  - LZ4F_compressionLevel_max
  - LZ4F_getBlockSize
  - MIN
  - LZ4F_headerChecksum
  - LZ4F_optimalBSID
  - LZ4F_compressBound_internal
  - LZ4F_compressFrameBound
  - LZ4F_compressFrame_usingCDict
  - LZ4F_compressFrame
  - LZ4F_createCDict_advanced
  - LZ4F_createCDict
  - LZ4F_freeCDict
  - LZ4F_createCompressionContext_advanced
  - LZ4F_createCompressionContext
  - LZ4F_freeCompressionContext
  - LZ4F_initStream
  - ctxTypeID_to_size
  - LZ4F_compressBegin_usingCDict
  - LZ4F_compressBegin
  - LZ4F_compressBound
  - LZ4F_makeBlock
  - LZ4F_compressBlock
  - LZ4F_compressBlock_continue
  - LZ4F_compressBlockHC
  - LZ4F_compressBlockHC_continue
  - LZ4F_doNotCompressBlock
  - LZ4F_selectCompression
  - LZ4F_localSaveDict
  - LZ4F_compressUpdateImpl
  - LZ4F_compressUpdate
  - LZ4F_uncompressedUpdate
  - LZ4F_flush
  - LZ4F_compressEnd
  - LZ4F_createDecompressionContext_advanced
  - LZ4F_createDecompressionContext
  - LZ4F_freeDecompressionContext
  - LZ4F_resetDecompressionContext
  - LZ4F_decodeHeader
  - LZ4F_headerSize
  - LZ4F_getFrameInfo
  - LZ4F_updateDict
  - LZ4F_decompress
  - LZ4F_decompress_usingDict
  source_file: /src/librdkafka/src/lz4frame.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4F_HEAPMODE
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0'
    - item_type: preproc_def
      name: KB
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '*(1<<10)'
    - item_type: preproc_def
      name: MB
      pos:
        line_end: 237
        line_start: 236
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '*(1<<20)'
    - item_type: preproc_def
      name: GB
      pos:
        line_end: 238
        line_start: 237
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '*(1<<30)'
    - item_type: preproc_def
      name: _1BIT
      pos:
        line_end: 241
        line_start: 240
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: _2BITS
      pos:
        line_end: 242
        line_start: 241
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: _3BITS
      pos:
        line_end: 243
        line_start: 242
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0x07'
    - item_type: preproc_def
      name: _4BITS
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0x0F'
    - item_type: preproc_def
      name: _8BITS
      pos:
        line_end: 245
        line_start: 244
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: '0xFF'
    - item_type: preproc_def
      name: LZ4F_BLOCKUNCOMPRESSED_FLAG
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: 0x80000000U
    - item_type: preproc_def
      name: LZ4F_BLOCKSIZEID_DEFAULT
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/librdkafka/src/lz4frame.c
      type_or_value: LZ4F_max64KB
    structs:
    - fields:
      - name: cmem
        type: LZ4F_CustomMem
      - name: prefs
        type: LZ4F_preferences_t
      - name: version
        type: U32
      - name: cStage
        type: U32
      - name: '* cdict'
        type: LZ4F_CDict
      - name: maxBlockSize
        type: size_t
      - name: maxBufferSize
        type: size_t
      - name: '*  tmpBuff'
        type: BYTE
      - name: '*  tmpIn'
        type: BYTE
      - name: tmpInSize
        type: size_t
      - name: totalInSize
        type: U64
      - name: xxh
        type: XXH32_state_t
      - name: '*  lz4CtxPtr'
        type: void
      - name: lz4CtxAlloc
        type: U16
      - name: lz4CtxState
        type: U16
      - name: blockCompression
        type: LZ4F_blockCompression_t
      item_type: struct
      name: LZ4F_cctx_s
      pos:
        line_end: 279
        line_start: 261
        source_file: /src/librdkafka/src/lz4frame.c
    - fields:
      - name: cmem
        type: LZ4F_CustomMem
      - name: '* dictContent'
        type: void
      - name: '* fastCtx'
        type: LZ4_stream_t
      - name: '* HCCtx'
        type: LZ4_streamHC_t
      item_type: struct
      name: LZ4F_CDict_s
      pos:
        line_end: 526
        line_start: 521
        source_file: /src/librdkafka/src/lz4frame.c
    - fields:
      - name: cmem
        type: LZ4F_CustomMem
      - name: frameInfo
        type: LZ4F_frameInfo_t
      - name: version
        type: U32
      - name: dStage
        type: dStage_t
      - name: frameRemainingSize
        type: U64
      - name: maxBlockSize
        type: size_t
      - name: maxBufferSize
        type: size_t
      - name: '*  tmpIn'
        type: BYTE
      - name: tmpInSize
        type: size_t
      - name: tmpInTarget
        type: size_t
      - name: '*  tmpOutBuffer'
        type: BYTE
      - name: '* dict'
        type: BYTE
      - name: dictSize
        type: size_t
      - name: '*  tmpOut'
        type: BYTE
      - name: tmpOutSize
        type: size_t
      - name: tmpOutStart
        type: size_t
      - name: xxh
        type: XXH32_state_t
      - name: blockChecksum
        type: XXH32_state_t
      - name: skipChecksum
        type: int
      - name: header[LZ4F_HEADER_SIZE_MAX]
        type: BYTE
      item_type: struct
      name: LZ4F_dctx_s
      pos:
        line_end: 1226
        line_start: 1205
        source_file: /src/librdkafka/src/lz4frame.c
    typedefs:
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/librdkafka/src/lz4frame.c
      type: uint8_t
    - item_type: typedef
      name: U16
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/librdkafka/src/lz4frame.c
      type: uint16_t
    - item_type: typedef
      name: U32
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/librdkafka/src/lz4frame.c
      type: uint32_t
    - item_type: typedef
      name: S32
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/librdkafka/src/lz4frame.c
      type: int32_t
    - item_type: typedef
      name: U64
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/librdkafka/src/lz4frame.c
      type: uint64_t
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/librdkafka/src/lz4frame.c
      type: unsigned char
    - item_type: typedef
      name: U16
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/librdkafka/src/lz4frame.c
      type: unsigned short
    - item_type: typedef
      name: U32
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/librdkafka/src/lz4frame.c
      type: unsigned int
    - item_type: typedef
      name: S32
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/librdkafka/src/lz4frame.c
      type: signed int
    - item_type: typedef
      name: U64
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/librdkafka/src/lz4frame.c
      type: unsigned long long
    - item_type: typedef
      name: (*compressFunc_t)(void* ctx, const char* src, char* dst, int srcSize,
        int dstSize, int level, const LZ4F_CDict* cdict)
      pos:
        line_end: 817
        line_start: 817
        source_file: /src/librdkafka/src/lz4frame.c
      type: int
    union: []
- function_names:
  - rd_crc32_reflect
  source_file: /src/librdkafka/src/rdcrc32.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_txn_may_enq_msg
  - rd_kafka_txn_may_send_msg
  - rd_kafka_txn_toppar_may_send_msg
  - rd_kafka_txn_add_partition
  - rd_kafka_txn_set_abortable_error
  - rd_kafka_txn_set_abortable_error_with_bump
  source_file: /src/librdkafka/src/rdkafka_txnmgr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_sasl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_op2str
  - rd_kafka_op_print
  - rd_kafka_op_new0
  - rd_kafka_op_destroy
  - rd_kafka_q_op_err
  - rd_kafka_consumer_err
  - rd_kafka_op_new_reply
  - rd_kafka_op_new_cb
  - rd_kafka_op_reply
  - rd_kafka_op_error_reply
  - rd_kafka_op_req0
  - rd_kafka_op_req
  - rd_kafka_op_req2
  - rd_kafka_op_err_destroy
  - rd_kafka_op_error_destroy
  - rd_kafka_op_call
  - rd_kafka_op_new_ctrl_msg
  - rd_kafka_op_new_fetch_msg
  - rd_kafka_op_throttle_time
  - rd_kafka_op_handle_std
  - rd_kafka_op_handle
  - rd_kafka_fetch_op_app_prepare
  source_file: /src/librdkafka/src/rdkafka_op.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _RD_KAFKA_OP_EMPTY
      pos:
        line_end: 211
        line_start: 206
        source_file: /src/librdkafka/src/rdkafka_op.c
      type_or_value: '1234567 '
    structs: []
    typedefs: []
    union: []
- function_names:
  - htole16
  - le32toh
  - htole16
  - le32toh
  - BUG_ON
  - BUG_ON
  - vmalloc
  - vfree
  - ARRAY_SIZE
  - likely
  - unlikely
  - min_t
  - max_t
  - htole16
  - le32toh
  - htole16
  - le32toh
  - htole16
  - le32toh
  - htole16
  - le32toh
  source_file: /src/librdkafka/src/snappy_compat.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: le32toh
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/snappy_compat.h
      type_or_value: letoh32
    - item_type: preproc_def
      name: __LITTLE_ENDIAN__
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/librdkafka/src/snappy_compat.h
      type_or_value: '1'
    - item_type: preproc_def
      name: BITS_PER_LONG
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/librdkafka/src/snappy_compat.h
      type_or_value: (__SIZEOF_LONG__ * 8)
    structs:
    - fields:
      - name: '*iov_base'
        type: void
      - name: iov_len
        type: size_t
      item_type: struct
      name: iovec
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/librdkafka/src/snappy_compat.h
    typedefs:
    - item_type: typedef
      name: u8
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/librdkafka/src/snappy_compat.h
      type: unsigned char
    - item_type: typedef
      name: u16
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/librdkafka/src/snappy_compat.h
      type: unsigned short
    - item_type: typedef
      name: u32
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/librdkafka/src/snappy_compat.h
      type: unsigned
    - item_type: typedef
      name: u64
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/librdkafka/src/snappy_compat.h
      type: unsigned long long
    union: []
- function_names:
  - call_once
  source_file: /src/librdkafka/src/tinycthread.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: 199309L
    - item_type: preproc_def
      name: _XOPEN_SOURCE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '500'
    - item_type: preproc_def
      name: TTHREAD_NORETURN
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: _Noreturn
    - item_type: preproc_def
      name: TTHREAD_NORETURN
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: __attribute__((__noreturn__))
    - item_type: preproc_def
      name: TIME_UTC
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '1'
    - item_type: preproc_def
      name: timespec
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: _tthread_timespec
    - item_type: preproc_def
      name: timespec_get
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: _tthread_timespec_get
    - item_type: preproc_def
      name: TINYCTHREAD_VERSION_MAJOR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '1'
    - item_type: preproc_def
      name: TINYCTHREAD_VERSION_MINOR
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TINYCTHREAD_VERSION
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: (TINYCTHREAD_VERSION_MAJOR * 100 + TINYCTHREAD_VERSION_MINOR)
    - item_type: preproc_def
      name: _Thread_local
      pos:
        line_end: 168
        line_start: 167
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: __thread
    - item_type: preproc_def
      name: _Thread_local
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: __declspec(thread)
    - item_type: preproc_def
      name: _Thread_local
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: __thread
    - item_type: preproc_def
      name: TSS_DTOR_ITERATIONS
      pos:
        line_end: 178
        line_start: 177
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: (4)
    - item_type: preproc_def
      name: TSS_DTOR_ITERATIONS
      pos:
        line_end: 180
        line_start: 179
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: PTHREAD_DESTRUCTOR_ITERATIONS
    - item_type: preproc_def
      name: thrd_success
      pos:
        line_end: 188
        line_start: 187
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '0 '
    - item_type: preproc_def
      name: thrd_busy
      pos:
        line_end: 189
        line_start: 188
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: thrd_error
      pos:
        line_end: 190
        line_start: 189
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '2 '
    - item_type: preproc_def
      name: thrd_nomem
      pos:
        line_end: 191
        line_start: 190
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '3 '
    - item_type: preproc_def
      name: thrd_timedout
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '4 '
    - item_type: preproc_def
      name: mtx_plain
      pos:
        line_end: 195
        line_start: 194
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '0'
    - item_type: preproc_def
      name: mtx_recursive
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '1'
    - item_type: preproc_def
      name: mtx_timed
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '2'
    - item_type: preproc_def
      name: ONCE_FLAG_INIT
      pos:
        line_end: 473
        line_start: 472
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: '{0,}'
    - item_type: preproc_def
      name: once_flag
      pos:
        line_end: 475
        line_start: 474
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: pthread_once_t
    - item_type: preproc_def
      name: ONCE_FLAG_INIT
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/librdkafka/src/tinycthread.h
      type_or_value: PTHREAD_ONCE_INIT
    structs:
    - fields:
      - name: tv_sec
        type: time_t
      - name: tv_nsec
        type: long
      item_type: struct
      name: _tthread_timespec
      pos:
        line_end: 131
        line_start: 128
        source_file: /src/librdkafka/src/tinycthread.h
    - fields:
      - name: mHandle
        type: "union {\n    CRITICAL_SECTION cs;      /* Critical section handle (used
          for non-timed mutexes) */\n    HANDLE mut;               /* Mutex handle
          (used for timed mutex) */\n  }"
      - name: mAlreadyLocked
        type: int
      - name: mRecursive
        type: int
      - name: mTimed
        type: int
      item_type: struct
      name: mtx_t
      pos:
        line_end: 208
        line_start: 200
        source_file: /src/librdkafka/src/tinycthread.h
    - fields:
      - name: mEvents[2]
        type: HANDLE
      - name: mWaitersCount
        type: unsigned int
      - name: mWaitersCountLock
        type: CRITICAL_SECTION
      item_type: struct
      name: cnd_t
      pos:
        line_end: 267
        line_start: 263
        source_file: /src/librdkafka/src/tinycthread.h
    - fields:
      - name: status
        type: LONG
      - name: lock
        type: CRITICAL_SECTION
      item_type: struct
      name: once_flag
      pos:
        line_end: 471
        line_start: 468
        source_file: /src/librdkafka/src/tinycthread.h
    typedefs:
    - item_type: typedef
      name: mtx_t
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/librdkafka/src/tinycthread.h
      type: pthread_mutex_t
    - item_type: typedef
      name: cnd_t
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/librdkafka/src/tinycthread.h
      type: pthread_cond_t
    - item_type: typedef
      name: thrd_t
      pos:
        line_end: 336
        line_start: 336
        source_file: /src/librdkafka/src/tinycthread.h
      type: HANDLE
    - item_type: typedef
      name: thrd_t
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/librdkafka/src/tinycthread.h
      type: pthread_t
    - item_type: typedef
      name: (*thrd_start_t)(void *arg)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/librdkafka/src/tinycthread.h
      type: int
    - item_type: typedef
      name: tss_t
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/librdkafka/src/tinycthread.h
      type: DWORD
    - item_type: typedef
      name: tss_t
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/librdkafka/src/tinycthread.h
      type: pthread_key_t
    - item_type: typedef
      name: (*tss_dtor_t)(void *val)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/librdkafka/src/tinycthread.h
      type: void
    union: []
- function_names:
  - RD_UT_BEGIN
  - RD_UT_FAIL
  - RD_UT_PASS
  - RD_UT_SKIP
  - RD_UT_ASSERT
  - RD_UT_ASSERT_RANGE
  - RD_UT_SAY
  - RD_UT_WARN
  - RD_UT_COVERAGE
  - RD_UT_COVERAGE_CHECK
  - RD_UT_COVERAGE
  - RD_UT_COVERAGE_CHECK
  source_file: /src/librdkafka/src/rdunittest.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ENABLE_CODECOV
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/rdunittest.h
      type_or_value: ENABLE_DEVEL
    - item_type: preproc_def
      name: RD_UT_COVNR_MAX
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/librdkafka/src/rdunittest.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_mock_Produce_reply_tags_partition_write
  - rd_kafka_mock_Produce_reply_tags_write
  - rd_kafka_mock_handle_Produce
  - rd_kafka_mock_Fetch_reply_tags_partition_write
  - rd_kafka_mock_Fetch_reply_tags_write
  - rd_kafka_mock_handle_Fetch
  - rd_kafka_mock_handle_ListOffsets
  - rd_kafka_mock_handle_OffsetFetch
  - rd_kafka_mock_handle_OffsetCommit
  - rd_kafka_mock_buf_write_Metadata_Topic
  - rd_kafka_mock_handle_Metadata
  - rd_kafka_mock_handle_FindCoordinator
  - rd_kafka_mock_handle_JoinGroup
  - rd_kafka_mock_handle_Heartbeat
  - rd_kafka_mock_handle_LeaveGroup
  - rd_kafka_mock_handle_SyncGroup
  - rd_kafka_mock_pid_new
  - rd_kafka_mock_pid_find
  - rd_kafka_mock_pid_check
  - rd_kafka_mock_pid_bump
  - rd_kafka_mock_handle_InitProducerId
  - rd_kafka_mock_handle_AddPartitionsToTxn
  - rd_kafka_mock_handle_AddOffsetsToTxn
  - rd_kafka_mock_handle_TxnOffsetCommit
  - rd_kafka_mock_handle_EndTxn
  - rd_kafka_mock_handle_OffsetForLeaderEpoch
  - rd_kafka_mock_handle_GetTelemetrySubscriptions
  - rd_kafka_mock_handle_PushTelemetry_decoded_NumberDataPoint
  - rd_kafka_mock_handle_PushTelemetry_decoded_int64
  - rd_kafka_mock_handle_PushTelemetry_decoded_string
  - rd_kafka_mock_handle_PushTelemetry_decoded_type
  - rd_kafka_mock_handle_PushTelemetry_decode_error
  - rd_kafka_mock_handle_PushTelemetry_payload
  - rd_kafka_mock_handle_PushTelemetry
  - rd_kafka_mock_handle_ConsumerGroupHeartbeat_write_TopicPartitions
  - rd_kafka_mock_handle_ConsumerGroupHeartbeat
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_mock_handle_ApiVersion
  source_file: /src/librdkafka/src/rdkafka_mock_handlers.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_timers_lock
  - rd_kafka_timers_unlock
  - rd_kafka_timer_started
  - rd_kafka_timer_scheduled
  - rd_kafka_timer_cmp
  - rd_kafka_timer_unschedule
  - rd_kafka_timer_schedule_next
  - rd_kafka_timer_schedule
  - rd_kafka_timer_stop
  - rd_kafka_timer_is_started
  - rd_kafka_timer_start0
  - rd_kafka_timer_exp_backoff
  - rd_kafka_timer_override_once
  - rd_kafka_timer_next
  - rd_kafka_timers_interrupt
  - rd_kafka_timers_next
  - rd_kafka_timers_run
  - rd_kafka_timers_destroy
  - rd_kafka_timers_init
  source_file: /src/librdkafka/src/rdkafka_timer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_sasl_sspi_err2str
  - rd_kafka_sasl_sspi_cred_new
  - rd_kafka_sasl_sspi_continue
  - rd_kafka_sasl_win32_send_response
  - rd_kafka_sasl_win32_validate_token
  - rd_kafka_sasl_win32_recv
  - rd_kafka_sasl_win32_close
  - rd_kafka_sasl_win32_client_new
  - rd_kafka_sasl_win32_conf_validate
  source_file: /src/librdkafka/src/rdkafka_sasl_win32.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_SASL_SSPI_CTX_ATTRS
      pos:
        line_end: 53
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_sasl_win32.c
      type_or_value: "(ISC_REQ_CONFIDENTIALITY | ISC_REQ_REPLAY_DETECT |                     \\\n
        \        ISC_REQ_SEQUENCE_DETECT | ISC_REQ_CONNECTION)"
    - item_type: preproc_def
      name: RD_KAFKA_SSPI_MAX_TOKEN_SIZE
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/librdkafka/src/rdkafka_sasl_win32.c
      type_or_value: '48000'
    structs:
    - fields:
      - name: '*cred'
        type: CredHandle
      - name: '*ctx'
        type: CtxtHandle
      - name: principal[512]
        type: wchar_t
      item_type: struct
      name: rd_kafka_sasl_win32_state_s
      pos:
        line_end: 66
        line_start: 62
        source_file: /src/librdkafka/src/rdkafka_sasl_win32.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_filter_broker_by_GetTelemetrySubscription
  - rd_kafka_get_preferred_broker
  - rd_kafka_telemetry_clear
  - rd_kafka_telemetry_set_terminated
  - update_matched_metrics
  - rd_kafka_match_requested_metrics
  - rd_kafka_send_get_telemetry_subscriptions
  - rd_kafka_push_telemetry_payload_compress
  - rd_kafka_send_push_telemetry
  - rd_kafka_telemetry_fsm
  - rd_kafka_telemetry_fsm_tmr_cb
  - rd_kafka_handle_get_telemetry_subscriptions
  - rd_kafka_handle_push_telemetry
  - rd_kafka_telemetry_await_termination
  - rd_kafka_telemetry_schedule_termination
  - rd_kafka_set_telemetry_broker_maybe
  - unit_test_telemetry_match_requested_metrics_no_duplicates
  - unittest_telemetry
  source_file: /src/librdkafka/src/rdkafka_telemetry.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_TELEMETRY_PUSH_JITTER
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/src/rdkafka_telemetry.c
      type_or_value: '20'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_thread_cnt
  - rd_kafka_set_thread_name
  - rd_kafka_set_thread_sysname
  - rd_kafka_global_init0
  - rd_kafka_global_init
  - rd_kafka_global_srand
  - rd_kafka_global_cnt_get
  - rd_kafka_global_cnt_incr
  - rd_kafka_global_cnt_decr
  - rd_kafka_wait_destroyed
  - rd_kafka_log_buf
  - rd_kafka_log0
  - rd_kafka_oauthbearer_set_token
  - rd_kafka_oauthbearer_set_token_failure
  - rd_kafka_log_print
  - rd_kafka_log_syslog
  - rd_kafka_set_logger
  - rd_kafka_set_log_level
  - rd_kafka_get_err_descs
  - rd_kafka_err2str
  - rd_kafka_err2name
  - rd_kafka_last_error
  - rd_kafka_errno2err
  - rd_kafka_fatal_error
  - rd_kafka_set_fatal_error0
  - rd_kafka_get_fatal_error
  - rd_kafka_test_fatal_error
  - rd_kafka_decommissioned_broker_thread_join
  - rd_kafka_destroy_final
  - rd_kafka_destroy_app
  - rd_kafka_destroy
  - rd_kafka_destroy_flags
  - rd_kafka_destroy_internal
  - _st_printf
  - rd_kafka_stats_emit_avg
  - rd_kafka_stats_emit_toppar
  - rd_kafka_stats_emit_broker_reqs
  - rd_kafka_stats_emit_all
  - rd_kafka_1s_tmr_cb
  - rd_kafka_reset_any_broker_down_reported
  - rd_kafka_rebootstrap_tmr_cb
  - rd_kafka_stats_emit_tmr_cb
  - rd_kafka_metadata_refresh_cb
  - rd_kafka_init_wait
  - rd_kafka_thread_main
  - rd_kafka_term_sig_handler
  - rd_kafka_new
  - rd_kafka_rebootstrap
  - rd_kafka_rebootstrap_tmr_start_maybe
  - rd_kafka_rebootstrap_tmr_stop
  - rd_kafka_simple_consumer_add
  - rd_kafka_consume_start0
  - rd_kafka_consume_start
  - rd_kafka_consume_start_queue
  - rd_kafka_consume_stop0
  - rd_kafka_consume_stop
  - rd_kafka_seek
  - rd_kafka_seek_partitions
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_consume_batch0
  - rd_kafka_consume_batch
  - rd_kafka_consume_batch_queue
  - rd_kafka_consume_cb
  - rd_kafka_consume_callback0
  - rd_kafka_consume_callback
  - rd_kafka_consume_callback_queue
  - rd_kafka_consume0
  - rd_kafka_consume
  - rd_kafka_consume_queue
  - rd_kafka_poll_set_consumer
  - rd_kafka_consumer_poll
  - rd_kafka_consumer_close_q
  - rd_kafka_consumer_close_queue
  - rd_kafka_consumer_close
  - rd_kafka_consumer_closed
  - rd_kafka_committed
  - rd_kafka_position
  - rd_kafka_query_wmark_offsets_resp_cb
  - rd_kafka_query_watermark_offsets
  - rd_kafka_get_watermark_offsets
  - rd_kafka_get_offsets_for_times_resp_cb
  - rd_kafka_offsets_for_times
  - rd_kafka_poll_cb
  - rd_kafka_poll
  - rd_kafka_queue_poll
  - rd_kafka_queue_poll_callback
  - rd_kafka_toppar_dump
  - rd_kafka_broker_dump
  - rd_kafka_dump0
  - rd_kafka_dump
  - rd_kafka_name
  - rd_kafka_type
  - rd_kafka_memberid
  - rd_kafka_clusterid
  - rd_kafka_controllerid
  - rd_kafka_opaque
  - rd_kafka_outq_len
  - rd_kafka_flush
  - rd_kafka_purge_toppars
  - rd_kafka_purge
  - rd_kafka_purge_flags2str
  - rd_kafka_version
  - rd_kafka_version_str
  - _my_sprintf
  - RD_NORETURN::rd_kafka_crash
  - rd_kafka_consumer_group_state_name
  - rd_kafka_consumer_group_state_code
  - rd_kafka_consumer_group_type_name
  - rd_kafka_consumer_group_type_code
  - rd_kafka_DescribeGroups_resp_cb
  - rd_kafka_ListGroups_resp_cb
  - rd_kafka_list_groups
  - rd_kafka_group_list_destroy
  - rd_kafka_get_debug_contexts
  - rd_kafka_path_is_dir
  - rd_kafka_mem_malloc
  - rd_kafka_mem_calloc
  - rd_kafka_mem_free
  - rd_kafka_errno
  - rd_kafka_unittest
  - rd_kafka_Uuid_new
  - rd_kafka_Uuid_copy
  - rd_kafka_Uuid_random
  - rd_kafka_Uuid_destroy
  - rd_kafka_Uuid_str
  - rd_kafka_Uuid_base64str
  - rd_kafka_Uuid_hash
  - rd_kafka_Uuid_map_hash
  - rd_kafka_Uuid_least_significant_bits
  - rd_kafka_Uuid_most_significant_bits
  source_file: /src/librdkafka/src/rdkafka.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DESC
      pos:
        line_end: 400
        line_start: 398
        source_file: /src/librdkafka/src/rdkafka.c
      type_or_value: '}'
    structs:
    - fields:
      - name: '*buf'
        type: char
      - name: size
        type: size_t
      - name: of
        type: size_t
      item_type: struct
      name: _stats_emit
      pos:
        line_end: 1372
        line_start: 1368
        source_file: /src/librdkafka/src/rdkafka.c
    - fields:
      - name: tx
        type: int64_t
      - name: tx_bytes
        type: int64_t
      - name: rx
        type: int64_t
      - name: rx_bytes
        type: int64_t
      - name: txmsgs
        type: int64_t
      - name: txmsg_bytes
        type: int64_t
      - name: rxmsgs
        type: int64_t
      - name: rxmsg_bytes
        type: int64_t
      item_type: struct
      name: _stats_total
      pos:
        line_end: 1400
        line_start: 1391
        source_file: /src/librdkafka/src/rdkafka.c
    - fields:
      - name: (*consume_cb)(rd_kafka_message_t *rkmessage, void *opaque)
        type: void
      - name: '*opaque'
        type: void
      item_type: struct
      name: consume_ctx
      pos:
        line_end: 3270
        line_start: 3267
        source_file: /src/librdkafka/src/rdkafka.c
    - fields:
      - name: err
        type: rd_kafka_resp_err_t
      - name: '*topic'
        type: char
      - name: partition
        type: int32_t
      - name: offsets[2]
        type: int64_t
      - name: offidx
        type: int
      - name: ts_end
        type: rd_ts_t
      - name: state_version
        type: int
      item_type: struct
      name: _query_wmark_offsets_state
      pos:
        line_end: 3727
        line_start: 3719
        source_file: /src/librdkafka/src/rdkafka.c
    - fields:
      - name: '*results'
        type: rd_kafka_topic_partition_list_t
      - name: err
        type: rd_kafka_resp_err_t
      - name: wait_reply
        type: int
      - name: state_version
        type: int
      - name: ts_end
        type: rd_ts_t
      item_type: struct
      name: _get_offsets_for_times
      pos:
        line_end: 3926
        line_start: 3920
        source_file: /src/librdkafka/src/rdkafka.c
    - fields:
      - name: '*q'
        type: rd_kafka_q_t
      - name: err
        type: rd_kafka_resp_err_t
      - name: wait_cnt
        type: int
      - name: '*desired_group'
        type: char
      - name: '*grplist'
        type: struct rd_kafka_group_list
      - name: grplist_size
        type: int
      item_type: struct
      name: list_groups_state
      pos:
        line_end: 4871
        line_start: 4864
        source_file: /src/librdkafka/src/rdkafka.c
    typedefs: []
    union: []
- function_names:
  - QUEUEDEBUG_ABORT
  - QUEUEDEBUG_ABORT
  - SLIST_HEAD_INITIALIZER
  - SLIST_FIRST
  - SLIST_END
  - SLIST_EMPTY
  - SLIST_NEXT
  - SLIST_FOREACH
  - SLIST_FOREACH_SAFE
  - LIST_HEAD_INITIALIZER
  - LIST_ENTRY
  - LIST_FIRST
  - LIST_END
  - LIST_EMPTY
  - LIST_NEXT
  - LIST_FOREACH
  - LIST_FOREACH_SAFE
  - QUEUEDEBUG_LIST_INSERT_HEAD
  - QUEUEDEBUG_LIST_OP
  - QUEUEDEBUG_LIST_POSTREMOVE
  - SIMPLEQ_HEAD
  - SIMPLEQ_HEAD_INITIALIZER
  - SIMPLEQ_FIRST
  - SIMPLEQ_END
  - SIMPLEQ_EMPTY
  - SIMPLEQ_NEXT
  - SIMPLEQ_FOREACH
  - SIMPLEQ_FOREACH_SAFE
  - SIMPLEQ_LAST
  - TAILQ_HEAD
  - TAILQ_HEAD_INITIALIZER
  - TAILQ_ENTRY
  - TAILQ_FIRST
  - TAILQ_END
  - TAILQ_NEXT
  - TAILQ_LAST
  - TAILQ_PREV
  - TAILQ_EMPTY
  - TAILQ_FOREACH
  - TAILQ_FOREACH_SAFE
  - TAILQ_FOREACH_REVERSE
  - TAILQ_FOREACH_REVERSE_SAFE
  - QUEUEDEBUG_TAILQ_INSERT_HEAD
  - QUEUEDEBUG_TAILQ_INSERT_TAIL
  - QUEUEDEBUG_TAILQ_OP
  - QUEUEDEBUG_TAILQ_PREREMOVE
  - QUEUEDEBUG_TAILQ_POSTREMOVE
  - STAILQ_HEAD
  - STAILQ_HEAD_INITIALIZER
  - STAILQ_FIRST
  - STAILQ_END
  - STAILQ_NEXT
  - STAILQ_EMPTY
  - STAILQ_FOREACH
  - STAILQ_FOREACH_SAFE
  - STAILQ_LAST
  - __launder_type
  - __launder_type
  - QUEUEDEBUG_CIRCLEQ_HEAD
  - QUEUEDEBUG_CIRCLEQ_ELM
  - QUEUEDEBUG_CIRCLEQ_POSTREMOVE
  - CIRCLEQ_HEAD
  - CIRCLEQ_HEAD_INITIALIZER
  - CIRCLEQ_ENTRY
  - CIRCLEQ_FOREACH
  - CIRCLEQ_FOREACH_REVERSE
  - CIRCLEQ_FIRST
  - CIRCLEQ_LAST
  - CIRCLEQ_ENDC
  - CIRCLEQ_END
  - CIRCLEQ_NEXT
  - CIRCLEQ_PREV
  - CIRCLEQ_EMPTY
  - CIRCLEQ_LOOP_NEXT
  - CIRCLEQ_LOOP_PREV
  source_file: /src/librdkafka/src/queue.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_qsort_r_trampoline
  - rd_qsort_r
  source_file: /src/librdkafka/src/rdports.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_metadata_get_internal
  - rd_kafka_metadata_broker_internal_find
  - RD_KAFKA_METADATA_CACHE_ERR_IS_TEMPORARY
  - RD_KAFKA_METADATA_CACHE_VALID
  source_file: /src/librdkafka/src/rdkafka_metadata.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: id
        type: int32_t
      - name: leader_epoch
        type: int32_t
      - name: '**racks'
        type: char
      - name: racks_cnt
        type: size_t
      item_type: struct
      name: rd_kafka_metadata_partition_internal_s
      pos:
        line_end: 46
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    - fields:
      - name: '*partitions'
        type: rd_kafka_metadata_partition_internal_t
      - name: topic_id
        type: rd_kafka_Uuid_t
      - name: topic_authorized_operations
        type: int32_t
      - name: is_internal
        type: rd_bool_t
      item_type: struct
      name: rd_kafka_metadata_topic_internal_s
      pos:
        line_end: 61
        line_start: 51
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    - fields:
      - name: id
        type: int32_t
      - name: '*rack_id'
        type: char
      item_type: struct
      name: rd_kafka_metadata_broker_internal_s
      pos:
        line_end: 72
        line_start: 67
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    - fields:
      - name: metadata
        type: rd_kafka_metadata_t
      - name: '*brokers_sorted'
        type: struct rd_kafka_metadata_broker
      - name: '*brokers'
        type: rd_kafka_metadata_broker_internal_t
      - name: '*topics'
        type: rd_kafka_metadata_topic_internal_t
      - name: '*cluster_id'
        type: char
      - name: controller_id
        type: int
      - name: cluster_authorized_operations
        type: int32_t
      item_type: struct
      name: rd_kafka_metadata_internal_s
      pos:
        line_end: 96
        line_start: 77
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    - fields:
      - name: rkmce_avlnode
        type: rd_avl_node_t
      - name: rkmce_avlnode_by_id
        type: rd_avl_node_t
      - name: (rd_kafka_metadata_cache_entry)
        type: TAILQ_ENTRY
      - name: rkmce_ts_expires
        type: rd_ts_t
      - name: rkmce_ts_insert
        type: rd_ts_t
      - name: rkmce_mtopic
        type: rd_kafka_metadata_topic_t
      - name: rkmce_metadata_internal_topic
        type: rd_kafka_metadata_topic_internal_t
      item_type: struct
      name: rd_kafka_metadata_cache_entry
      pos:
        line_end: 234
        line_start: 222
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    - fields:
      - name: rkmc_avl
        type: rd_avl_t
      - name: rkmc_avl_by_id
        type: rd_avl_t
      - name: (, rd_kafka_metadata_cache_entry)
        type: TAILQ_HEAD
      - name: rkmc_expiry_tmr
        type: rd_kafka_timer_t
      - name: rkmc_cnt
        type: int
      - name: rkmc_observers
        type: rd_list_t
      - name: rkmc_full_lock
        type: mtx_t
      - name: rkmc_full_topics_sent
        type: int
      - name: rkmc_full_brokers_sent
        type: int
      - name: rkmc_query_tmr
        type: rd_kafka_timer_t
      - name: rkmc_cnd
        type: cnd_t
      - name: rkmc_cnd_lock
        type: mtx_t
      item_type: struct
      name: rd_kafka_metadata_cache
      pos:
        line_end: 270
        line_start: 246
        source_file: /src/librdkafka/src/rdkafka_metadata.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_pattern.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (rd_kafka_pattern_s)
        type: TAILQ_ENTRY
      - name: '*rkpat_re'
        type: rd_regex_t
      - name: '*rkpat_orig'
        type: char
      item_type: struct
      name: rd_kafka_pattern_s
      pos:
        line_end: 37
        line_start: 32
        source_file: /src/librdkafka/src/rdkafka_pattern.h
    - fields:
      - name: (, rd_kafka_pattern_s)
        type: TAILQ_HEAD
      - name: '*rkpl_orig'
        type: char
      item_type: struct
      name: rd_kafka_pattern_list_s
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_pattern.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_transport_set_blocked
  - rd_kafka_transport_error_disconnected
  source_file: /src/librdkafka/src/rdkafka_transport.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_kafka_transport_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_transport.h
      type: rd_kafka_transport_s
    union: []
- function_names:
  - rd_kafka_admin_result_new
  - rd_kafka_admin_result_set_err0
  - rd_kafka_admin_result_set_err
  - rd_kafka_admin_result_enq
  - RD_FORMAT
  - rd_kafka_admin_coord_request
  - rd_kafka_admin_result_ret_topics
  - rd_kafka_admin_result_ret_resources
  - rd_kafka_admin_result_ret_acl_results
  - rd_kafka_admin_result_ret_acl_bindings
  - rd_kafka_admin_result_ret_groups
  - rd_kafka_admin_result_ret_delete_acl_result_responses
  - rd_kafka_admin_request_op_new
  - rd_kafka_admin_request_op_result_cb_set
  - rd_kafka_admin_timeout_remains
  - rd_kafka_admin_timeout_remains_us
  - rd_kafka_admin_eonce_timeout_cb
  - rd_kafka_admin_common_worker_destroy
  - rd_kafka_admin_common_get_broker
  - rd_kafka_admin_common_get_controller
  - rd_kafka_admin_common_brokers_get_nodeids
  - rd_kafka_admin_handle_response
  - rd_kafka_admin_response_parse
  - rd_kafka_admin_coord_response_parse
  - rd_kafka_admin_worker
  - rd_kafka_admin_fanout_op_new
  - rd_kafka_admin_fanout_op_distribute
  - rd_kafka_admin_fanout_worker
  - rd_kafka_admin_request_op_target_all_new
  - rd_kafka_admin_MetadataRequest
  - rd_kafka_AdminOptions_set_request_timeout
  - rd_kafka_AdminOptions_set_operation_timeout
  - rd_kafka_AdminOptions_set_validate_only
  - rd_kafka_AdminOptions_set_broker
  - rd_kafka_AdminOptions_set_isolation_level
  - rd_kafka_AdminOptions_set_require_stable_offsets
  - rd_kafka_AdminOptions_set_include_authorized_operations
  - rd_kafka_AdminOptions_set_match_consumer_group_states
  - rd_kafka_AdminOptions_set_match_consumer_group_types
  - rd_kafka_AdminOptions_set_opaque
  - rd_kafka_AdminOptions_init
  - rd_kafka_AdminOptions_copy_to
  - rd_kafka_AdminOptions_new
  - rd_kafka_AdminOptions_destroy
  - rd_kafka_NewTopic_new
  - rd_kafka_NewTopic_cmp
  - rd_kafka_NewTopic_copy
  - rd_kafka_NewTopic_destroy
  - rd_kafka_NewTopic_free
  - rd_kafka_NewTopic_destroy_array
  - rd_kafka_NewTopic_set_replica_assignment
  - rd_kafka_admin_add_config0
  - rd_kafka_admin_incremental_add_config0
  - rd_kafka_NewTopic_set_config
  - rd_kafka_CreateTopicsResponse_parse
  - rd_kafka_CreateTopics
  - rd_kafka_CreateTopics_result_topics
  - rd_kafka_DeleteTopic_new
  - rd_kafka_DeleteTopic_destroy
  - rd_kafka_DeleteTopic_free
  - rd_kafka_DeleteTopic_destroy_array
  - rd_kafka_DeleteTopic_cmp
  - rd_kafka_DeleteTopic_copy
  - rd_kafka_DeleteTopicsResponse_parse
  - rd_kafka_DeleteTopics
  - rd_kafka_DeleteTopics_result_topics
  - rd_kafka_NewPartitions_new
  - rd_kafka_NewPartitions_cmp
  - rd_kafka_NewPartitions_copy
  - rd_kafka_NewPartitions_destroy
  - rd_kafka_NewPartitions_free
  - rd_kafka_NewPartitions_destroy_array
  - rd_kafka_NewPartitions_set_replica_assignment
  - rd_kafka_CreatePartitionsResponse_parse
  - rd_kafka_CreatePartitions
  - rd_kafka_CreatePartitions_result_topics
  - rd_kafka_ConfigEntry_destroy
  - rd_kafka_ConfigEntry_free
  - rd_kafka_ConfigEntry_new0
  - rd_kafka_ConfigEntry_new
  - rd_kafka_ConfigEntry_copy
  - rd_kafka_ConfigEntry_list_copy
  - rd_kafka_ConfigEntry_name
  - rd_kafka_ConfigEntry_value
  - rd_kafka_ConfigEntry_source
  - rd_kafka_ConfigEntry_is_read_only
  - rd_kafka_ConfigEntry_is_default
  - rd_kafka_ConfigEntry_is_sensitive
  - rd_kafka_ConfigEntry_is_synonym
  - rd_kafka_ConfigEntry_synonyms
  - rd_kafka_ConfigSource_name
  - rd_kafka_ResourcePatternType_name
  - rd_kafka_ResourceType_name
  - rd_kafka_ResourceType_to_ConfigResourceType
  - rd_kafka_ConfigResourceType_to_ResourceType
  - rd_kafka_ConfigResource_new
  - rd_kafka_ConfigResource_destroy
  - rd_kafka_ConfigResource_free
  - rd_kafka_ConfigResource_destroy_array
  - rd_kafka_ConfigResource_cmp
  - rd_kafka_ConfigResource_copy
  - rd_kafka_ConfigResource_add_ConfigEntry
  - rd_kafka_ConfigResource_set_config
  - rd_kafka_ConfigResource_add_incremental_config
  - rd_kafka_ConfigResource_configs
  - rd_kafka_ConfigResource_type
  - rd_kafka_ConfigResource_name
  - rd_kafka_ConfigResource_error
  - rd_kafka_ConfigResource_error_string
  - rd_kafka_ConfigResource_get_single_broker_id
  - RD_LIST_FOREACH
  - rd_kafka_AlterConfigsResponse_parse
  - rd_kafka_AlterConfigs
  - rd_kafka_AlterConfigs_result_resources
  - rd_kafka_IncrementalAlterConfigsResponse_parse
  - rd_kafka_IncrementalAlterConfigs
  - rd_kafka_IncrementalAlterConfigs_result_resources
  - rd_kafka_DescribeConfigsResponse_parse
  - rd_kafka_DescribeConfigs
  - rd_kafka_DescribeConfigs_result_resources
  - rd_kafka_DeleteRecords_new
  - rd_kafka_DeleteRecords_destroy
  - rd_kafka_DeleteRecords_destroy_array
  - rd_kafka_DeleteRecords_response_merge
  - RD_KAFKA_TPLIST_FOREACH
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_DeleteRecordsResponse_parse
  - rd_kafka_ListOffsetsResultInfo_new
  - rd_kafka_ListOffsetsResultInfo_copy
  - rd_kafka_ListOffsetsResultInfo_copy_opaque
  - rd_kafka_ListOffsetsResultInfo_topic_partition
  - rd_kafka_ListOffsetsResultInfo_timestamp
  - rd_kafka_ListOffsetsResultInfo_destroy
  - rd_kafka_ListOffsetsResultInfo_destroy_free
  - rd_kafka_ListOffsets_response_merge
  - rd_kafka_ListOffsets_result_infos
  - rd_kafka_ListOffsetsResponse_parse
  - rd_kafka_admin_result_err_refresh
  - rd_kafka_ListOffsets_handle_result
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_ListOffsets_leaders_queried_cb
  - RD_KAFKA_TPLIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_DeleteRecords_leaders_queried_cb
  - RD_KAFKA_TPLIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_DeleteRecords
  - rd_kafka_ListOffsets
  - rd_kafka_DeleteRecords_result_offsets
  - rd_kafka_DeleteGroup_new
  - rd_kafka_DeleteGroup_destroy
  - rd_kafka_DeleteGroup_free
  - rd_kafka_DeleteGroup_destroy_array
  - rd_kafka_DeleteGroup_cmp
  - rd_kafka_DeleteGroup_copy
  - rd_kafka_DeleteGroupsResponse_parse
  - rd_kafka_DeleteGroups_response_merge
  - rd_kafka_DeleteGroups
  - rd_kafka_DeleteGroups_result_groups
  - rd_kafka_DeleteConsumerGroupOffsets_new
  - rd_kafka_DeleteConsumerGroupOffsets_destroy
  - rd_kafka_DeleteConsumerGroupOffsets_free
  - rd_kafka_DeleteConsumerGroupOffsets_destroy_array
  - rd_kafka_DeleteConsumerGroupOffsets_copy
  - rd_kafka_OffsetDeleteResponse_parse
  - rd_kafka_DeleteConsumerGroupOffsets
  - rd_kafka_DeleteConsumerGroupOffsets_result_groups
  - rd_kafka_AclOperation_name
  - rd_kafka_AclPermissionType_name
  - rd_kafka_AclBinding_new0
  - rd_kafka_AclBinding_new
  - rd_kafka_AclBindingFilter_new
  - rd_kafka_AclBinding_restype
  - rd_kafka_AclBinding_name
  - rd_kafka_AclBinding_principal
  - rd_kafka_AclBinding_host
  - rd_kafka_AclBinding_operation
  - rd_kafka_AclBinding_permission_type
  - rd_kafka_AclBinding_resource_pattern_type
  - rd_kafka_AclBinding_error
  - rd_kafka_AclBinding_copy
  - rd_kafka_AclBindingFilter_copy
  - rd_kafka_AclBinding_destroy
  - rd_kafka_AclBinding_free
  - rd_kafka_AclBinding_destroy_array
  - rd_kafka_CreateAclsResponse_parse
  - rd_kafka_CreateAcls
  - rd_kafka_CreateAcls_result_acls
  - rd_kafka_DescribeAclsResponse_parse
  - rd_kafka_DescribeAcls
  - rd_kafka_ScramCredentialInfo_mechanism
  - rd_kafka_ScramCredentialInfo_iterations
  - rd_kafka_UserScramCredentialsDescription_new
  - rd_kafka_UserScramCredentialsDescription_destroy
  - rd_kafka_UserScramCredentialsDescription_destroy_free
  - rd_kafka_UserScramCredentailsDescription_set_error
  - rd_kafka_UserScramCredentialsDescription_user
  - rd_kafka_UserScramCredentialsDescription_error
  - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo_count
  - rd_kafka_UserScramCredentialsDescription_scramcredentialinfo
  - rd_kafka_DescribeUserScramCredentials_result_descriptions
  - rd_kafka_DescribeUserScramCredentialsRequest
  - rd_kafka_DescribeUserScramCredentialsResponse_parse
  - rd_kafka_DescribeUserScramCredentials
  - rd_kafka_UserScramCredentialUpsertion_new
  - rd_kafka_UserScramCredentialDeletion_new
  - rd_kafka_UserScramCredentialAlteration_destroy
  - rd_kafka_UserScramCredentialAlteration_destroy_free
  - rd_kafka_UserScramCredentialAlteration_destroy_array
  - rd_kafka_UserScramCredentialAlteration_copy
  - rd_kafka_AlterUserScramCredentials_result_response_new
  - rd_kafka_AlterUserScramCredentials_result_response_destroy
  - rd_kafka_AlterUserScramCredentials_result_response_destroy_free
  - rd_kafka_AlterUserScramCredentials_result_response_set_error
  - rd_kafka_AlterUserScramCredentials_result_response_user
  - rd_kafka_AlterUserScramCredentials_result_response_error
  - rd_kafka_AlterUserScramCredentials_result_responses
  - rd_kafka_AlterUserScramCredentialsRequest_salted_password
  - rd_kafka_AlterUserScramCredentialsRequest
  - rd_kafka_AlterUserScramCredentialsResponse_parse
  - rd_kafka_AlterUserScramCredentials
  - rd_kafka_DescribeAcls_result_acls
  - rd_kafka_DeleteAcls_result_response_new
  - rd_kafka_DeleteAcls_result_response_destroy
  - rd_kafka_DeleteAcls_result_response_free
  - rd_kafka_DeleteAcls_result_responses
  - rd_kafka_DeleteAcls_result_response_error
  - rd_kafka_DeleteAcls_result_response_matching_acls
  - rd_kafka_DeleteAclsResponse_parse
  - rd_kafka_DeleteAcls
  - rd_kafka_AlterConsumerGroupOffsets_new
  - rd_kafka_AlterConsumerGroupOffsets_destroy
  - rd_kafka_AlterConsumerGroupOffsets_free
  - rd_kafka_AlterConsumerGroupOffsets_destroy_array
  - rd_kafka_AlterConsumerGroupOffsets_copy
  - rd_kafka_AlterConsumerGroupOffsetsRequest
  - rd_kafka_AlterConsumerGroupOffsetsResponse_parse
  - rd_kafka_AlterConsumerGroupOffsets
  - rd_kafka_AlterConsumerGroupOffsets_result_groups
  - rd_kafka_ListConsumerGroupOffsets_new
  - rd_kafka_ListConsumerGroupOffsets_destroy
  - rd_kafka_ListConsumerGroupOffsets_free
  - rd_kafka_ListConsumerGroupOffsets_destroy_array
  - rd_kafka_ListConsumerGroupOffsets_copy
  - rd_kafka_ListConsumerGroupOffsetsRequest
  - rd_kafka_ListConsumerGroupOffsetsResponse_parse
  - rd_kafka_ListConsumerGroupOffsets
  - rd_kafka_ListConsumerGroupOffsets_result_groups
  - rd_kafka_ConsumerGroupListing_new
  - rd_kafka_ConsumerGroupListing_copy
  - rd_kafka_ConsumerGroupListing_copy_opaque
  - rd_kafka_ConsumerGroupListing_destroy
  - rd_kafka_ConsumerGroupListing_free
  - rd_kafka_ConsumerGroupListing_group_id
  - rd_kafka_ConsumerGroupListing_is_simple_consumer_group
  - rd_kafka_ConsumerGroupListing_state
  - rd_kafka_ConsumerGroupListing_type
  - rd_kafka_ListConsumerGroupsResult_new
  - rd_kafka_ListConsumerGroupsResult_destroy
  - rd_kafka_ListConsumerGroupsResult_free
  - rd_kafka_ListConsumerGroupsResult_copy
  - rd_kafka_ListConsumerGroupsResult_copy_opaque
  - rd_kafka_admin_ListConsumerGroupsRequest
  - rd_kafka_ListConsumerGroupsResponse_parse
  - rd_kafka_ListConsumerGroups_response_merge
  - rd_kafka_ListConsumerGroups
  - rd_kafka_ListConsumerGroups_result_valid
  - rd_kafka_ListConsumerGroups_result_errors
  - rd_kafka_AuthorizedOperations_parse
  - rd_kafka_AuthorizedOperations_copy
  - rd_kafka_MemberDescription_new
  - rd_kafka_MemberDescription_copy
  - rd_kafka_MemberDescription_list_copy
  - rd_kafka_MemberDescription_destroy
  - rd_kafka_MemberDescription_free
  - rd_kafka_MemberDescription_client_id
  - rd_kafka_MemberDescription_group_instance_id
  - rd_kafka_MemberDescription_consumer_id
  - rd_kafka_MemberDescription_host
  - rd_kafka_MemberDescription_assignment
  - rd_kafka_MemberAssignment_partitions
  - rd_kafka_MemberDescription_target_assignment
  - rd_kafka_ConsumerGroupDescription_new
  - rd_kafka_ConsumerGroupDescription_new_error
  - rd_kafka_ConsumerGroupDescription_copy
  - rd_kafka_ConsumerGroupDescription_copy_opaque
  - rd_kafka_ConsumerGroupDescription_destroy
  - rd_kafka_ConsumerGroupDescription_free
  - rd_kafka_ConsumerGroupDescription_group_id
  - rd_kafka_ConsumerGroupDescription_error
  - rd_kafka_ConsumerGroupDescription_is_simple_consumer_group
  - rd_kafka_ConsumerGroupDescription_partition_assignor
  - rd_kafka_ConsumerGroupDescription_authorized_operations
  - rd_kafka_ConsumerGroupDescription_state
  - rd_kafka_ConsumerGroupDescription_coordinator
  - rd_kafka_ConsumerGroupDescription_type
  - rd_kafka_ConsumerGroupDescription_member_count
  - rd_kafka_ConsumerGroupDescription_member
  - rd_kafka_DescribeConsumerGroups_cmp
  - rd_kafka_admin_DescribeConsumerGroupsRequest
  - RD_LIST_FOREACH
  - rd_kafka_admin_ConsumerGroupDescribeRequest
  - rd_kafka_DescribeConsumerGroupsResponse_parse
  - rd_kafka_ConsumerGroupDescribeResponse_parse
  - rd_kafka_admin_describe_consumer_group_do_fallback_to_classic
  - rd_kafka_admin_describe_consumer_group_request
  - rd_kafka_DescribeConsumerGroups_response_merge
  - rd_kafka_DescribeConsumerGroups
  - rd_kafka_DescribeConsumerGroups_result_groups
  - rd_kafka_TopicCollection_of_topic_names
  - rd_kafka_TopicCollection_destroy
  - rd_kafka_TopicPartitionInfo_new
  - rd_kafka_TopicPartitionInfo_destroy
  - rd_kafka_TopicDescription_new
  - rd_kafka_TopicDescription_new_error
  - rd_kafka_TopicDescription_destroy
  - rd_kafka_TopicDescription_free
  - rd_kafka_TopicPartitionInfo_partition
  - rd_kafka_TopicPartitionInfo_leader
  - rd_kafka_TopicPartitionInfo_isr
  - rd_kafka_TopicPartitionInfo_replicas
  - rd_kafka_TopicDescription_partitions
  - rd_kafka_TopicDescription_authorized_operations
  - rd_kafka_TopicDescription_name
  - rd_kafka_TopicDescription_is_internal
  - rd_kafka_TopicDescription_error
  - rd_kafka_TopicDescription_topic_id
  - rd_kafka_DescribeTopics_result_topics
  - rd_kafka_DescribeTopics_cmp
  - rd_kafka_admin_DescribeTopicsRequest
  - rd_kafka_DescribeTopicsResponse_parse
  - rd_kafka_DescribeTopics
  - rd_kafka_DescribeCluster_result_description
  - rd_kafka_DescribeCluster_result_nodes
  - rd_kafka_DescribeCluster_result_authorized_operations
  - rd_kafka_DescribeCluster_result_cluster_id
  - rd_kafka_DescribeCluster_result_controller
  - rd_kafka_ClusterDescription_new
  - rd_kafka_ClusterDescription_destroy
  - rd_kafka_ClusterDescription_free
  - rd_kafka_admin_DescribeClusterRequest
  - rd_kafka_DescribeClusterResponse_parse
  - rd_kafka_DescribeCluster
  - rd_kafka_ElectLeaders_new
  - rd_kafka_ElectLeaders_copy
  - rd_kafka_ElectLeaders_destroy
  - rd_kafka_ElectLeaders_free
  - rd_kafka_ElectLeadersResult_new
  - rd_kafka_ElectLeadersResult_partitions
  - rd_kafka_ElectLeadersResult_destroy
  - rd_kafka_ElectLeadersResult_free
  - rd_kafka_ElectLeaders_result_result
  - rd_kafka_ElectLeaders_result_partitions
  - rd_kafka_ElectLeadersResponse_parse
  - rd_kafka_ElectLeaders
  source_file: /src/librdkafka/src/rdkafka_admin.c
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_USER_SCRAM_CREDENTIAL_ALTERATION_TYPE_UPSERT
        value: '0'
      - name: RD_KAFKA_USER_SCRAM_CREDENTIAL_ALTERATION_TYPE__CNT
      - name: RD_KAFKA_USER_SCRAM_CREDENTIAL_ALTERATION_TYPE_DELETE
        value: '1'
      item_type: enum
      name: rd_kafka_UserScramCredentialAlteration_type_s
      pos:
        line_end: 5994
        line_start: 5990
        source_file: /src/librdkafka/src/rdkafka_admin.c
    preproc_defs:
    - item_type: preproc_def
      name: CONSUMER_PROTOCOL_TYPE
      pos:
        line_end: 7248
        line_start: 7247
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type_or_value: '"consumer"'
    structs:
    - fields:
      - name: '*request'
        type: rd_kafka_admin_Request_cb_t
      - name: '*parse'
        type: rd_kafka_admin_Response_parse_cb_t
      item_type: struct
      name: rd_kafka_admin_worker_cbs
      pos:
        line_end: 280
        line_start: 272
        source_file: /src/librdkafka/src/rdkafka_admin.c
    - fields:
      - name: '*partial_response'
        type: rd_kafka_admin_fanout_PartialResponse_cb_t
      - name: '*copy_result'
        type: rd_kafka_admin_fanout_CopyResult_cb_t
      - name: '*copy_arg'
        type: rd_kafka_admin_fanout_CopyArg_cb_t
      item_type: struct
      name: rd_kafka_admin_fanout_worker_cbs
      pos:
        line_end: 294
        line_start: 285
        source_file: /src/librdkafka/src/rdkafka_admin.c
    - fields:
      - name: mechanism
        type: rd_kafka_ScramMechanism_t
      - name: iterations
        type: int32_t
      item_type: struct
      name: rd_kafka_ScramCredentialInfo_s
      pos:
        line_end: 5699
        line_start: 5696
        source_file: /src/librdkafka/src/rdkafka_admin.c
    - fields:
      - name: '*user'
        type: char
      - name: '*error'
        type: rd_kafka_error_t
      - name: credential_info_cnt
        type: size_t
      - name: '*credential_infos'
        type: rd_kafka_ScramCredentialInfo_t
      item_type: struct
      name: rd_kafka_UserScramCredentialsDescription_s
      pos:
        line_end: 5716
        line_start: 5711
        source_file: /src/librdkafka/src/rdkafka_admin.c
    - fields:
      - name: '*user'
        type: char
      - name: alteration_type
        type: rd_kafka_UserScramCredentialAlteration_type_t
      - name: alteration
        type: "union {\n                struct {\n                        rd_kafka_ScramCredentialInfo_t
          credential_info;\n                        rd_kafkap_bytes_t *salt;\n                        rd_kafkap_bytes_t
          *password;\n                } upsertion;\n                struct {\n                        rd_kafka_ScramMechanism_t
          mechanism;\n                } deletion;\n        }"
      item_type: struct
      name: rd_kafka_UserScramCredentialAlteration_s
      pos:
        line_end: 6009
        line_start: 5996
        source_file: /src/librdkafka/src/rdkafka_admin.c
    - fields:
      - name: '*user'
        type: char
      - name: '*error'
        type: rd_kafka_error_t
      item_type: struct
      name: rd_kafka_AlterUserScramCredentials_result_response_s
      pos:
        line_end: 6118
        line_start: 6115
        source_file: /src/librdkafka/src/rdkafka_admin.c
    typedefs:
    - item_type: typedef
      name: "(rd_kafka_admin_Request_cb_t)(\n    rd_kafka_broker_t *rkb,\n    const
        rd_list_t *configs /*(ConfigResource_t*)*/,\n    rd_kafka_AdminOptions_t *options,\n
        \   char *errstr,\n    size_t errstr_size,\n    rd_kafka_replyq_t replyq,\n
        \   rd_kafka_resp_cb_t *resp_cb,\n    void *opaque)"
      pos:
        line_end: 252
        line_start: 244
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_admin_Response_parse_cb_t)(\n    rd_kafka_op_t *rko_req,\n
        \   rd_kafka_op_t **rko_resultp,\n    rd_kafka_buf_t *reply,\n    char *errstr,\n
        \   size_t errstr_size)"
      pos:
        line_end: 259
        line_start: 254
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_admin_fanout_PartialResponse_cb_t)(\n    rd_kafka_op_t *rko_req,\n
        \   const rd_kafka_op_t *rko_partial)"
      pos:
        line_end: 263
        line_start: 261
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: void
    - item_type: typedef
      name: rd_kafka_admin_fanout_CopyResult_cb_t
      pos:
        line_end: 265
        line_start: 265
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: rd_list_copy_cb_t
    - item_type: typedef
      name: rd_kafka_admin_fanout_CopyArg_cb_t
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: rd_list_copy_cb_t
    - item_type: typedef
      name: '*) map_str_bool'
      pos:
        line_end: 3501
        line_start: 3501
        source_file: /src/librdkafka/src/rdkafka_admin.c
      type: rd_bool_t
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_telemetry_decode.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*decoded_string)(void *opaque, const uint8_t *decoded)
        type: void
      - name: "(*decoded_NumberDataPoint)(\n            void *opaque,\n            const
          opentelemetry_proto_metrics_v1_NumberDataPoint *decoded)"
        type: void
      - name: (*decoded_int64)(void *opaque, int64_t decoded)
        type: void
      - name: "(*decoded_type)(void *opaque,\n                             rd_kafka_telemetry_metric_type_t
          type)"
        type: void
      - name: (*decode_error)(void *opaque, const char *error, ...)
        type: void
      - name: '*opaque'
        type: void
      item_type: struct
      name: rd_kafka_telemetry_decode_interface_s
      pos:
        line_end: 44
        line_start: 34
        source_file: /src/librdkafka/src/rdkafka_telemetry_decode.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_coord_cache_entry_destroy
  - rd_kafka_coord_cache_expire
  - rd_kafka_coord_cache_find
  - rd_kafka_coord_cache_get
  - rd_kafka_coord_cache_add
  - rd_kafka_coord_cache_evict
  - rd_kafka_coord_cache_destroy
  - rd_kafka_coord_cache_init
  - rd_kafka_coord_req_tmr_cb
  - rd_kafka_coord_req
  - rd_kafka_coord_req_destroy
  - rd_kafka_coord_req_keep
  - rd_kafka_coord_req_fail
  - rd_kafka_coord_req_handle_FindCoordinator
  - rd_kafka_coord_req_fsm
  - rd_kafka_coord_rkb_monitor_cb
  - rd_kafka_coord_reqs_term
  - rd_kafka_coord_reqs_init
  source_file: /src/librdkafka/src/rdkafka_coord.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_sasl_int.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: (*init)(rd_kafka_t *rk, char *errstr, size_t errstr_size)
        type: int
      - name: (*term)(rd_kafka_t *rk)
        type: void
      - name: (*ready)(rd_kafka_t *rk)
        type: rd_bool_t
      - name: "(*client_new)(rd_kafka_transport_t *rktrans,\n                          const
          char *hostname,\n                          char *errstr,\n                          size_t
          errstr_size)"
        type: int
      - name: "(*recv)(struct rd_kafka_transport_s *s,\n                    const
          void *buf,\n                    size_t size,\n                    char *errstr,\n
          \                   size_t errstr_size)"
        type: int
      - name: (*close)(struct rd_kafka_transport_s *)
        type: void
      - name: (*broker_init)(rd_kafka_broker_t *rkb)
        type: void
      - name: (*broker_term)(rd_kafka_broker_t *rkb)
        type: void
      - name: (*conf_validate)(rd_kafka_t *rk, char *errstr, size_t errstr_size)
        type: int
      item_type: struct
      name: rd_kafka_sasl_provider
      pos:
        line_end: 59
        line_start: 31
        source_file: /src/librdkafka/src/rdkafka_sasl_int.h
    typedefs: []
    union: []
- function_names:
  - rd_uvarint_enc_u64
  - rd_uvarint_enc_i64
  - rd_uvarint_enc_i32
  - RD_UVARINT_OVERFLOW
  - RD_UVARINT_UNDERFLOW
  - RD_UVARINT_DEC_FAILED
  - rd_uvarint_dec
  - rd_varint_dec_i64
  - RD_UVARINT_ENC_SIZEOF
  - RD_UVARINT_ENC_SIZE_0
  source_file: /src/librdkafka/src/rdvarint.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_zstd_decompress
  - rd_kafka_zstd_compress
  source_file: /src/librdkafka/src/rdkafka_zstd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_telemetry.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_TELEMETRY_METRICS_ALL_METRICS_SUBSCRIPTION
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/src/rdkafka_telemetry.h
      type_or_value: '"*"'
    - item_type: preproc_def
      name: RD_KAFKA_TELEMETRY_METRIC_NAME_MAX_LEN
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/src/rdkafka_telemetry.h
      type_or_value: '128'
    structs: []
    typedefs: []
    union: []
- function_names:
  - MIN
  - MAX
  - HASH_FUNCTION
  - DELTANEXTMAXD
  - DELTANEXTU16
  - UPDATABLE
  - LZ4HC_hashPtr
  - LZ4HC_clearTables
  - LZ4HC_init_internal
  - LZ4HC_Insert
  - LZ4HC_countBack
  - LZ4HC_rotl32
  - LZ4HC_rotl32
  - LZ4HC_rotatePattern
  - LZ4HC_countPattern
  - LZ4HC_reverseCountPattern
  - LZ4HC_protectDictEnd
  - LZ4HC_InsertAndGetWiderMatch
  - LZ4HC_InsertAndFindBestMatch
  - LZ4HC_encodeSequence
  - LZ4HC_compress_hashChain
  - LZ4HC_compress_generic_internal
  - LZ4HC_compress_generic_noDictCtx
  - LZ4HC_compress_generic_dictCtx
  - LZ4HC_compress_generic
  - LZ4_sizeofStateHC
  - LZ4_streamHC_t_alignment
  - LZ4_compress_HC_extStateHC_fastReset
  - LZ4_compress_HC_extStateHC
  - LZ4_compress_HC
  - LZ4_compress_HC_destSize
  - LZ4_createStreamHC
  - LZ4_freeStreamHC
  - LZ4_initStreamHC
  - LZ4_resetStreamHC
  - LZ4_resetStreamHC_fast
  - LZ4_setCompressionLevel
  - LZ4_favorDecompressionSpeed
  - LZ4_loadDictHC
  - LZ4_attach_HC_dictionary
  - LZ4HC_setExternalDict
  - LZ4_compressHC_continue_generic
  - LZ4_compress_HC_continue
  - LZ4_compress_HC_continue_destSize
  - LZ4_saveDictHC
  - LZ4_compressHC
  - LZ4_compressHC_limitedOutput
  - LZ4_compressHC2
  - LZ4_compressHC2_limitedOutput
  - LZ4_compressHC_withStateHC
  - LZ4_compressHC_limitedOutput_withStateHC
  - LZ4_compressHC2_withStateHC
  - LZ4_compressHC2_limitedOutput_withStateHC
  - LZ4_compressHC_continue
  - LZ4_compressHC_limitedOutput_continue
  - LZ4_sizeofStreamStateHC
  - LZ4_resetStreamStateHC
  - LZ4_createHC
  - LZ4_freeHC
  - LZ4_compressHC2_continue
  - LZ4_compressHC2_limitedOutput_continue
  - LZ4_slideInputBufferHC
  - LZ4HC_literalsPrice
  - LZ4HC_sequencePrice
  - LZ4HC_match_t::LZ4HC_FindLongerMatch
  - LZ4HC_compress_optimal
  source_file: /src/librdkafka/src/lz4hc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4HC_HEAPMODE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: '1'
    - item_type: preproc_def
      name: OPTIMAL_ML
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: (int)((ML_MASK-1)+MINMATCH)
    - item_type: preproc_def
      name: LZ4_OPT_NUM
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: (1<<12)
    - item_type: preproc_def
      name: ip
      pos:
        line_end: 476
        line_start: 475
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: (*_ip)
    - item_type: preproc_def
      name: op
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: (*_op)
    - item_type: preproc_def
      name: anchor
      pos:
        line_end: 478
        line_start: 477
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: (*_anchor)
    - item_type: preproc_def
      name: TRAILING_LITERALS
      pos:
        line_end: 1343
        line_start: 1342
        source_file: /src/librdkafka/src/lz4hc.c
      type_or_value: '3'
    structs:
    - fields:
      - name: strat
        type: lz4hc_strat_e
      - name: nbSearches
        type: int
      - name: targetLength
        type: U32
      item_type: struct
      name: cParams_t
      pos:
        line_end: 815
        line_start: 811
        source_file: /src/librdkafka/src/lz4hc.c
    - fields:
      - name: c
        type: char
      - name: t
        type: LZ4_streamHC_t
      item_type: struct
      name: t_a
      pos:
        line_end: 929
        line_start: 929
        source_file: /src/librdkafka/src/lz4hc.c
    - fields:
      - name: price
        type: int
      - name: 'off'
        type: int
      - name: mlen
        type: int
      - name: litlen
        type: int
      item_type: struct
      name: LZ4HC_optimal_t
      pos:
        line_end: 1272
        line_start: 1267
        source_file: /src/librdkafka/src/lz4hc.c
    - fields:
      - name: 'off'
        type: int
      - name: len
        type: int
      item_type: struct
      name: LZ4HC_match_t
      pos:
        line_end: 1304
        line_start: 1301
        source_file: /src/librdkafka/src/lz4hc.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_q_ready
  - rd_kafka_q_init
  - rd_kafka_consume_q_init
  - rd_kafka_q_new
  - rd_kafka_consume_q_new
  - rd_kafka_q_lock
  - rd_kafka_q_unlock
  - rd_kafka_q_keep
  - rd_kafka_q_keep_nolock
  - rd_kafka_q_name
  - rd_kafka_q_dest_name
  - rd_kafka_q_disable0
  - rd_kafka_q_destroy0
  - rd_kafka_q_destroy_owner
  - rd_kafka_q_reset
  - rd_kafka_q_fwd_get
  - rd_kafka_q_is_fwded
  - rd_kafka_q_io_event
  - rd_kafka_op_cmp_prio
  - rd_kafka_q_yield
  - rd_kafka_q_enq0
  - rd_kafka_q_enq1
  - rd_kafka_q_enq
  - rd_kafka_q_reenq
  - rd_kafka_q_deq0
  - rd_kafka_q_mark_served
  - rd_kafka_q_concat0
  - rd_kafka_q_prepend0
  - rd_kafka_q_len
  - rd_kafka_q_size
  - rd_kafka_replyq_make
  - RD_KAFKA_REPLYQ
  - rd_kafka_replyq_is_valid
  - rd_kafka_set_replyq
  - rd_kafka_op_set_replyq
  - rd_kafka_op_get_reply_version
  - rd_kafka_replyq_clear
  - rd_kafka_replyq_copy
  - rd_kafka_replyq_destroy
  - rd_kafka_replyq_enq
  - rd_kafka_q_last
  - rd_kafka_enq_once_new
  - rd_kafka_enq_once_reenable
  - rd_kafka_enq_once_destroy0
  - rd_kafka_enq_once_add_source
  - rd_kafka_enq_once_del_source
  - rd_kafka_enq_once_del_source_return
  - rd_kafka_enq_once_trigger
  - rd_kafka_enq_once_destroy
  - rd_kafka_enq_once_disable
  - rd_kafka_q_can_contain_fetched_msgs
  source_file: /src/librdkafka/src/rdkafka_queue.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_QUEUE_FIFO
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_KAFKA_QUEUE_LIFO
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_KAFKA_Q_F_ALLOCATED
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: RD_KAFKA_Q_F_READY
      pos:
        line_end: 68
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: RD_KAFKA_Q_F_FWD_APP
      pos:
        line_end: 71
        line_start: 68
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0x4 '
    - item_type: preproc_def
      name: RD_KAFKA_Q_F_YIELD
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0x8 '
    - item_type: preproc_def
      name: RD_KAFKA_Q_F_CONSUMER
      pos:
        line_end: 83
        line_start: 78
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_NO_REPLYQ
      pos:
        line_end: 698
        line_start: 694
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: "(rd_kafka_replyq_t) {                                                  \\\n
        \               NULL, 0, NULL                                                  \\\n
        \       }"
    - item_type: preproc_def
      name: RD_KAFKA_NO_REPLYQ
      pos:
        line_end: 703
        line_start: 699
        source_file: /src/librdkafka/src/rdkafka_queue.h
      type_or_value: "(rd_kafka_replyq_t) {                                                  \\\n
        \               NULL, 0                                                        \\\n
        \       }"
    structs:
    - fields:
      - name: rkq_lock
        type: mtx_t
      - name: rkq_cond
        type: cnd_t
      - name: '*rkq_fwdq'
        type: struct rd_kafka_q_s
      - name: rkq_q
        type: struct rd_kafka_op_tailq
      - name: rkq_qlen
        type: int
      - name: rkq_qsize
        type: int64_t
      - name: rkq_refcnt
        type: int
      - name: rkq_flags
        type: int
      - name: '*rkq_rk'
        type: rd_kafka_t
      - name: '*rkq_qio'
        type: struct rd_kafka_q_io
      - name: '*rkq_serve'
        type: rd_kafka_q_serve_cb_t
      - name: '*rkq_opaque'
        type: void
      - name: rkq_ts_last_poll_start
        type: rd_ts_t
      - name: rkq_ts_last_poll_end
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_q_s
      pos:
        line_end: 105
        line_start: 52
        source_file: /src/librdkafka/src/rdkafka_queue.h
    - fields:
      - name: fd
        type: rd_socket_t
      - name: '*payload'
        type: void
      - name: size
        type: size_t
      - name: sent
        type: rd_bool_t
      - name: (*event_cb)(rd_kafka_t *rk, void *opaque)
        type: void
      - name: '*event_cb_opaque'
        type: void
      item_type: struct
      name: rd_kafka_q_io
      pos:
        line_end: 121
        line_start: 109
        source_file: /src/librdkafka/src/rdkafka_queue.h
    - fields:
      - name: '*rkqu_q'
        type: rd_kafka_q_t
      - name: '*rkqu_rk'
        type: rd_kafka_t
      - name: rkqu_is_owner
        type: int
      item_type: struct
      name: rd_kafka_queue_s
      pos:
        line_end: 919
        line_start: 915
        source_file: /src/librdkafka/src/rdkafka_queue.h
    - fields:
      - name: lock
        type: mtx_t
      - name: refcnt
        type: int
      - name: '*rko'
        type: rd_kafka_op_t
      - name: replyq
        type: rd_kafka_replyq_t
      item_type: struct
      name: rd_kafka_enq_once_s
      pos:
        line_end: 947
        line_start: 942
        source_file: /src/librdkafka/src/rdkafka_queue.h
    typedefs: []
    union: []
- function_names:
  - rd_tmpabuf_new
  - rd_tmpabuf_add_alloc_times
  - rd_tmpabuf_add_alloc
  - rd_tmpabuf_finalize
  - rd_tmpabuf_destroy
  - rd_tmpabuf_failed
  - rd_tmpabuf_alloc0
  - rd_tmpabuf_alloc
  - rd_tmpabuf_write0
  - rd_tmpabuf_write
  - rd_tmpabuf_write_str0
  - rd_tmpabuf_write_str
  - rd_kafka_buf_parse_fail
  - rd_kafka_buf_underflow_fail
  - rd_kafka_buf_read_remain
  - rd_kafka_buf_check_len
  - rd_kafka_buf_skip
  - rd_kafka_buf_skip_to
  - rd_kafka_buf_read
  - rd_kafka_buf_peek
  - rd_kafka_buf_read_i64
  - rd_kafka_buf_peek_i64
  - rd_kafka_buf_read_i32
  - rd_kafka_buf_peek_i32
  - rd_kafka_buf_read_i32a
  - rd_kafka_buf_read_i16
  - rd_kafka_buf_peek_i16
  - rd_kafka_buf_read_i16a
  - rd_kafka_buf_read_i8
  - rd_kafka_buf_peek_i8
  - rd_kafka_buf_read_bool
  - rd_kafka_buf_read_varint
  - rd_kafka_buf_read_uvarint
  - rd_kafka_buf_read_str
  - rd_kafka_buf_read_str_tmpabuf
  - rd_kafka_buf_skip_str_no_flexver
  - rd_kafka_buf_skip_str
  - rd_kafka_buf_read_kbytes
  - rd_kafka_buf_read_ptr
  - rd_kafka_buf_read_kbytes_varint
  - rd_kafka_buf_read_throttle_time
  - rd_kafka_buf_skip_tags
  - rd_kafka_buf_read_tags
  - rd_kafka_buf_write_tags
  - rd_kafka_buf_write_tags_empty
  - rd_kafka_buf_read_arraycnt
  - rd_kafka_buf_was_sent
  - rd_kafka_bufq_cnt
  - rd_kafka_buf_set_timeout
  - rd_kafka_buf_set_abs_timeout0
  - rd_kafka_buf_set_abs_timeout
  - rd_kafka_buf_set_abs_timeout_force
  - rd_kafka_buf_keep
  - rd_kafka_buf_destroy
  - rd_kafka_buf_new
  - rd_kafka_buf_new_request
  - rd_kafka_buf_new_flexver_request
  - rd_kafka_buf_ApiVersion_set
  - rd_kafka_buf_ApiVersion
  - rd_kafka_buf_write
  - rd_kafka_buf_update
  - rd_kafka_buf_write_i8
  - rd_kafka_buf_update_i8
  - rd_kafka_buf_write_i16
  - rd_kafka_buf_update_i16
  - rd_kafka_buf_write_i32
  - rd_kafka_buf_update_i32
  - rd_kafka_buf_update_u32
  - rd_kafka_buf_write_varint
  - rd_kafka_buf_write_uvarint
  - rd_kafka_buf_write_arraycnt
  - rd_kafka_buf_write_arraycnt_pos
  - rd_kafka_buf_finalize_arraycnt
  - rd_kafka_buf_write_i64
  - rd_kafka_buf_update_i64
  - rd_kafka_buf_write_kstr
  - rd_kafka_buf_write_str
  - rd_kafka_buf_push_kstr
  - rd_kafka_buf_write_kbytes
  - rd_kafka_buf_write_bytes
  - rd_kafka_buf_write_bool
  - rd_kafka_buf_crc_init
  - rd_kafka_buf_crc_finalize
  - rd_kafka_buf_version_outdated
  - rd_kafka_buf_read_uuid
  - rd_kafka_buf_write_uuid
  source_file: /src/librdkafka/src/rdkafka_buf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_HEADERS_IOV_CNT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RD_KAFKA_BUF_FLAGS_RESP_COPY_MASK
      pos:
        line_end: 254
        line_start: 253
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type_or_value: (RD_KAFKA_OP_F_FLEXVER)
    - item_type: preproc_def
      name: rkbuf_batch
      pos:
        line_end: 410
        line_start: 409
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type_or_value: rkbuf_u.Produce.batch
    - item_type: preproc_def
      name: free_cb
      pos:
        line_end: 999
        line_start: 997
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type_or_value: )
    structs:
    - fields:
      - name: size
        type: size_t
      - name: of
        type: size_t
      - name: '*buf'
        type: char
      - name: failed
        type: int
      - name: assert_on_fail
        type: rd_bool_t
      item_type: struct
      name: rd_tmpabuf_s
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/librdkafka/src/rdkafka_buf.h
    - fields:
      - name: (rd_kafka_buf_s)
        type: TAILQ_ENTRY
      - name: rkbuf_corrid
        type: int32_t
      - name: rkbuf_ts_retry
        type: rd_ts_t
      - name: rkbuf_flags
        type: int
      - name: rkbuf_prio
        type: rd_kafka_prio_t
      - name: rkbuf_buf
        type: rd_buf_t
      - name: rkbuf_reader
        type: rd_slice_t
      - name: rkbuf_connid
        type: int
      - name: rkbuf_totlen
        type: size_t
      - name: rkbuf_crc
        type: rd_crc32_t
      - name: rkbuf_reqhdr
        type: struct rd_kafkap_reqhdr
      - name: rkbuf_reshdr
        type: struct rd_kafkap_reshdr
      - name: rkbuf_expected_size
        type: int32_t
      - name: rkbuf_replyq
        type: rd_kafka_replyq_t
      - name: rkbuf_orig_replyq
        type: rd_kafka_replyq_t
      - name: '*rkbuf_cb'
        type: rd_kafka_resp_cb_t
      - name: '*rkbuf_response'
        type: struct rd_kafka_buf_s
      - name: '*rkbuf_make_req_cb'
        type: rd_kafka_make_req_cb_t
      - name: '*rkbuf_make_opaque'
        type: void
      - name: (*rkbuf_free_make_opaque_cb)(void *)
        type: void
      - name: '*rkbuf_rkb'
        type: struct rd_kafka_broker_s
      - name: rkbuf_refcnt
        type: rd_refcnt_t
      - name: '*rkbuf_opaque'
        type: void
      - name: rkbuf_max_retries
        type: int
      - name: rkbuf_retries
        type: int
      - name: rkbuf_features
        type: int
      - name: rkbuf_ts_enq
        type: rd_ts_t
      - name: rkbuf_ts_sent
        type: rd_ts_t
      - name: rkbuf_ts_timeout
        type: rd_ts_t
      - name: rkbuf_abs_timeout
        type: rd_ts_t
      - name: rkbuf_rel_timeout
        type: int
      - name: rkbuf_force_timeout
        type: rd_bool_t
      - name: rkbuf_offset
        type: int64_t
      - name: '*rkbuf_rktp_vers'
        type: rd_list_t
      - name: rkbuf_err
        type: rd_kafka_resp_err_t
      - name: rkbuf_u
        type: "union {\n                struct {\n                        rd_list_t
          *topics; /* Requested topics (char *) */\n                        rd_list_t
          *\n                            topic_ids; /* Requested topic ids rd_kafka_Uuid_t
          */\n                        char *reason;  /* Textual reason */\n                        rd_bool_t
          all_topics;  /**< Full/All topics requested */\n                        rd_bool_t
          cgrp_update; /**< Update cgrp with topic\n                                                *
          \  status from response. */\n                        int32_t cgrp_subscription_version;\n
          \                       /**< Consumer group subscription version, to\n                         *
          \  check before updating cgrp state. */\n                        rd_bool_t
          force_racks; /**< Force the returned metadata\n                                                *
          \  to contain partition to\n                                                *
          \  rack mapping. */\n\n                        int *decr; /* Decrement this
          integer by one\n                                    * when request is complete:\n
          \                                   * typically points to metadata\n                                    *
          cache's full_.._sent.\n                                    * Will be performed
          with\n                                    * decr_lock held. */\n                        mtx_t
          *decr_lock;\n\n                } Metadata;\n                struct {\n                        rd_kafka_msgbatch_t
          batch; /**< MessageSet/batch */\n                } Produce;\n                struct
          {\n                        rd_bool_t commit; /**< true = txn commit,\n                                           *
          \  false = txn abort */\n                } EndTxn;\n        }"
      - name: '*rkbuf_uflow_mitigation'
        type: char
      item_type: struct
      name: rd_kafka_buf_s
      pos:
        line_end: 418
        line_start: 242
        source_file: /src/librdkafka/src/rdkafka_buf.h
    - fields:
      - name: (, rd_kafka_buf_s)
        type: TAILQ_HEAD
      - name: rkbq_cnt
        type: rd_atomic32_t
      - name: rkbq_msg_cnt
        type: rd_atomic32_t
      item_type: struct
      name: rd_kafka_bufq_s
      pos:
        line_end: 927
        line_start: 923
        source_file: /src/librdkafka/src/rdkafka_buf.h
    typedefs:
    - item_type: typedef
      name: rd_kafka_broker_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type: rd_kafka_broker_s
    - item_type: typedef
      name: "(rd_kafka_resp_cb_t)(rd_kafka_t *rk,\n                                 rd_kafka_broker_t
        *rkb,\n                                 rd_kafka_resp_err_t err,\n                                 rd_kafka_buf_t
        *reply,\n                                 rd_kafka_buf_t *request,\n                                 void
        *opaque)"
      pos:
        line_end: 183
        line_start: 178
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type: void
    - item_type: typedef
      name: "(rd_kafka_send_req_cb_t)(rd_kafka_broker_t *rkb,\n                                                    rd_kafka_op_t
        *rko,\n                                                    rd_kafka_replyq_t
        replyq,\n                                                    rd_kafka_resp_cb_t
        *resp_cb,\n                                                    void *reply_opaque)"
      pos:
        line_end: 194
        line_start: 190
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type: rd_kafka_resp_err_t
    - item_type: typedef
      name: "(rd_kafka_make_req_cb_t)(rd_kafka_broker_t *rkb,\n                                                    rd_kafka_buf_t
        *rkbuf,\n                                                    void *make_opaque)"
      pos:
        line_end: 236
        line_start: 234
        source_file: /src/librdkafka/src/rdkafka_buf.h
      type: rd_kafka_resp_err_t
    union: []
- function_names:
  - XXH_CAT
  - XXH_NAME2
  source_file: /src/librdkafka/src/rdxxhash.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XXHASH_H_5627135585666179
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: static __inline __attribute__((unused))
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: static inline
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: static __inline
    - item_type: preproc_def
      name: XXH_PUBLIC_API
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: static
    - item_type: preproc_def
      name: XXH_versionNumber
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH_versionNumber)
    - item_type: preproc_def
      name: XXH32
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32)
    - item_type: preproc_def
      name: XXH32_createState
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_createState)
    - item_type: preproc_def
      name: XXH32_freeState
      pos:
        line_end: 130
        line_start: 129
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_freeState)
    - item_type: preproc_def
      name: XXH32_reset
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_reset)
    - item_type: preproc_def
      name: XXH32_update
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_update)
    - item_type: preproc_def
      name: XXH32_digest
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_digest)
    - item_type: preproc_def
      name: XXH32_copyState
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_copyState)
    - item_type: preproc_def
      name: XXH32_canonicalFromHash
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_canonicalFromHash)
    - item_type: preproc_def
      name: XXH32_hashFromCanonical
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH32_hashFromCanonical)
    - item_type: preproc_def
      name: XXH64
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64)
    - item_type: preproc_def
      name: XXH64_createState
      pos:
        line_end: 138
        line_start: 137
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_createState)
    - item_type: preproc_def
      name: XXH64_freeState
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_freeState)
    - item_type: preproc_def
      name: XXH64_reset
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_reset)
    - item_type: preproc_def
      name: XXH64_update
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_update)
    - item_type: preproc_def
      name: XXH64_digest
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_digest)
    - item_type: preproc_def
      name: XXH64_copyState
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_copyState)
    - item_type: preproc_def
      name: XXH64_canonicalFromHash
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_canonicalFromHash)
    - item_type: preproc_def
      name: XXH64_hashFromCanonical
      pos:
        line_end: 145
        line_start: 144
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: XXH_NAME2(XXH_NAMESPACE, XXH64_hashFromCanonical)
    - item_type: preproc_def
      name: XXH_VERSION_MAJOR
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_VERSION_MINOR
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: '6'
    - item_type: preproc_def
      name: XXH_VERSION_RELEASE
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: '5'
    - item_type: preproc_def
      name: XXH_VERSION_NUMBER
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/librdkafka/src/rdxxhash.h
      type_or_value: (XXH_VERSION_MAJOR *100*100 + XXH_VERSION_MINOR *100 + XXH_VERSION_RELEASE)
    structs:
    - fields:
      - name: digest[4]
        type: unsigned char
      item_type: struct
      name: XXH32_canonical_t
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/librdkafka/src/rdxxhash.h
    - fields:
      - name: digest[8]
        type: unsigned char
      item_type: struct
      name: XXH64_canonical_t
      pos:
        line_end: 238
        line_start: 238
        source_file: /src/librdkafka/src/rdxxhash.h
    - fields:
      - name: total_len_32
        type: uint32_t
      - name: large_len
        type: uint32_t
      - name: v1
        type: uint32_t
      - name: v2
        type: uint32_t
      - name: v3
        type: uint32_t
      - name: v4
        type: uint32_t
      - name: mem32[4]
        type: uint32_t
      - name: memsize
        type: uint32_t
      - name: reserved
        type: uint32_t
      item_type: struct
      name: XXH32_state_s
      pos:
        line_end: 273
        line_start: 263
        source_file: /src/librdkafka/src/rdxxhash.h
    - fields:
      - name: total_len
        type: uint64_t
      - name: v1
        type: uint64_t
      - name: v2
        type: uint64_t
      - name: v3
        type: uint64_t
      - name: v4
        type: uint64_t
      - name: mem64[4]
        type: uint64_t
      - name: memsize
        type: uint32_t
      - name: reserved[2]
        type: uint32_t
      item_type: struct
      name: XXH64_state_s
      pos:
        line_end: 284
        line_start: 275
        source_file: /src/librdkafka/src/rdxxhash.h
    - fields:
      - name: total_len_32
        type: unsigned
      - name: large_len
        type: unsigned
      - name: v1
        type: unsigned
      - name: v2
        type: unsigned
      - name: v3
        type: unsigned
      - name: v4
        type: unsigned
      - name: mem32[4]
        type: unsigned
      - name: memsize
        type: unsigned
      - name: reserved
        type: unsigned
      item_type: struct
      name: XXH32_state_s
      pos:
        line_end: 298
        line_start: 288
        source_file: /src/librdkafka/src/rdxxhash.h
    - fields:
      - name: total_len
        type: unsigned long long
      - name: v1
        type: unsigned long long
      - name: v2
        type: unsigned long long
      - name: v3
        type: unsigned long long
      - name: v4
        type: unsigned long long
      - name: mem64[4]
        type: unsigned long long
      - name: memsize
        type: unsigned
      - name: reserved[2]
        type: unsigned
      item_type: struct
      name: XXH64_state_s
      pos:
        line_end: 310
        line_start: 301
        source_file: /src/librdkafka/src/rdxxhash.h
    typedefs:
    - item_type: typedef
      name: XXH32_hash_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/librdkafka/src/rdxxhash.h
      type: unsigned int
    - item_type: typedef
      name: XXH32_state_t
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/librdkafka/src/rdxxhash.h
      type: XXH32_state_s
    - item_type: typedef
      name: XXH64_hash_t
      pos:
        line_end: 218
        line_start: 218
        source_file: /src/librdkafka/src/rdxxhash.h
      type: unsigned long long
    - item_type: typedef
      name: XXH64_state_t
      pos:
        line_end: 228
        line_start: 228
        source_file: /src/librdkafka/src/rdxxhash.h
      type: XXH64_state_s
    union: []
- function_names: []
  source_file: /src/librdkafka/src/crc32c.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdbase64.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_plugin_cmp
  - rd_kafka_plugin_new
  - rd_kafka_plugin_destroy
  - rd_kafka_plugins_conf_set0
  - rd_kafka_plugins_conf_set
  source_file: /src/librdkafka/src/rdkafka_plugin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*rkplug_path'
        type: char
      - name: '*rkplug_rk'
        type: rd_kafka_t
      - name: '*rkplug_handle'
        type: void
      - name: '*rkplug_opaque'
        type: void
      item_type: struct
      name: rd_kafka_plugin_s
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/librdkafka/src/rdkafka_plugin.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_protocol.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_PORT
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '9092'
    - item_type: preproc_def
      name: RD_KAFKA_PORT_STR
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '"9092"'
    - item_type: preproc_def
      name: RD_KAFKAP_None
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RD_KAFKAP_Produce
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '0'
    - item_type: preproc_def
      name: RD_KAFKAP_Fetch
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '1'
    - item_type: preproc_def
      name: RD_KAFKAP_ListOffsets
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '2'
    - item_type: preproc_def
      name: RD_KAFKAP_Metadata
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '3'
    - item_type: preproc_def
      name: RD_KAFKAP_LeaderAndIsr
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '4'
    - item_type: preproc_def
      name: RD_KAFKAP_StopReplica
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '5'
    - item_type: preproc_def
      name: RD_KAFKAP_UpdateMetadata
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '6'
    - item_type: preproc_def
      name: RD_KAFKAP_ControlledShutdown
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RD_KAFKAP_OffsetCommit
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '8'
    - item_type: preproc_def
      name: RD_KAFKAP_OffsetFetch
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '9'
    - item_type: preproc_def
      name: RD_KAFKAP_FindCoordinator
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '10'
    - item_type: preproc_def
      name: RD_KAFKAP_JoinGroup
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '11'
    - item_type: preproc_def
      name: RD_KAFKAP_Heartbeat
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '12'
    - item_type: preproc_def
      name: RD_KAFKAP_LeaveGroup
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '13'
    - item_type: preproc_def
      name: RD_KAFKAP_SyncGroup
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '14'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeGroups
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '15'
    - item_type: preproc_def
      name: RD_KAFKAP_ListGroups
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '16'
    - item_type: preproc_def
      name: RD_KAFKAP_SaslHandshake
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '17'
    - item_type: preproc_def
      name: RD_KAFKAP_ApiVersion
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '18'
    - item_type: preproc_def
      name: RD_KAFKAP_CreateTopics
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '19'
    - item_type: preproc_def
      name: RD_KAFKAP_DeleteTopics
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '20'
    - item_type: preproc_def
      name: RD_KAFKAP_DeleteRecords
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '21'
    - item_type: preproc_def
      name: RD_KAFKAP_InitProducerId
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '22'
    - item_type: preproc_def
      name: RD_KAFKAP_OffsetForLeaderEpoch
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '23'
    - item_type: preproc_def
      name: RD_KAFKAP_AddPartitionsToTxn
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '24'
    - item_type: preproc_def
      name: RD_KAFKAP_AddOffsetsToTxn
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '25'
    - item_type: preproc_def
      name: RD_KAFKAP_EndTxn
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '26'
    - item_type: preproc_def
      name: RD_KAFKAP_WriteTxnMarkers
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '27'
    - item_type: preproc_def
      name: RD_KAFKAP_TxnOffsetCommit
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '28'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeAcls
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '29'
    - item_type: preproc_def
      name: RD_KAFKAP_CreateAcls
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '30'
    - item_type: preproc_def
      name: RD_KAFKAP_DeleteAcls
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '31'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeConfigs
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '32'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterConfigs
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '33'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterReplicaLogDirs
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '34'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeLogDirs
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '35'
    - item_type: preproc_def
      name: RD_KAFKAP_SaslAuthenticate
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '36'
    - item_type: preproc_def
      name: RD_KAFKAP_CreatePartitions
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '37'
    - item_type: preproc_def
      name: RD_KAFKAP_CreateDelegationToken
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '38'
    - item_type: preproc_def
      name: RD_KAFKAP_RenewDelegationToken
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '39'
    - item_type: preproc_def
      name: RD_KAFKAP_ExpireDelegationToken
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '40'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeDelegationToken
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '41'
    - item_type: preproc_def
      name: RD_KAFKAP_DeleteGroups
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '42'
    - item_type: preproc_def
      name: RD_KAFKAP_ElectLeaders
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '43'
    - item_type: preproc_def
      name: RD_KAFKAP_IncrementalAlterConfigs
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '44'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterPartitionReassignments
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '45'
    - item_type: preproc_def
      name: RD_KAFKAP_ListPartitionReassignments
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '46'
    - item_type: preproc_def
      name: RD_KAFKAP_OffsetDelete
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '47'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeClientQuotas
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '48'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterClientQuotas
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '49'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeUserScramCredentials
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '50'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterUserScramCredentials
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '51'
    - item_type: preproc_def
      name: RD_KAFKAP_Vote
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '52'
    - item_type: preproc_def
      name: RD_KAFKAP_BeginQuorumEpoch
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '53'
    - item_type: preproc_def
      name: RD_KAFKAP_EndQuorumEpoch
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '54'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeQuorum
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '55'
    - item_type: preproc_def
      name: RD_KAFKAP_AlterIsr
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '56'
    - item_type: preproc_def
      name: RD_KAFKAP_UpdateFeatures
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '57'
    - item_type: preproc_def
      name: RD_KAFKAP_Envelope
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '58'
    - item_type: preproc_def
      name: RD_KAFKAP_FetchSnapshot
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '59'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeCluster
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '60'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeProducers
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '61'
    - item_type: preproc_def
      name: RD_KAFKAP_BrokerHeartbeat
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '63'
    - item_type: preproc_def
      name: RD_KAFKAP_UnregisterBroker
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '64'
    - item_type: preproc_def
      name: RD_KAFKAP_DescribeTransactions
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '65'
    - item_type: preproc_def
      name: RD_KAFKAP_ListTransactions
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '66'
    - item_type: preproc_def
      name: RD_KAFKAP_AllocateProducerIds
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '67'
    - item_type: preproc_def
      name: RD_KAFKAP_ConsumerGroupHeartbeat
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '68'
    - item_type: preproc_def
      name: RD_KAFKAP_ConsumerGroupDescribe
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '69'
    - item_type: preproc_def
      name: RD_KAFKAP_ControllerRegistration
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '70'
    - item_type: preproc_def
      name: RD_KAFKAP_GetTelemetrySubscriptions
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '71'
    - item_type: preproc_def
      name: RD_KAFKAP_PushTelemetry
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '72'
    - item_type: preproc_def
      name: RD_KAFKAP_AssignReplicasToDirs
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '73'
    - item_type: preproc_def
      name: RD_KAFKAP__NUM
      pos:
        line_end: 124
        line_start: 123
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: '74'
    - item_type: preproc_def
      name: RD_KAFKAP_RPC_VERSION_MAX
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/librdkafka/src/rdkafka_protocol.h
      type_or_value: INT16_MAX
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_plugin.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_string_render
  - _remain
  - _assure_space
  - _do_write
  - rd_strtup_destroy
  - rd_strtup_free
  - rd_strtup_new0
  - rd_strtup_new
  - rd_strtup_dup
  - rd_strtup_list_copy
  - rd_flags2str
  - rd_string_hash
  - rd_strcmp
  - rd_strcmp2
  - rd_strcmp3
  - _rd_strcasestr
  - ut_strcasestr
  - rd_string_split
  - ut_string_split
  - unittest_string
  source_file: /src/librdkafka/src/rdstring.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*haystack'
        type: char
      - name: '*needle'
        type: char
      - name: exp
        type: ssize_t
      item_type: struct
      name: "strs[] = {\n            {\"this is a haystack\", \"hays\", 10},\n            {\"abc\",
        \"a\", 0},\n            {\"abc\", \"b\", 1},\n            {\"abc\", \"c\",
        2},\n            {\"AbcaBcabC\", \"ABC\", 0},\n            {\"abcabcaBC\",
        \"BcA\", 1},\n            {\"abcabcABc\", \"cAB\", 2},\n            {\"need
        to estart stART the tart ReStArT!\", \"REsTaRt\", 30},\n            {\"need
        to estart stART the tart ReStArT!\", \"?sTaRt\", -1},\n            {\"aaaabaaAb\",
        \"ab\", 3},\n            {\"0A!\", \"a\", 1},\n            {\"a\", \"A\",
        0},\n            {\".z\", \"Z\", 1},\n            {\"\", \"\", -1},\n            {\"\",
        \"a\", -1},\n            {\"a\", \"\", -1},\n            {\"peRfeCt\", \"peRfeCt\",
        0},\n            {\"perfect\", \"perfect\", 0},\n            {\"PERFECT\",
        \"perfect\", 0},\n            {NULL},\n        }"
      pos:
        line_end: 384
        line_start: 380
        source_file: /src/librdkafka/src/rdstring.c
    - fields:
      - name: '*input'
        type: char
      - name: sep
        type: char
      - name: skip_empty
        type: rd_bool_t
      - name: exp_cnt
        type: size_t
      - name: '*exp[16]'
        type: char
      item_type: struct
      name: "strs[] = {\n            {\"just one field\", ',', rd_true, 1, {\"just
        one field\"}},\n            /* Empty with skip_empty */\n            {\"\",
        ',', rd_true, 0},\n            /* Empty without skip_empty */\n            {\"\",
        ',', rd_false, 1, {\"\"}},\n            {\n                \", a,b ,,c,   d,
        \   e,f,ghijk,  lmn,opq  ,  r  s t u, v\",\n                ',',\n                rd_true,\n
        \               11,\n                {\"a\", \"b\", \"c\", \"d\", \"e\", \"f\",
        \"ghijk\", \"lmn\", \"opq\",\n                 \"r  s t u\", \"v\"},\n            },\n
        \           {\n                \", a,b ,,c,   d,    e,f,ghijk,  lmn,opq  ,
        \ r  s t u, v\",\n                ',',\n                rd_false,\n                13,\n
        \               {\"\", \"a\", \"b\", \"\", \"c\", \"d\", \"e\", \"f\", \"ghijk\",
        \"lmn\", \"opq\",\n                 \"r  s t u\", \"v\"},\n            },\n
        \           {\"  this is an \\\\,escaped comma,\\\\,,\\\\\\\\, \"\n             \"and
        this is an unbalanced escape: \\\\\\\\\\\\\\\\\\\\\\\\\\\\\",\n             ',',\n
        \            rd_true,\n             4,\n             {\"this is an ,escaped
        comma\", \",\", \"\\\\\",\n              \"and this is an unbalanced escape:
        \\\\\\\\\\\\\"}},\n            {\n                \"using|another ||\\\\|d|elimiter\",\n
        \               '|',\n                rd_false,\n                5,\n                {\"using\",
        \"another\", \"\", \"|d\", \"elimiter\"},\n            },\n            {NULL},\n
        \       }"
      pos:
        line_end: 565
        line_start: 559
        source_file: /src/librdkafka/src/rdstring.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_metadata_broker_internal_cmp
  - rd_kafka_metadata_broker_cmp
  - rd_kafka_metadata_partition_internal_cmp
  - rd_kafka_metadata_partition_clear
  - rd_kafka_metadata
  - rd_kafka_metadata_destroy
  - rd_kafka_metadata_copy_internal
  - RD_LIST_FOREACH
  - rd_kafka_metadata_copy
  - rd_kafka_metadata_copy_add_racks
  - rd_kafka_parse_Metadata_update_topic
  - rd_kafka_has_reliable_leader_epochs
  - rd_kafka_populate_metadata_topic_racks
  - RD_LIST_FOREACH
  - rd_kafka_metadata_decommission_unavailable_brokers
  - rd_kafka_parse_Metadata0
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - rd_kafka_parse_Metadata
  - rd_kafka_parse_Metadata_admin
  - rd_kafka_metadata_topic_match
  - rd_kafka_metadata_topic_filter
  - rd_kafka_metadata_log
  - rd_kafka_metadata_refresh_topics
  - rd_kafka_metadata_refresh_known_topics
  - rd_kafka_metadata_refresh_consumer_topics
  - rd_kafka_metadata_refresh_brokers
  - rd_kafka_metadata_refresh_all
  - rd_kafka_metadata_request
  - rd_kafka_metadata_leader_query_tmr_cb
  - rd_kafka_metadata_fast_leader_query
  - rd_kafka_metadata_new_topic_mock
  - rd_kafka_metadata_new_topic_mockv_internal
  - rd_kafka_metadata_new_topic_mockv
  - rd_kafka_metadata_new_topic_with_partition_replicas_mockv
  - rd_kafka_metadata_new_topic_with_partition_replicas_mock
  - rd_kafka_metadata_update_op
  source_file: /src/librdkafka/src/rdkafka_metadata.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_event_type
  - rd_kafka_event_name
  - rd_kafka_event_destroy
  - rd_kafka_event_message_next
  - rd_kafka_event_message_array
  - rd_kafka_event_message_count
  - rd_kafka_event_config_string
  - rd_kafka_event_error
  - rd_kafka_event_error_string
  - rd_kafka_event_error_is_fatal
  - rd_kafka_event_opaque
  - rd_kafka_event_log
  - rd_kafka_event_debug_contexts
  - rd_kafka_event_stats
  - rd_kafka_event_topic_partition_list
  - rd_kafka_event_topic_partition
  - rd_kafka_event_CreateTopics_result
  - rd_kafka_event_DeleteTopics_result
  - rd_kafka_event_CreatePartitions_result
  - rd_kafka_event_AlterConfigs_result
  - rd_kafka_event_IncrementalAlterConfigs_result
  - rd_kafka_event_DescribeConfigs_result
  - rd_kafka_event_DeleteRecords_result
  - rd_kafka_event_ListConsumerGroups_result
  - rd_kafka_event_DescribeConsumerGroups_result
  - rd_kafka_event_DescribeTopics_result
  - rd_kafka_event_DescribeCluster_result
  - rd_kafka_event_DeleteGroups_result
  - rd_kafka_event_DeleteConsumerGroupOffsets_result
  - rd_kafka_event_CreateAcls_result
  - rd_kafka_event_DescribeAcls_result
  - rd_kafka_event_DeleteAcls_result
  - rd_kafka_event_AlterConsumerGroupOffsets_result
  - rd_kafka_event_DescribeUserScramCredentials_result
  - rd_kafka_event_AlterUserScramCredentials_result
  - rd_kafka_event_ListOffsets_result
  - rd_kafka_event_ListConsumerGroupOffsets_result
  - rd_kafka_event_ElectLeaders_result
  source_file: /src/librdkafka/src/rdkafka_event.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_broker_keep
  - rd_kafka_broker_keep_fl
  - rd_kafka_broker_lock
  - rd_kafka_broker_unlock
  - rd_kafka_broker_get_state
  - rd_kafka_broker_state_is_up
  - rd_kafka_broker_state_is_down
  - rd_kafka_broker_is_any_err_destroy
  - rd_kafka_broker_or_instance_terminating
  - rd_kafka_broker_is_up
  - rd_kafka_broker_termination_in_progress
  - rd_kafka_broker_cmp
  - rd_kafka_broker_supports
  - rd_kafka_broker_find_by_nodeid0
  - rd_kafka_broker_find_by_nodeid
  - rd_kafka_broker_filter_non_idempotent
  - rd_kafka_broker_destroy
  - RD_KAFKA_BROKER_IS_LOGICAL
  - rd_kafka_broker_random
  - rd_kafka_broker_random_up
  - rd_kafka_broker_active_toppar_next
  source_file: /src/librdkafka/src/rdkafka_broker.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_NODEID_UA
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/librdkafka/src/rdkafka_broker.h
      type_or_value: '-1'
    structs:
    - fields:
      - name: (rd_kafka_broker_monitor_s)
        type: TAILQ_ENTRY
      - name: '*rkbmon_rkb'
        type: struct rd_kafka_broker_s
      - name: '*rkbmon_q'
        type: rd_kafka_q_t
      - name: (*rkbmon_cb)(rd_kafka_broker_t *rkb)
        type: void
      item_type: struct
      name: rd_kafka_broker_monitor_s
      pos:
        line_end: 74
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_broker.h
    - fields:
      - name: tx_bytes
        type: rd_atomic64_t
      - name: tx
        type: rd_atomic64_t
      - name: tx_err
        type: rd_atomic64_t
      - name: tx_retries
        type: rd_atomic64_t
      - name: req_timeouts
        type: rd_atomic64_t
      - name: rx_bytes
        type: rd_atomic64_t
      - name: rx
        type: rd_atomic64_t
      - name: rx_err
        type: rd_atomic64_t
      - name: rx_corrid_err
        type: rd_atomic64_t
      - name: rx_partial
        type: rd_atomic64_t
      - name: zbuf_grow
        type: rd_atomic64_t
      - name: buf_grow
        type: rd_atomic64_t
      - name: wakeups
        type: rd_atomic64_t
      - name: connects
        type: rd_atomic32_t
      - name: disconnects
        type: rd_atomic32_t
      - name: reqtype[RD_KAFKAP__NUM]
        type: rd_atomic64_t
      - name: ts_send
        type: rd_atomic64_t
      - name: ts_recv
        type: rd_atomic64_t
      - name: skip_broker_down
        type: rd_bool_t
      - name: connections_max_idle_ms
        type: int
      item_type: struct
      name: rkb_c
      pos:
        line_end: 210
        line_start: 162
        source_file: /src/librdkafka/src/rdkafka_broker.h
    - fields:
      - name: rkb_historic_c
        type: "struct {\n                        int32_t connects; /**< Connection
          attempts,\n                                           *   successful or
          not. */\n                }"
      - name: rd_avg_current
        type: "struct {\n                        rd_avg_t rkb_avg_rtt;      /* Current
          RTT avg */\n                        rd_avg_t rkb_avg_throttle; /* Current
          throttle avg */\n                        rd_avg_t\n                            rkb_avg_outbuf_latency;
          \      /**< Current latency\n                                                           *
          \  between buf_enq0\n                                                           *
          \  and writing to socket\n                                                           */\n
          \                       rd_avg_t rkb_avg_fetch_latency;   /**< Current fetch\n
          \                                                          *   latency avg
          */\n                        rd_avg_t rkb_avg_produce_latency; /**< Current
          produce\n                                                           *   latency
          avg */\n                }"
      - name: rd_avg_rollover
        type: "struct {\n                        rd_avg_t rkb_avg_rtt; /**< Rolled
          over RTT avg */\n                        rd_avg_t\n                            rkb_avg_throttle;
          /**< Rolled over throttle avg */\n                        rd_avg_t rkb_avg_outbuf_latency;
          /**< Rolled over outbuf\n                                                          *
          \  latency avg */\n                        rd_avg_t rkb_avg_fetch_latency;
          \ /**< Rolled over fetch\n                                                          *
          \  latency avg */\n                        rd_avg_t\n                            rkb_avg_produce_latency;
          /**< Rolled over produce\n                                                      *
          \  latency avg */\n                }"
      item_type: struct
      name: rkb_telemetry
      pos:
        line_end: 244
        line_start: 212
        source_file: /src/librdkafka/src/rdkafka_broker.h
    - fields:
      - name: internal
        type: int
      - name: coord
        type: rd_atomic32_t
      item_type: struct
      name: rkb_persistconn
      pos:
        line_end: 340
        line_start: 317
        source_file: /src/librdkafka/src/rdkafka_broker.h
    - fields:
      - name: unsupported_compression
        type: rd_interval_t
      - name: unsupported_kip62
        type: rd_interval_t
      - name: unsupported_kip345
        type: rd_interval_t
      - name: fail_error
        type: rd_interval_t
      item_type: struct
      name: rkb_suppress
      pos:
        line_end: 375
        line_start: 363
        source_file: /src/librdkafka/src/rdkafka_broker.h
    - fields:
      - name: errstr[512]
        type: char
      - name: err
        type: rd_kafka_resp_err_t
      - name: cnt
        type: int
      item_type: struct
      name: rkb_last_err
      pos:
        line_end: 382
        line_start: 378
        source_file: /src/librdkafka/src/rdkafka_broker.h
    typedefs: []
    union: []
- function_names:
  - RD_AVL_NODE_HEIGHT
  - RD_AVL_NODE_DELTA
  - rd_avl_rotate
  - rd_avl_balance_node
  - rd_avl_insert_node
  - rd_avl_move
  - rd_avl_remove_node0
  - rd_avl_remove_elm0
  - rd_avl_find_node
  - rd_avl_destroy
  - rd_avl_init
  source_file: /src/librdkafka/src/rdavl.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_DELTA_MAX
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/src/rdavl.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_KAFKA_OP_TYPE_ASSERT
  - _STRINGIFYX
  - _STRINGIFY
  - rd_kafka_op_new
  - rd_kafka_op_new
  - rd_kafka_op_set_prio
  - rd_kafka_op_err
  - rd_kafka_op_is_ctrl_msg
  - rd_kafka_op_replyq_is_valid
  - 'rd_kafka_op_t *

    rd_kafka_message2rko(rd_kafka_message_t *rkmessage)'
  source_file: /src/librdkafka/src/rdkafka_op.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_FREE
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x1  '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_NO_RESPONSE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x2  '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_CRC
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x4  '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_BLOCKING
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x8  '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_REPROCESS
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x10 '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_SENT
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x20 '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_FLEXVER
      pos:
        line_end: 73
        line_start: 70
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x40 '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_NEED_MAKE
      pos:
        line_end: 79
        line_start: 73
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x80 '
    - item_type: preproc_def
      name: RD_KAFKA_OP_F_FORCE_CB
      pos:
        line_end: 82
        line_start: 79
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '0x100 '
    - item_type: preproc_def
      name: RD_KAFKA_OP_CB
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '(int)(1 << 29) '
    - item_type: preproc_def
      name: RD_KAFKA_OP_REPLY
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: '(int)(1 << 30) '
    - item_type: preproc_def
      name: RD_KAFKA_OP_FLAGMASK
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/librdkafka/src/rdkafka_op.h
      type_or_value: (RD_KAFKA_OP_CB | RD_KAFKA_OP_REPLY)
    structs:
    - fields:
      - name: '*q'
        type: rd_kafka_q_t
      - name: version
        type: int32_t
      item_type: struct
      name: rd_kafka_replyq_s
      pos:
        line_end: 55
        line_start: 47
        source_file: /src/librdkafka/src/rdkafka_op.h
    - fields:
      - name: (rd_kafka_op_s)
        type: TAILQ_ENTRY
      - name: rko_type
        type: rd_kafka_op_type_t
      - name: rko_evtype
        type: rd_kafka_event_type_t
      - name: rko_flags
        type: int
      - name: rko_version
        type: int32_t
      - name: rko_err
        type: rd_kafka_resp_err_t
      - name: '*rko_error'
        type: rd_kafka_error_t
      - name: rko_len
        type: int32_t
      - name: rko_prio
        type: rd_kafka_prio_t
      - name: '*rko_rktp'
        type: rd_kafka_toppar_t
      - name: rko_replyq
        type: rd_kafka_replyq_t
      - name: '*rko_serve'
        type: rd_kafka_q_serve_cb_t
      - name: '*rko_serve_opaque'
        type: void
      - name: '*rko_rk'
        type: rd_kafka_t
      - name: '*rko_op_cb'
        type: rd_kafka_op_cb_t
      - name: rko_u
        type: "union {\n                struct {\n                        rd_kafka_buf_t
          *rkbuf;\n                        rd_kafka_msg_t rkm;\n                        int
          evidx;\n                } fetch;\n\n                struct {\n                        rd_kafka_topic_partition_list_t
          *partitions;\n                        /** Require stable (txn-commited)
          offsets */\n                        rd_bool_t require_stable_offsets;\n
          \                       int do_free; /* free .partitions on destroy() */\n
          \               } offset_fetch;\n\n                struct {\n                        rd_kafka_topic_partition_list_t
          *partitions;\n                        void (*cb)(rd_kafka_t *rk,\n                                   rd_kafka_resp_err_t
          err,\n                                   rd_kafka_topic_partition_list_t
          *offsets,\n                                   void *opaque);\n                        void
          *opaque;\n                        int silent_empty; /**< Fail silently if
          there are no\n                                           *   offsets to
          commit. */\n                        rd_ts_t ts_timeout;\n                        char
          *reason;\n                } offset_commit;\n\n                struct {\n
          \                       rd_kafka_topic_partition_list_t *topics;\n                }
          subscribe; /* also used for GET_SUBSCRIPTION */\n\n                struct
          {\n                        rd_kafka_topic_partition_list_t *partitions;\n
          \                       rd_kafka_assign_method_t method;\n                }
          assign; /* also used for GET_ASSIGNMENT */\n\n                struct {\n
          \                       rd_kafka_topic_partition_list_t *partitions;\n                }
          rebalance;\n\n                struct {\n                        const char
          *str;\n                } rebalance_protocol;\n\n                struct {\n
          \                       char *str;\n                } name;\n\n                rd_kafka_consumer_group_metadata_t
          *cg_metadata;\n\n                struct {\n                        int64_t
          offset;\n                        char *errstr;\n                        rd_kafka_msg_t
          rkm;\n                        rd_kafka_topic_t *rkt;\n                        int
          fatal; /**< This was a ERR__FATAL error that has\n                                    *
          \  been translated to the fatal error\n                                    *
          \  code. */\n                } err;             /* used for ERR and CONSUMER_ERR
          */\n\n                struct {\n                        int throttle_time;\n
          \                       int32_t nodeid;\n                        char *nodename;\n
          \               } throttle;\n\n                struct {\n                        char
          *json;\n                        size_t json_len;\n                } stats;\n\n
          \               struct {\n                        rd_kafka_buf_t *rkbuf;\n
          \               } xbuf; /* XMIT_BUF and RECV_BUF */\n\n                /*
          RD_KAFKA_OP_METADATA */\n                struct {\n                        rd_kafka_metadata_t
          *md;\n                        rd_kafka_metadata_internal_t *mdi;\n                        /*
          subscription version for this call */\n                        int32_t subscription_version;\n
          \                       int force; /* force request regardless of outstanding\n
          \                                   * metadata requests. */\n                }
          metadata;\n\n                struct {\n                        rd_kafka_topic_t
          *rkt;\n                        rd_kafka_msgq_t msgq;\n                        rd_kafka_msgq_t
          msgq2;\n                        int do_purge2;\n                        rd_kafka_Produce_result_t
          *presult;\n                } dr;\n\n                struct {\n                        char
          nodename[RD_KAFKA_NODENAME_SIZE];\n                } node;\n\n                struct
          {\n                        rd_kafka_fetch_pos_t pos;\n                        int32_t
          broker_id; /**< Originating broker, or -1 */\n                        char
          *reason;\n                } offset_reset;\n\n                struct {\n
          \                       rd_kafka_fetch_pos_t pos;\n                        struct
          rd_kafka_cgrp_s *rkcg;\n                } fetch_start; /* reused for SEEK
          */\n\n                struct {\n                        int pause;\n                        int
          flag;\n                } pause;\n\n                struct {\n                        char
          fac[64];\n                        int level;\n                        char
          *str;\n                        int ctx;\n                } log;\n\n                struct
          {\n                        rd_kafka_AdminOptions_t options;   /**< Copy
          of user's\n                                                            *
          options */\n                        rd_ts_t abs_timeout;               /**<
          Absolute timeout\n                                                            *
          \  for this request. */\n                        rd_kafka_timer_t tmr;              /**<
          Timeout timer */\n                        struct rd_kafka_enq_once_s *eonce;
          /**< Enqueue op\n                                                            *
          only once,\n                                                            *
          used to\n                                                            * (re)trigger\n
          \                                                           * the request
          op\n                                                            * upon broker
          state\n                                                            * changes
          while\n                                                            * waiting
          for the\n                                                            * controller,
          or\n                                                            * due to
          .tmr\n                                                            * timeout.
          */\n                        rd_list_t\n                            args;
          /**< Type depends on request, e.g.\n                                   *
          \  rd_kafka_NewTopic_t for CreateTopics\n                                   */\n\n
          \                       rd_kafka_buf_t *reply_buf; /**< Protocol reply,\n
          \                                                   *   temporary reference
          not\n                                                    *   owned by this
          rko */\n\n                        /**< Worker callbacks, see rdkafka_admin.c
          */\n                        struct rd_kafka_admin_worker_cbs *cbs;\n\n                        /**
          Worker state */\n                        enum {\n                                RD_KAFKA_ADMIN_STATE_INIT,\n
          \                               RD_KAFKA_ADMIN_STATE_WAIT_BROKER,\n                                RD_KAFKA_ADMIN_STATE_WAIT_CONTROLLER,\n
          \                               RD_KAFKA_ADMIN_STATE_WAIT_FANOUTS,\n                                RD_KAFKA_ADMIN_STATE_CONSTRUCT_REQUEST,\n
          \                               RD_KAFKA_ADMIN_STATE_WAIT_RESPONSE,\n                                RD_KAFKA_ADMIN_STATE_WAIT_BROKER_LIST,\n
          \                       } state;\n\n                        int32_t broker_id;
          /**< Requested broker id to\n                                            *
          \  communicate with.\n                                            *   Used
          for AlterConfigs, et.al,\n                                            *
          \  that needs to speak to a\n                                            *
          \  specific broker rather than\n                                            *
          \  the controller.\n                                            *   See
          RD_KAFKA_ADMIN_TARGET_..\n                                            *
          \  for special values (coordinator,\n                                            *
          \  fanout, etc).\n                                            */\n                        /**
          The type of coordinator to look up */\n                        rd_kafka_coordtype_t
          coordtype;\n                        /** Which coordinator to look up */\n
          \                       char *coordkey;\n\n                        /** Application's
          reply queue */\n                        rd_kafka_replyq_t replyq;\n                        rd_kafka_event_type_t
          reply_event_type;\n\n                        /** A collection of fanout
          child ops. */\n                        struct {\n                                /**
          The type of request being fanned out.\n                                 *
          \ This is used for the ADMIN_RESULT. */\n                                rd_kafka_op_type_t
          reqtype;\n\n                                /** Worker callbacks, see rdkafka_admin.c
          */\n                                struct rd_kafka_admin_fanout_worker_cbs
          *cbs;\n\n                                /** Number of outstanding requests
          remaining to\n                                 *  wait for. */\n                                int
          outstanding;\n\n                                /** Incremental results
          from fanouts.\n                                 *  This list is pre-allocated
          to the number\n                                 *  of input objects and
          can thus be set\n                                 *  by index to retain
          original ordering. */\n                                rd_list_t results;\n\n
          \                               /** Reply event type */\n                                rd_kafka_event_type_t
          reply_event_type;\n\n                        } fanout;\n\n                        /**
          A reference to the parent ADMIN_FANOUT op that\n                         *
          \ spawned this op, if applicable. NULL otherwise. */\n                        struct
          rd_kafka_op_s *fanout_parent;\n\n                } admin_request;\n\n                struct
          {\n                        rd_kafka_op_type_t reqtype; /**< Request op type,\n
          \                                                    *   used for logging.
          */\n\n                        rd_list_t args; /**< Args moved from the request
          op\n                                         *   when the result op is created.\n
          \                                        *\n                                         *
          \  Type depends on request.\n                                         */\n\n
          \                       char *errstr; /**< Error string, if rko_err\n                                       *
          \  is set, else NULL. */\n\n                        /** Result cb for this
          op */\n                        void (*result_cb)(rd_kafka_op_t *);\n\n                        struct
          rd_kafka_admin_worker_cbs\n                            *cbs; /**< Worker
          Callbacks\n                                   *   Moved from admin request\n
          \                                  */\n\n                        rd_list_t
          results; /**< Type depends on request type:\n                                            *\n
          \                                           * (rd_kafka_topic_result_t *):\n
          \                                           * CreateTopics, DeleteTopics,\n
          \                                           * CreatePartitions.\n                                            *\n
          \                                           * (rd_kafka_ConfigResource_t
          *):\n                                            * AlterConfigs, DescribeConfigs\n
          \                                           * IncrementalAlterConfigs\n
          \                                           */\n\n                        void
          *opaque; /**< Application's opaque as set by\n                                       *
          \  rd_kafka_AdminOptions_set_opaque\n                                       */\n\n
          \                       /** A reference to the parent ADMIN_FANOUT op that\n
          \                        *  spawned this op, if applicable. NULL otherwise.
          */\n                        struct rd_kafka_op_s *fanout_parent;\n                }
          admin_result;\n\n                struct {\n                        int flags;
          /**< purge_flags from rd_kafka_purge() */\n                } purge;\n\n
          \               /**< Mock cluster command */\n                struct {\n
          \                       enum {\n                                RD_KAFKA_MOCK_CMD_TOPIC_SET_ERROR,\n
          \                               RD_KAFKA_MOCK_CMD_TOPIC_CREATE,\n                                RD_KAFKA_MOCK_CMD_PART_SET_LEADER,\n
          \                               RD_KAFKA_MOCK_CMD_PART_SET_FOLLOWER,\n                                RD_KAFKA_MOCK_CMD_PART_SET_FOLLOWER_WMARKS,\n
          \                               RD_KAFKA_MOCK_CMD_PART_PUSH_LEADER_RESPONSE,\n
          \                               RD_KAFKA_MOCK_CMD_BROKER_SET_UPDOWN,\n                                RD_KAFKA_MOCK_CMD_BROKER_SET_RTT,\n
          \                               RD_KAFKA_MOCK_CMD_BROKER_SET_RACK,\n                                RD_KAFKA_MOCK_CMD_BROKER_DECOMMISSION,\n
          \                               RD_KAFKA_MOCK_CMD_BROKER_ADD,\n                                RD_KAFKA_MOCK_CMD_COORD_SET,\n
          \                               RD_KAFKA_MOCK_CMD_APIVERSION_SET,\n                                RD_KAFKA_MOCK_CMD_REQUESTED_METRICS_SET,\n
          \                               RD_KAFKA_MOCK_CMD_TELEMETRY_PUSH_INTERVAL_SET,\n
          \                       } cmd;\n\n                        rd_kafka_resp_err_t
          err; /**< Error for:\n                                                  *
          \   TOPIC_SET_ERROR */\n                        char *name;              /**<
          For:\n                                                  *    TOPIC_SET_ERROR\n
          \                                                 *    TOPIC_CREATE\n                                                  *
          \   PART_SET_FOLLOWER\n                                                  *
          \   PART_SET_FOLLOWER_WMARKS\n                                                  *
          \   BROKER_SET_RACK\n                                                  *
          \   COORD_SET (key_type)\n                                                  *
          \   PART_PUSH_LEADER_RESPONSE\n                                                  */\n
          \                       char *str;               /**< For:\n                                                  *
          \   COORD_SET (key) */\n                        int32_t partition;       /**<
          For:\n                                                  *    PART_SET_FOLLOWER\n
          \                                                 *    PART_SET_FOLLOWER_WMARKS\n
          \                                                 *    PART_SET_LEADER\n
          \                                                 *    APIVERSION_SET (ApiKey)\n
          \                                                 *    PART_PUSH_LEADER_RESPONSE\n
          \                                                 */\n                        int32_t
          broker_id;       /**< For:\n                                                  *
          \   PART_SET_FOLLOWER\n                                                  *
          \   PART_SET_LEADER\n                                                  *
          \   BROKER_SET_UPDOWN\n                                                  *
          \   BROKER_SET_RACK\n                                                  *
          \   BROKER_DECOMMISSION\n                                                  *
          \   BROKER_ADD\n                                                  *    COORD_SET
          */\n                        int64_t lo;              /**< Low offset, for:\n
          \                                                 *    TOPIC_CREATE (part
          cnt)\n                                                  *    PART_SET_FOLLOWER_WMARKS\n
          \                                                 *    BROKER_SET_UPDOWN\n
          \                                                 *    APIVERSION_SET (minver)\n
          \                                                 *    BROKER_SET_RTT\n
          \                                                 */\n                        int64_t
          hi;              /**< High offset, for:\n                                                  *
          \   TOPIC_CREATE (repl fact)\n                                                  *
          \   PART_SET_FOLLOWER_WMARKS\n                                                  *
          \   APIVERSION_SET (maxver)\n                                                  *
          \   REQUESTED_METRICS_SET (metrics_cnt)\n                                                  *
          \   TELEMETRY_PUSH_INTERVAL_SET (interval)\n                                                  */\n
          \                       int32_t leader_id;       /**< Leader id, for:\n
          \                                                 *   PART_PUSH_LEADER_RESPONSE\n
          \                                                 */\n                        int32_t
          leader_epoch;    /**< Leader epoch, for:\n                                                  *
          \  PART_PUSH_LEADER_RESPONSE\n                                                  */\n
          \                       char **metrics;          /**< Metrics requested,
          for:\n                                                  *   REQUESTED_METRICS_SET
          */\n                } mock;\n\n                struct {\n                        struct
          rd_kafka_broker_s *rkb; /**< Broker who's state\n                                                        *
          \  changed. */\n                        /**< Callback to trigger on the
          op handler's thread. */\n                        void (*cb)(struct rd_kafka_broker_s
          *rkb);\n                } broker_monitor;\n\n                struct {\n
          \                       /** Consumer group metadata for send_offsets_to..
          */\n                        rd_kafka_consumer_group_metadata_t *cgmetadata;\n
          \                       /** Consumer group id for AddOffsetsTo.. */\n                        char
          *group_id;\n                        int timeout_ms;      /**< Operation
          timeout */\n                        rd_ts_t abs_timeout; /**< Absolute time
          */\n                        /**< Offsets to commit */\n                        rd_kafka_topic_partition_list_t
          *offsets;\n                } txn;\n\n                struct {\n                        /*
          This struct serves two purposes, the fields\n                         *
          with \"Request:\" are used for the async workers state\n                         *
          while the \"Reply:\" fields is a separate reply\n                         *
          rko that is enqueued for the caller upon\n                         * completion
          or failure. */\n\n                        /** Request: Partitions to query.\n
          \                        *  Reply:   Queried partitions with .err field
          set. */\n                        rd_kafka_topic_partition_list_t *partitions;\n\n
          \                       /** Request: Absolute timeout */\n                        rd_ts_t
          ts_timeout;\n\n                        /** Request: Metadata query timer
          */\n                        rd_kafka_timer_t query_tmr;\n\n                        /**
          Request: Timeout timer */\n                        rd_kafka_timer_t timeout_tmr;\n\n
          \                       /** Request: Enqueue op only once, used to (re)trigger\n
          \                        *  metadata cache lookups, topic refresh, timeout.
          */\n                        struct rd_kafka_enq_once_s *eonce;\n\n                        /**
          Request: Caller's replyq */\n                        rd_kafka_replyq_t replyq;\n\n
          \                       /** Request: Number of metadata queries made. */\n
          \                       int query_cnt;\n\n                        /** Reply:
          Leaders (result)\n                         * (rd_kafka_partition_leader*)
          */\n                        rd_list_t *leaders;\n\n                        /**
          Reply: Callback on completion (or failure) */\n                        rd_kafka_op_cb_t
          *cb;\n\n                        /** Reply: Callback opaque */\n                        void
          *opaque;\n\n                } leaders;\n\n                struct {\n                        /**
          Preferred broker for telemetry. */\n                        rd_kafka_broker_t
          *rkb;\n                } telemetry_broker;\n\n                struct {\n
          \                       /**\n                         * Terminated and freed
          broker pointer,\n                         * can only be used for pointer
          comparison.\n                         */\n                        void *rkb;\n\n
          \                       /** Termination callback to trigger\n                         *
          on the op handler's thread. */\n                        void (*cb)(rd_kafka_t
          *rk, void *rkb);\n                } terminated;\n\n        }"
      item_type: struct
      name: rd_kafka_op_s
      pos:
        line_end: 727
        line_start: 284
        source_file: /src/librdkafka/src/rdkafka_op.h
    typedefs:
    - item_type: typedef
      name: rd_kafka_q_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_q_s
    - item_type: typedef
      name: rd_kafka_toppar_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_toppar_s
    - item_type: typedef
      name: rd_kafka_op_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_op_s
    - item_type: typedef
      name: rd_kafka_broker_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_broker_s
    - item_type: typedef
      name: "(rd_kafka_q_serve_cb_t)(rd_kafka_t *rk,\n                                                 struct
        rd_kafka_q_s *rkq,\n                                                 struct
        rd_kafka_op_s *rko,\n                                                 rd_kafka_q_cb_type_t
        cb_type,\n                                                 void *opaque)"
      pos:
        line_end: 255
        line_start: 251
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_op_res_t
    - item_type: typedef
      name: "(rd_kafka_op_cb_t)(rd_kafka_t *rk,\n                                            rd_kafka_q_t
        *rkq,\n                                            struct rd_kafka_op_s *rko)"
      pos:
        line_end: 272
        line_start: 270
        source_file: /src/librdkafka/src/rdkafka_op.h
      type: rd_kafka_op_res_t
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_ssl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_confval.h
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_CONFVAL_INT
      - name: RD_KAFKA_CONFVAL_PTR
      - name: RD_KAFKA_CONFVAL_STR
      item_type: enum
      name: rd_kafka_confval_type_t
      pos:
        line_end: 43
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_confval.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: valuetype
        type: rd_kafka_confval_type_t
      - name: is_set
        type: int
      - name: is_enabled
        type: int
      - name: u
        type: "union {\n                struct {\n                        int v;    /**<
          Current value */\n                        int vmin; /**< Minimum value (inclusive)
          */\n                        int vmax; /**< Maximum value (inclusive) */\n
          \                       int vdef; /**< Default value */\n                }
          INT;\n                struct {\n                        char *v;          /**<
          Current value */\n                        int allowempty;   /**< Allow empty
          string as value */\n                        size_t minlen;    /**< Minimum
          string length excl \\0 */\n                        size_t maxlen;    /**<
          Maximum string length excl \\0 */\n                        const char *vdef;
          /**< Default value */\n                } STR;\n                void *PTR;
          /**< Pointer */\n        }"
      item_type: struct
      name: rd_kafka_confval_s
      pos:
        line_end: 71
        line_start: 50
        source_file: /src/librdkafka/src/rdkafka_confval.h
    typedefs: []
    union: []
- function_names:
  - TIMEVAL_TO_TIMESPEC
  - TIMESPEC_TO_TIMEVAL
  - TIMESPEC_TO_TS
  - TS_TO_TIMESPEC
  - TIMESPEC_CLEAR
  - rd_QueryPerformanceFrequency
  - rd_QueryPerformanceCounter
  - rd_QueryPerformanceFrequency
  - rd_QueryPerformanceCounter
  - rd_clock
  - rd_uclock
  - rd_ctime
  - rd_timeout_us
  - rd_timeout_ms
  - rd_timeout_init0
  - rd_timeout_init_us0
  - rd_timeout_init
  - rd_timeout_init_us
  - rd_timespec_get
  - rd_timeout_init_timespec_us
  - rd_timeout_init_timespec
  - rd_timeout_remains_us
  - rd_timeout_remains
  - rd_timeout_remains_limit0
  - rd_timeout_remains_limit
  - rd_timeout_expired
  source_file: /src/librdkafka/src/rdtime.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_POLL_INFINITE
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/librdkafka/src/rdtime.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RD_POLL_NOWAIT
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/librdkafka/src/rdtime.h
      type_or_value: '0'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_intr_block
  - rd_intr_unblock
  source_file: /src/librdkafka/src/rdsignal.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_SIG_ALL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/librdkafka/src/rdsignal.h
      type_or_value: '-1'
    - item_type: preproc_def
      name: RD_SIG_END
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/src/rdsignal.h
      type_or_value: '-2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - RD_AVL_INSERT
  - RD_AVL_REMOVE_ELM
  - RD_AVL_FIND
  - RD_AVL_FIND_NL
  - RD_AVL_FIND_NODE_NL
  - RD_AVL_ELM_SET_NL
  - RD_AVL_ELM_GET_NL
  - rd_avl_rdlock
  - rd_avl_wrlock
  - rd_avl_rdunlock
  - rd_avl_wrunlock
  - rd_avl_insert
  - rd_avl_remove_elm
  - rd_avl_find
  source_file: /src/librdkafka/src/rdavl.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_AVL_F_LOCKS
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src/rdavl.h
      type_or_value: '0x1        '
    - item_type: preproc_def
      name: RD_AVL_F_OWNER
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/librdkafka/src/rdavl.h
      type_or_value: '0x2        '
    structs:
    - fields:
      - name: '*ran_p[2]'
        type: struct rd_avl_node_s
      - name: ran_height
        type: int
      - name: '*ran_elm'
        type: void
      item_type: struct
      name: rd_avl_node_s
      pos:
        line_end: 58
        line_start: 50
        source_file: /src/librdkafka/src/rdavl.h
    - fields:
      - name: '*ravl_root'
        type: rd_avl_node_t
      - name: ravl_cmp
        type: rd_avl_cmp_t
      - name: ravl_flags
        type: int
      - name: ravl_rwlock
        type: rwlock_t
      item_type: struct
      name: rd_avl_s
      pos:
        line_end: 78
        line_start: 71
        source_file: /src/librdkafka/src/rdavl.h
    typedefs:
    - item_type: typedef
      name: (*rd_avl_cmp_t)(const void *, const void *)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/librdkafka/src/rdavl.h
      type: int
    union: []
- function_names:
  - rd_kafka_sasl_plain_recv
  - rd_kafka_sasl_plain_client_new
  - rd_kafka_sasl_plain_conf_validate
  source_file: /src/librdkafka/src/rdkafka_sasl_plain.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rddl.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_dl_hnd_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/librdkafka/src/rddl.h
      type: void
    union: []
- function_names:
  - rd_crc32_init
  - rd_crc32_update
  - rd_crc32_finalize
  - rd_crc32
  source_file: /src/librdkafka/src/rdcrc32.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CRC_ALGO_TABLE_DRIVEN
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/rdcrc32.h
      type_or_value: '1'
    structs: []
    typedefs:
    - item_type: typedef
      name: rd_crc32_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/librdkafka/src/rdcrc32.h
      type: uint32_t
    union: []
- function_names:
  - rd_buf_write_pos
  - rd_buf_write_remains
  - rd_segment_write_remains
  - rd_buf_last
  - rd_buf_len
  - rd_slice_remains
  - rd_slice_size
  - rd_slice_pos
  - rd_slice_abs_offset
  - rd_slice_offset
  - rd_slice_read_varint
  source_file: /src/librdkafka/src/rdbuf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_SEGMENT_F_RDONLY
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/librdkafka/src/rdbuf.h
      type_or_value: '0x1    '
    - item_type: preproc_def
      name: RD_SEGMENT_F_FREE
      pos:
        line_end: 78
        line_start: 75
        source_file: /src/librdkafka/src/rdbuf.h
      type_or_value: '0x2 '
    structs:
    - fields:
      - name: (rd_segment_s)
        type: TAILQ_ENTRY
      - name: '*seg_p'
        type: char
      - name: seg_of
        type: size_t
      - name: seg_size
        type: size_t
      - name: seg_absof
        type: size_t
      - name: (*seg_free)(void *p)
        type: void
      - name: seg_flags
        type: int
      - name: seg_erased
        type: size_t
      item_type: struct
      name: rd_segment_s
      pos:
        line_end: 78
        line_start: 62
        source_file: /src/librdkafka/src/rdbuf.h
    - fields:
      - name: rbuf_segments
        type: struct rd_segment_head
      - name: rbuf_segment_cnt
        type: size_t
      - name: '*rbuf_wpos'
        type: rd_segment_t
      - name: rbuf_len
        type: size_t
      - name: rbuf_erased
        type: size_t
      - name: rbuf_size
        type: size_t
      - name: '*rbuf_extra'
        type: char
      - name: rbuf_extra_len
        type: size_t
      - name: rbuf_extra_size
        type: size_t
      item_type: struct
      name: rd_buf_s
      pos:
        line_end: 109
        line_start: 87
        source_file: /src/librdkafka/src/rdbuf.h
    - fields:
      - name: '*buf'
        type: rd_buf_t
      - name: '*seg'
        type: rd_segment_t
      - name: rof
        type: size_t
      - name: start
        type: size_t
      - name: end
        type: size_t
      item_type: struct
      name: rd_slice_s
      pos:
        line_end: 124
        line_start: 116
        source_file: /src/librdkafka/src/rdbuf.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_metadata_cache_delete
  - rd_kafka_metadata_cache_delete_by_name
  - rd_kafka_metadata_cache_delete_by_topic_id
  - rd_kafka_metadata_cache_evict_tmr_cb
  - rd_kafka_metadata_cache_evict
  - rd_kafka_metadata_cache_purge_all_hints
  - rd_kafka_metadata_cache_find
  - rd_kafka_metadata_cache_find_by_id
  - rd_kafka_metadata_partition_id_cmp
  - rd_kafka_metadata_cache_entry_new
  - rd_kafka_metadata_cache_insert
  - rd_kafka_metadata_cache_insert_new
  - rd_kafka_metadata_cache_purge
  - rd_kafka_metadata_cache_expiry_start
  - rd_kafka_metadata_cache_topic_update_replace_partition
  - rd_kafka_metadata_cache_topic_update_merge_partitions
  - rd_kafka_metadata_cache_topic_update
  - rd_kafka_metadata_cache_purge_hints
  - RD_LIST_FOREACH
  - rd_kafka_metadata_cache_purge_hints_by_id
  - RD_LIST_FOREACH
  - rd_kafka_metadata_cache_hint
  - RD_LIST_FOREACH
  - rd_kafka_metadata_cache_hint_rktparlist
  - rd_kafka_metadata_cache_entry_cmp
  - rd_kafka_metadata_cache_entry_by_id_cmp
  - rd_kafka_metadata_cache_init
  - rd_kafka_metadata_cache_destroy
  - rd_kafka_metadata_cache_wait_state_change_async
  - rd_kafka_metadata_cache_wait_change
  - rd_kafka_metadata_cache_propagate_changes_trigger_eonce
  - rd_kafka_metadata_cache_propagate_changes
  - rd_kafka_metadata_cache_topic_get
  - rd_kafka_metadata_cache_topic_partition_get
  - rd_kafka_metadata_cache_topics_count_exists
  - RD_LIST_FOREACH
  - rd_kafka_metadata_cache_topics_to_list
  - rd_kafka_metadata_cache_dump
  source_file: /src/librdkafka/src/rdkafka_metadata_cache.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - verifyAssignment
  - verifyMultipleAssignment
  - verifyNumPartitionsWithRackMismatch
  - verifyValidityAndBalance
  - isFullyBalanced
  - ut_initMemberConditionalRack
  - ut_initMetadataConditionalRack
  - ut_initMetadataConditionalRack0
  source_file: /src/librdkafka/src/rdkafka_assignor.h
  types:
    enum:
    - enumerators:
      - name: RD_KAFKA_REBALANCE_PROTOCOL_NONE
      - name: RD_KAFKA_REBALANCE_PROTOCOL_COOPERATIVE
      - name: RD_KAFKA_REBALANCE_PROTOCOL_EAGER
      item_type: enum
      name: rd_kafka_rebalance_protocol_t
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_assignor.h
    preproc_defs: []
    structs:
    - fields:
      - name: '*rkgm_subscription'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkgm_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: '*rkgm_owned'
        type: rd_kafka_topic_partition_list_t
      - name: rkgm_eligible
        type: rd_list_t
      - name: '*rkgm_member_id'
        type: rd_kafkap_str_t
      - name: '*rkgm_group_instance_id'
        type: rd_kafkap_str_t
      - name: '*rkgm_userdata'
        type: rd_kafkap_bytes_t
      - name: '*rkgm_member_metadata'
        type: rd_kafkap_bytes_t
      - name: rkgm_generation
        type: int
      - name: '*rkgm_rack_id'
        type: rd_kafkap_str_t
      item_type: struct
      name: rd_kafka_group_member_s
      pos:
        line_end: 74
        line_start: 49
        source_file: /src/librdkafka/src/rdkafka_assignor.h
    - fields:
      - name: '*metadata'
        type: rd_kafka_metadata_topic_t
      - name: '*metadata_internal'
        type: rd_kafka_metadata_topic_internal_t
      - name: members
        type: rd_list_t
      item_type: struct
      name: rd_kafka_assignor_topic_s
      pos:
        line_end: 91
        line_start: 87
        source_file: /src/librdkafka/src/rdkafka_assignor.h
    - fields:
      - name: '*rkas_protocol_type'
        type: rd_kafkap_str_t
      - name: '*rkas_protocol_name'
        type: rd_kafkap_str_t
      - name: rkas_enabled
        type: int
      - name: rkas_index
        type: int
      - name: rkas_protocol
        type: rd_kafka_rebalance_protocol_t
      - name: "(*rkas_assign_cb)(\n            rd_kafka_t *rk,\n            const
          struct rd_kafka_assignor_s *rkas,\n            const char *member_id,\n
          \           const rd_kafka_metadata_t *metadata,\n            rd_kafka_group_member_t
          *members,\n            size_t member_cnt,\n            rd_kafka_assignor_topic_t
          **eligible_topics,\n            size_t eligible_topic_cnt,\n            char
          *errstr,\n            size_t errstr_size,\n            void *opaque)"
        type: rd_kafka_resp_err_t
      - name: "*(*rkas_get_metadata_cb)(\n            const struct rd_kafka_assignor_s
          *rkas,\n            void *assignor_state,\n            const rd_list_t *topics,\n
          \           const rd_kafka_topic_partition_list_t *owned_partitions,\n            const
          rd_kafkap_str_t *rack_id)"
        type: rd_kafkap_bytes_t
      - name: "(*rkas_on_assignment_cb)(\n            const struct rd_kafka_assignor_s
          *rkas,\n            void **assignor_state,\n            const rd_kafka_topic_partition_list_t
          *assignment,\n            const rd_kafkap_bytes_t *assignment_userdata,\n
          \           const rd_kafka_consumer_group_metadata_t *rkcgm)"
        type: void
      - name: (*rkas_destroy_state_cb)(void *assignor_state)
        type: void
      - name: (*rkas_unittest)(void)
        type: int
      - name: '*rkas_opaque'
        type: void
      item_type: struct
      name: rd_kafka_assignor_s
      pos:
        line_end: 140
        line_start: 97
        source_file: /src/librdkafka/src/rdkafka_assignor.h
    typedefs: []
    union: []
- function_names:
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - CJSON_PUBLIC
  - cJSON_SetIntValue
  - cJSON_SetNumberValue
  - cJSON_ArrayForEach
  source_file: /src/librdkafka/src/cJSON.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: CJSON_CDECL
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: __cdecl
    - item_type: preproc_def
      name: CJSON_STDCALL
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: __stdcall
    - item_type: preproc_def
      name: CJSON_VERSION_MAJOR
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '1'
    - item_type: preproc_def
      name: CJSON_VERSION_MINOR
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '7'
    - item_type: preproc_def
      name: CJSON_VERSION_PATCH
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '14'
    - item_type: preproc_def
      name: cJSON_Invalid
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (0)
    - item_type: preproc_def
      name: cJSON_False
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 0)
    - item_type: preproc_def
      name: cJSON_True
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 1)
    - item_type: preproc_def
      name: cJSON_NULL
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 2)
    - item_type: preproc_def
      name: cJSON_Number
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 3)
    - item_type: preproc_def
      name: cJSON_String
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: cJSON_Array
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: cJSON_Object
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: (1 << 6)
    - item_type: preproc_def
      name: cJSON_Raw
      pos:
        line_end: 105
        line_start: 104
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '(1 << 7) '
    - item_type: preproc_def
      name: cJSON_IsReference
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '256'
    - item_type: preproc_def
      name: cJSON_StringIsConst
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '512'
    - item_type: preproc_def
      name: CJSON_NESTING_LIMIT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/librdkafka/src/cJSON.h
      type_or_value: '1000'
    structs:
    - fields:
      - name: '*next'
        type: struct cJSON
      - name: '*prev'
        type: struct cJSON
      - name: '*child'
        type: struct cJSON
      - name: type
        type: int
      - name: '*valuestring'
        type: char
      - name: valueint
        type: int
      - name: valuedouble
        type: double
      - name: '*string'
        type: char
      item_type: struct
      name: cJSON
      pos:
        line_end: 133
        line_start: 110
        source_file: /src/librdkafka/src/cJSON.h
    - fields:
      - name: '*(CJSON_CDECL *malloc_fn)(size_t sz)'
        type: void
      - name: (CJSON_CDECL *free_fn)(void *ptr)
        type: void
      item_type: struct
      name: cJSON_Hooks
      pos:
        line_end: 141
        line_start: 135
        source_file: /src/librdkafka/src/cJSON.h
    typedefs:
    - item_type: typedef
      name: cJSON_bool
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/librdkafka/src/cJSON.h
      type: int
    union: []
- function_names:
  - rd_fnv1a
  - unittest_fnv1a
  source_file: /src/librdkafka/src/rdfnv1a.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - XXH_malloc
  - XXH_free
  - XXH_memcpy
  - XXH_read32
  - XXH_read32
  - XXH_read32
  - XXH_rotl32
  - XXH_rotl64
  - XXH_rotl32
  - XXH_rotl64
  - XXH_swap32
  - XXH_isLittleEndian
  - XXH_readLE32_align
  - XXH_readLE32
  - XXH_readBE32
  - XXH_STATIC_ASSERT
  - XXH_versionNumber
  - XXH32_round
  - XXH32_avalanche
  - XXH_get32bits
  - XXH32_finalize
  - XXH32_endian_align
  - XXH32
  - XXH32_state_t* XXH32_createState(void)
  - XXH_errorcode::XXH32_freeState
  - XXH32_copyState
  - XXH_errorcode::XXH32_reset
  - XXH_errorcode::XXH32_update_endian
  - XXH_errorcode::XXH32_update
  - XXH32_digest_endian
  - XXH32_digest
  - XXH32_canonicalFromHash
  - XXH32_hash_t::XXH32_hashFromCanonical
  - XXH_read64
  - XXH_read64
  - XXH_read64
  - XXH_swap64
  - XXH_readLE64_align
  - XXH_readLE64
  - XXH_readBE64
  - XXH64_round
  - XXH64_mergeRound
  - XXH64_avalanche
  - XXH_get64bits
  - XXH64_finalize
  - XXH64_endian_align
  - XXH64
  - XXH64_state_t* XXH64_createState(void)
  - XXH_errorcode::XXH64_freeState
  - XXH64_copyState
  - XXH_errorcode::XXH64_reset
  - XXH_errorcode::XXH64_update_endian
  - XXH_errorcode::XXH64_update
  - XXH64_digest_endian
  - XXH64_digest
  - XXH64_canonicalFromHash
  - XXH64_hash_t::XXH64_hashFromCanonical
  source_file: /src/librdkafka/src/rdxxhash.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: XXH_FORCE_MEMORY_ACCESS
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '2'
    - item_type: preproc_def
      name: XXH_FORCE_MEMORY_ACCESS
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: XXH_ACCEPT_NULL_INPUT_POINTER
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_NATIVE_FORMAT
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_ALIGN_CHECK
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '0'
    - item_type: preproc_def
      name: XXH_FORCE_ALIGN_CHECK
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FORCE_INLINE
      pos:
        line_end: 125
        line_start: 124
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: static __forceinline
    - item_type: preproc_def
      name: FORCE_INLINE
      pos:
        line_end: 129
        line_start: 128
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: static inline __attribute__((always_inline))
    - item_type: preproc_def
      name: FORCE_INLINE
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: static inline
    - item_type: preproc_def
      name: FORCE_INLINE
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: static
    - item_type: preproc_def
      name: XXH_GCC_VERSION
      pos:
        line_end: 187
        line_start: 186
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: (__GNUC__ * 100 + __GNUC_MINOR__)
    - item_type: preproc_def
      name: XXH_swap32
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: _byteswap_ulong
    - item_type: preproc_def
      name: XXH_swap32
      pos:
        line_end: 201
        line_start: 200
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: __builtin_bswap32
    - item_type: preproc_def
      name: XXH_CPU_LITTLE_ENDIAN
      pos:
        line_end: 225
        line_start: 224
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: XXH_isLittleEndian()
    - item_type: preproc_def
      name: PROCESS1
      pos:
        line_end: 299
        line_start: 296
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: "h32 += (*p++) * PRIME32_5; \\\n    h32 = XXH_rotl32(h32, 11)
        * PRIME32_1 ;"
    - item_type: preproc_def
      name: PROCESS4
      pos:
        line_end: 304
        line_start: 300
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: "h32 += XXH_get32bits(p) * PRIME32_3; \\\n    p+=4;                                \\\n
        \   h32  = XXH_rotl32(h32, 17) * PRIME32_4 ;"
    - item_type: preproc_def
      name: XXH_swap64
      pos:
        line_end: 628
        line_start: 627
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: _byteswap_uint64
    - item_type: preproc_def
      name: XXH_swap64
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: __builtin_bswap64
    - item_type: preproc_def
      name: PROCESS1_64
      pos:
        line_end: 709
        line_start: 706
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: "h64 ^= (*p++) * PRIME64_5; \\\n    h64 = XXH_rotl64(h64, 11)
        * PRIME64_1;"
    - item_type: preproc_def
      name: PROCESS4_64
      pos:
        line_end: 714
        line_start: 710
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: "h64 ^= (U64)(XXH_get32bits(p)) * PRIME64_1; \\\n    p+=4;                    \\\n
        \   h64 = XXH_rotl64(h64, 23) * PRIME64_2 + PRIME64_3;"
    - item_type: preproc_def
      name: PROCESS8_64
      pos:
        line_end: 721
        line_start: 715
        source_file: /src/librdkafka/src/rdxxhash.c
      type_or_value: "{        \\\n    U64 const k1 = XXH64_round(0, XXH_get64bits(p));
        \\\n    p+=8;                    \\\n    h64 ^= k1;               \\\n    h64
        \ = XXH_rotl64(h64,27) * PRIME64_1 + PRIME64_4; \\\n}"
    structs: []
    typedefs:
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/librdkafka/src/rdxxhash.c
      type: uint8_t
    - item_type: typedef
      name: U16
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/librdkafka/src/rdxxhash.c
      type: uint16_t
    - item_type: typedef
      name: U32
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/librdkafka/src/rdxxhash.c
      type: uint32_t
    - item_type: typedef
      name: BYTE
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/librdkafka/src/rdxxhash.c
      type: unsigned char
    - item_type: typedef
      name: U16
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/librdkafka/src/rdxxhash.c
      type: unsigned short
    - item_type: typedef
      name: U32
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/librdkafka/src/rdxxhash.c
      type: unsigned int
    - item_type: typedef
      name: U64
      pos:
        line_end: 591
        line_start: 591
        source_file: /src/librdkafka/src/rdxxhash.c
      type: uint64_t
    - item_type: typedef
      name: U64
      pos:
        line_end: 594
        line_start: 594
        source_file: /src/librdkafka/src/rdxxhash.c
      type: unsigned long long
    union:
    - fields:
      - name: u32
        type: U32
      item_type: union
      name: unalign
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/librdkafka/src/rdxxhash.c
    - fields:
      - name: u
        type: U32
      - name: c[4]
        type: BYTE
      item_type: union
      name: one = { 1 }
      pos:
        line_end: 221
        line_start: 221
        source_file: /src/librdkafka/src/rdxxhash.c
    - fields:
      - name: u32
        type: U32
      - name: u64
        type: U64
      item_type: union
      name: unalign64
      pos:
        line_end: 608
        line_start: 608
        source_file: /src/librdkafka/src/rdxxhash.c
- function_names:
  - rd_kafka_sasl_send_legacy
  - rd_kafka_sasl_send
  - rd_kafka_sasl_auth_done
  - rd_kafka_sasl_recv
  - rd_kafka_sasl_io_event
  - rd_kafka_sasl_close
  - rd_kafka_sasl_client_new
  - rd_kafka_queue_get_sasl
  - rd_kafka_sasl_broker_term
  - rd_kafka_sasl_broker_init
  - rd_kafka_sasl_init
  - rd_kafka_sasl_term
  - rd_kafka_sasl_ready
  - rd_kafka_sasl_select_provider
  - rd_kafka_sasl_background_callbacks_enable
  - rd_kafka_sasl_global_term
  - rd_kafka_sasl_global_init
  - rd_kafka_sasl_set_credentials
  source_file: /src/librdkafka/src/rdkafka_sasl.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - conv_bin2ascii
  - base64_encoding_conversion
  - rd_base64_encode
  - rd_base64_encode_str
  - rd_base64_encode_str_urlsafe
  - rd_base64_decode
  source_file: /src/librdkafka/src/rdbase64.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdports.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - do_test_rd_uvarint_enc_i64
  - unittest_rdvarint
  source_file: /src/librdkafka/src/rdvarint.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - calculate_avg
  - calculate_max
  - brokers_avg
  - brokers_max
  - calculate_connection_creation_total
  - calculate_connection_creation_rate
  - calculate_broker_avg_rtt
  - calculate_broker_max_rtt
  - calculate_produce_latency_avg
  - calculate_produce_latency_max
  - calculate_throttle_avg
  - calculate_throttle_max
  - calculate_queue_time_avg
  - calculate_queue_time_max
  - calculate_consumer_assigned_partitions
  - calculate_consumer_rebalance_latency_avg
  - calculate_consumer_rebalance_latency_max
  - calculate_consumer_rebalance_latency_total
  - calculate_consumer_fetch_latency_avg
  - calculate_consumer_fetch_latency_max
  - calculate_consumer_poll_idle_ratio_avg
  - calculate_consumer_commit_latency_avg
  - calculate_consumer_commit_latency_max
  - reset_historical_metrics
  - get_client_rack
  - get_group_id
  - get_group_instance_id
  - get_member_id
  - get_transactional_id
  - count_attributes
  - set_attributes
  - resource_attributes
  - encode_string
  - encode_number_data_point
  - encode_metric
  - encode_scope_metrics
  - encode_resource_metrics
  - encode_key_value
  - encode_key_values
  - free_metrics
  - free_resource_attributes
  - serialize_Metric
  - rd_kafka_telemetry_encode_metrics
  source_file: /src/librdkafka/src/rdkafka_telemetry_encode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: THREE_ORDERS_MAGNITUDE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.c
      type_or_value: '1000'
    structs:
    - fields:
      - name: '**metrics'
        type: opentelemetry_proto_metrics_v1_Metric
      - name: count
        type: size_t
      item_type: struct
      name: rd_kafka_telemetry_metrics_repeated_t
      pos:
        line_end: 37
        line_start: 34
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.c
    - fields:
      - name: '**key_values'
        type: opentelemetry_proto_common_v1_KeyValue
      - name: count
        type: size_t
      item_type: struct
      name: rd_kafka_telemetry_key_values_repeated_t
      pos:
        line_end: 42
        line_start: 39
        source_file: /src/librdkafka/src/rdkafka_telemetry_encode.c
    typedefs: []
    union: []
- function_names:
  - rd_map_elem_cmp
  - rd_map_elem_destroy
  - rd_map_find
  - rd_map_insert
  - rd_map_set
  - rd_map_get
  - rd_map_delete
  - rd_map_copy
  - RD_MAP_FOREACH_ELEM
  - rd_map_iter_begin
  - rd_map_cnt
  - rd_map_is_empty
  - rd_map_alloc_buckets
  - rd_map_init
  - rd_map_clear
  - rd_map_destroy
  - rd_map_str_cmp
  - rd_map_str_hash
  - rd_bytes_hash
  - mykey_cmp
  - mykey_hash
  - unittest_typed_map
  - person_cmp
  - person_hash
  - unittest_typed_map2
  - unittest_untyped_map
  - unittest_map
  source_file: /src/librdkafka/src/rdmap.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: k
        type: int
      - name: something_else
        type: int
      item_type: struct
      name: mykey
      pos:
        line_end: 273
        line_start: 270
        source_file: /src/librdkafka/src/rdmap.c
    - fields:
      - name: '*name'
        type: char
      - name: '*surname'
        type: char
      item_type: struct
      name: person
      pos:
        line_end: 291
        line_start: 288
        source_file: /src/librdkafka/src/rdmap.c
    typedefs:
    - item_type: typedef
      name: '*) ut_my_typed_map_t'
      pos:
        line_end: 295
        line_start: 294
        source_file: /src/librdkafka/src/rdmap.c
      type: person
    union: []
- function_names:
  - rd_kafka_error_destroy
  - rd_kafka_error_new_v
  - rd_kafka_error_copy
  - rd_kafka_error_copy_opaque
  - rd_kafka_error_new
  - rd_kafka_error_new_fatal
  - rd_kafka_error_new_retriable
  - rd_kafka_error_new_txn_requires_abort
  - rd_kafka_error_code
  - rd_kafka_error_name
  - rd_kafka_error_string
  - rd_kafka_error_is_fatal
  - rd_kafka_error_is_retriable
  - rd_kafka_error_txn_requires_abort
  - rd_kafka_error_set_fatal
  - rd_kafka_error_set_retriable
  - rd_kafka_error_set_txn_requires_abort
  - rd_kafka_error_to_legacy
  source_file: /src/librdkafka/src/rdkafka_error.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_coord.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (rd_kafka_coord_cache_entry_s)
        type: TAILQ_ENTRY
      - name: cce_coordtype
        type: rd_kafka_coordtype_t
      - name: '*cce_coordkey'
        type: char
      - name: cce_ts_used
        type: rd_ts_t
      - name: '*cce_rkb'
        type: rd_kafka_broker_t
      item_type: struct
      name: rd_kafka_coord_cache_entry_s
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/librdkafka/src/rdkafka_coord.h
    - fields:
      - name: cc_entries
        type: rd_kafka_coord_cache_head_t
      - name: cc_cnt
        type: int
      - name: cc_expire_thres
        type: rd_ts_t
      item_type: struct
      name: rd_kafka_coord_cache_s
      pos:
        line_end: 57
        line_start: 51
        source_file: /src/librdkafka/src/rdkafka_coord.h
    - fields:
      - name: (rd_kafka_coord_req_s)
        type: TAILQ_ENTRY
      - name: creq_coordtype
        type: rd_kafka_coordtype_t
      - name: '*creq_coordkey'
        type: char
      - name: '*creq_rko'
        type: rd_kafka_op_t
      - name: creq_tmr
        type: rd_kafka_timer_t
      - name: creq_ts_timeout
        type: rd_ts_t
      - name: creq_query_intvl
        type: rd_interval_t
      - name: '*creq_send_req_cb'
        type: rd_kafka_send_req_cb_t
      - name: creq_replyq
        type: rd_kafka_replyq_t
      - name: '*creq_resp_cb'
        type: rd_kafka_resp_cb_t
      - name: '*creq_reply_opaque'
        type: void
      - name: creq_refcnt
        type: int
      - name: creq_done
        type: rd_bool_t
      - name: '*creq_rkb'
        type: rd_kafka_broker_t
      item_type: struct
      name: rd_kafka_coord_req_s
      pos:
        line_end: 113
        line_start: 76
        source_file: /src/librdkafka/src/rdkafka_coord.h
    typedefs:
    - item_type: typedef
      name: "(rd_kafka_coord_cache_head_s,\n                   rd_kafka_coord_cache_entry_s)"
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/librdkafka/src/rdkafka_coord.h
      type: TAILQ_HEAD
    union: []
- function_names:
  - rd_dassert
  - rd_dassert
  - RD_BUG
  - rd_calloc
  - rd_malloc
  - rd_realloc
  - rd_free
  - rd_strdup
  - rd_strndup
  - rd_strndupa
  - rd_strndupa
  - rd_strdupa
  - rd_strdupa
  - RD_ROUNDUP
  - RD_ARRAY_SIZE
  - RD_ARRAYSIZE
  - RD_SIZEOF
  - RD_OFFSETOF
  - RD_ARRAY_FOREACH_INDEX
  - RD_ARRAY_ELEM
  - RD_STRINGIFY
  - RD_MIN
  - RD_MAX
  - RD_INT_CAP
  - rd_memdup
  - RD_MEMZERO
  - rd_refcnt_init
  - rd_refcnt_init
  - rd_refcnt_destroy
  - rd_refcnt_destroy
  - rd_refcnt_set
  - rd_refcnt_set
  - rd_refcnt_add0
  - rd_refcnt_add0
  - rd_refcnt_sub0
  - rd_refcnt_get
  - rd_refcnt_get
  - rd_refcnt_destroywrapper
  - rd_refcnt_destroywrapper2
  - rd_refcnt_add_fl
  - rd_refcnt_add
  - rd_refcnt_add2
  - rd_refcnt_sub2
  - rd_refcnt_sub
  - rd_refcnt_add_fl
  - rd_refcnt_add
  - rd_refcnt_sub
  - RD_IF_FREE
  - RD_INTERFACE_CALL
  - RD_CEIL_INTEGER_DIVISION
  - rd_file_read
  - rd_file_mkstemp
  - rd_file_stat
  source_file: /src/librdkafka/src/rd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _POSIX_C_SOURCE
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '200809L '
    - item_type: preproc_def
      name: LOG_EMERG
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LOG_ALERT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOG_CRIT
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '2'
    - item_type: preproc_def
      name: LOG_ERR
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '3'
    - item_type: preproc_def
      name: LOG_WARNING
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '4'
    - item_type: preproc_def
      name: LOG_NOTICE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '5'
    - item_type: preproc_def
      name: LOG_INFO
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '6'
    - item_type: preproc_def
      name: LOG_DEBUG
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '7'
    - item_type: preproc_def
      name: RD_SENTINEL
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/librdkafka/src/rd.h
      type_or_value: __attribute__((__sentinel__))
    - item_type: preproc_def
      name: violated
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '")'
    - item_type: preproc_def
      name: IOV_MAX
      pos:
        line_end: 213
        line_start: 212
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: IOV_MAX
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '1024'
    - item_type: preproc_def
      name: RD_REFCNT_USE_LOCKS
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/librdkafka/src/rd.h
      type_or_value: '1'
    structs:
    - fields:
      - name: lock
        type: mtx_t
      - name: v
        type: int
      item_type: struct
      name: rd_refcnt_t
      pos:
        line_end: 290
        line_start: 287
        source_file: /src/librdkafka/src/rd.h
    - fields:
      - name: '*ptr'
        type: char
      - name: size
        type: size_t
      item_type: struct
      name: rd_chariov_s
      pos:
        line_end: 445
        line_start: 442
        source_file: /src/librdkafka/src/rd.h
    typedefs:
    - item_type: typedef
      name: rd_refcnt_t
      pos:
        line_end: 292
        line_start: 292
        source_file: /src/librdkafka/src/rd.h
      type: rd_atomic32_t
    union: []
- function_names:
  - ConsumerPair_new
  - ConsumerPair_free
  - ConsumerPair_cmp
  - ConsumerPair_hash
  - ConsumerGenerationPair_destroy
  - ConsumerGenerationPair_new
  - ConsumerGenerationPair_cmp_generation
  - map_cpair_toppar_list_t_new
  - map_cpair_toppar_list_t_free
  - rd_kafka_rack_info_new
  - rd_kafka_rack_info_destroy
  - rd_kafka_partition_internal_find_rack
  - rd_kafka_racks_mismatch
  - PartitionMovements_init
  - PartitionMovements_destroy
  - PartitionMovements_removeMovementRecordOfPartition
  - PartitionMovements_addPartitionMovementRecord
  - PartitionMovements_movePartition
  - PartitionMovements_getTheActualPartitionToBeMoved
  - hasCycles
  - PartitionMovements_isSticky
  - RD_MAP_FOREACH
  - sort_by_map_elem_val_toppar_list_cnt
  - maybeAssignPartition
  - RD_LIST_FOREACH
  - partitionCanParticipateInReassignment
  - consumerCanParticipateInReassignment
  - processPartitionMovement
  - reassignPartitionToConsumer
  - reassignPartition
  - RD_LIST_FOREACH
  - isBalanced
  - RD_MAP_FOREACH
  - RD_LIST_FOREACH
  - performReassignments
  - RD_LIST_FOREACH
  - RD_LIST_FOREACH
  - getBalanceScore
  - maybeAssign
  - balance
  - RD_MAP_FOREACH
  - RD_LIST_FOREACH
  - prepopulateCurrentAssignments
  - populatePotentialMaps
  - areSubscriptionsIdentical
  - RD_MAP_FOREACH
  - RD_MAP_FOREACH
  - toppar_sort_by_list_cnt
  - sortPartitions
  - RD_MAP_FOREACH
  - RD_MAP_FOREACH
  - assignToMembers
  - rd_kafka_sticky_assignor_assign_cb
  - rd_kafka_sticky_assignor_on_assignment_cb
  - rd_kafka_sticky_assignor_get_metadata
  - rd_kafka_sticky_assignor_state_destroy
  - ut_get_consumer_rack
  - ut_populate_member_owned_partitions_generation
  - ut_create_topic_partition_lists
  - ut_testOneConsumerNoTopic
  - ut_testOneConsumerNonexistentTopic
  - ut_testOneConsumerOneTopic
  - ut_testOnlyAssignsPartitionsFromSubscribedTopics
  - ut_testOneConsumerMultipleTopics
  - ut_testTwoConsumersOneTopicOnePartition
  - ut_testTwoConsumersOneTopicTwoPartitions
  - ut_testMultipleConsumersMixedTopicSubscriptions
  - ut_testTwoConsumersTwoTopicsSixPartitions
  - ut_testAddRemoveConsumerOneTopic
  - ut_testPoorRoundRobinAssignmentScenario
  - ut_testAddRemoveTopicTwoConsumers
  - ut_testReassignmentAfterOneConsumerLeaves
  - ut_testReassignmentAfterOneConsumerAdded
  - ut_testSameSubscriptions
  - ut_testLargeAssignmentWithMultipleConsumersLeaving
  - ut_testNewSubscription
  - ut_testMoveExistingAssignments
  - ut_testMoveExistingAssignments_j
  - ut_testStickiness
  - ut_testStickiness_j
  - ut_testStickiness2
  - ut_testAssignmentUpdatedForDeletedTopic
  - ut_testNoExceptionThrownWhenOnlySubscribedTopicDeleted
  - ut_testConflictingPreviousAssignments
  - ut_testAllConsumersReachExpectedQuotaAndAreConsideredFilled
  - ut_testOwnedPartitionsAreInvalidatedForConsumerWithStaleGeneration
  - ut_testOwnedPartitionsAreInvalidatedForConsumerWithNoGeneration
  - ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration
  - ut_testPartitionsTransferringOwnershipIncludeThePartitionClaimedByMultipleConsumersInSameGeneration2
  - ut_testEnsurePartitionsAssignedToHighestGeneration
  - ut_testNoReassignmentOnCurrentMembers
  - ut_testOwnedPartitionsAreInvalidatedForConsumerWithMultipleGeneration
  - setupRackAwareAssignment0
  - setupRackAwareAssignment
  - verifyNonRackAwareAssignment
  - ut_testRackAwareAssignmentWithNonEqualSubscription
  - rd_kafka_sticky_assignor_unittest
  - rd_kafka_sticky_assignor_init
  source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*prev_assignment'
        type: rd_kafka_topic_partition_list_t
      - name: generation_id
        type: int32_t
      item_type: struct
      name: rd_kafka_sticky_assignor_state_s
      pos:
        line_end: 56
        line_start: 53
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
    - fields:
      - name: '*src'
        type: char
      - name: '*dst'
        type: char
      item_type: struct
      name: ConsumerPair_s
      pos:
        line_end: 75
        line_start: 72
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
    - fields:
      - name: '*consumer'
        type: char
      - name: generation
        type: int
      item_type: struct
      name: ConsumerGenerationPair_s
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
    - fields:
      - name: member_id_to_rack_id
        type: map_str_str_t
      - name: toppar_to_mdpi
        type: map_toppar_mdpi_t
      item_type: struct
      name: rd_kafka_rack_info_t
      pos:
        line_end: 207
        line_start: 202
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
    - fields:
      - name: partitionMovements
        type: map_toppar_cpair_t
      - name: partitionMovementsByTopic
        type: map_str_map_cpair_toppar_list_t
      item_type: struct
      name: PartitionMovements_s
      pos:
        line_end: 323
        line_start: 320
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
    typedefs:
    - item_type: typedef
      name: "(const char *,\n                    rd_kafka_topic_partition_list_t *)"
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: '*) map_toppar_str_t'
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: char
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    rd_list_t *)"
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    rd_kafka_metadata_partition_internal_t
        *)"
      pos:
        line_end: 164
        line_start: 163
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    ConsumerGenerationPair_t
        *)"
      pos:
        line_end: 167
        line_start: 166
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    ConsumerPair_t
        *)"
      pos:
        line_end: 170
        line_start: 169
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: "(const ConsumerPair_t *,\n                    rd_kafka_topic_partition_list_t
        *)"
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: "(const char *,\n                    map_cpair_toppar_list_t *)"
      pos:
        line_end: 177
        line_start: 176
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    - item_type: typedef
      name: (const char *, const char *)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/librdkafka/src/rdkafka_sticky_assignor.c
      type: RD_MAP_TYPE
    union: []
- function_names:
  - rd_gz_decompress
  source_file: /src/librdkafka/src/rdgz.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_GZ_CHUNK
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/src/rdgz.c
      type_or_value: '262144'
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_kafka_yield
  - rd_kafka_q_check_yield
  - rd_kafka_q_destroy_final
  - rd_kafka_q_init0
  - rd_kafka_q_new0
  - rd_kafka_q_consumer_propagate
  - rd_kafka_q_fwd_set0
  - rd_kafka_q_purge0
  - rd_kafka_q_purge_toppar_version
  - rd_kafka_q_move_cnt
  - 'rd_kafka_op_t *

    rd_kafka_op_filter(rd_kafka_q_t *rkq, rd_kafka_op_t *rko, int version)'
  - rd_kafka_q_pop_serve0
  - rd_kafka_q_pop_serve
  - rd_kafka_q_pop_serve_maybe_consume
  - rd_kafka_q_pop
  - rd_kafka_q_serve0
  - rd_kafka_q_serve
  - rd_kafka_q_serve_maybe_consume
  - rd_kafka_purge_outdated_messages
  - rd_kafka_q_serve_rkmessages
  - rd_kafka_queue_destroy
  - rd_kafka_queue_new0
  - rd_kafka_queue_new
  - rd_kafka_queue_get_main
  - rd_kafka_queue_get_consumer
  - rd_kafka_queue_get_partition
  - rd_kafka_queue_get_background
  - rd_kafka_set_log_queue
  - rd_kafka_queue_forward
  - rd_kafka_queue_length
  - rd_kafka_q_io_event_enable
  - rd_kafka_queue_io_event_enable
  - rd_kafka_queue_yield
  - rd_kafka_q_cb_event_enable
  - rd_kafka_queue_cb_event_enable
  - rd_kafka_q_wait_result
  - rd_kafka_q_apply
  - rd_kafka_q_fix_offsets
  - rd_kafka_q_dump
  - rd_kafka_enq_once_trigger_destroy
  source_file: /src/librdkafka/src/rdkafka_queue.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LZ4_QUOTE
  - LZ4_EXPAND_AND_QUOTE
  - LZ4_COMPRESSBOUND
  - LZ4_DECODER_RING_BUFFER_SIZE
  - LZ4_DECOMPRESS_INPLACE_MARGIN
  - LZ4_DECOMPRESS_INPLACE_BUFFER_SIZE
  - LZ4_COMPRESS_INPLACE_BUFFER_SIZE
  - LZ4_DEPRECATED
  - LZ4_DEPRECATED
  - LZ4_DEPRECATED
  - LZ4_DEPRECATED
  source_file: /src/librdkafka/src/lz4.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LZ4LIB_VISIBILITY
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: __attribute__ ((visibility ("default")))
    - item_type: preproc_def
      name: LZ4LIB_API
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: __declspec(dllexport) LZ4LIB_VISIBILITY
    - item_type: preproc_def
      name: LZ4LIB_API
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '__declspec(dllimport) LZ4LIB_VISIBILITY '
    - item_type: preproc_def
      name: LZ4LIB_API
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: LZ4LIB_VISIBILITY
    - item_type: preproc_def
      name: LZ4_HEAPMODE
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LZ4HC_HEAPMODE
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LZ4_STATIC_LINKING_ONLY_DISABLE_MEMORY_ALLOCATION
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LZ4_FREESTANDING
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '0'
    - item_type: preproc_def
      name: LZ4_VERSION_MAJOR
      pos:
        line_end: 131
        line_start: 130
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '1    '
    - item_type: preproc_def
      name: LZ4_VERSION_MINOR
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '9    '
    - item_type: preproc_def
      name: LZ4_VERSION_RELEASE
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '4    '
    - item_type: preproc_def
      name: LZ4_VERSION_NUMBER
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: (LZ4_VERSION_MAJOR *100*100 + LZ4_VERSION_MINOR *100 + LZ4_VERSION_RELEASE)
    - item_type: preproc_def
      name: LZ4_LIB_VERSION
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: LZ4_VERSION_MAJOR.LZ4_VERSION_MINOR.LZ4_VERSION_RELEASE
    - item_type: preproc_def
      name: LZ4_VERSION_STRING
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: 'LZ4_EXPAND_AND_QUOTE(LZ4_LIB_VERSION)  '
    - item_type: preproc_def
      name: LZ4_MEMORY_USAGE_MIN
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '10'
    - item_type: preproc_def
      name: LZ4_MEMORY_USAGE_DEFAULT
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '14'
    - item_type: preproc_def
      name: LZ4_MEMORY_USAGE_MAX
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '20'
    - item_type: preproc_def
      name: LZ4_MEMORY_USAGE
      pos:
        line_end: 161
        line_start: 160
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: LZ4_MEMORY_USAGE_DEFAULT
    - item_type: preproc_def
      name: LZ4_MAX_INPUT_SIZE
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '0x7E000000   '
    - item_type: preproc_def
      name: LZ4LIB_STATIC_API
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: LZ4LIB_API
    - item_type: preproc_def
      name: LZ4_DISTANCE_MAX
      pos:
        line_end: 633
        line_start: 632
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '65535   '
    - item_type: preproc_def
      name: LZ4_COMPRESS_INPLACE_MARGIN
      pos:
        line_end: 636
        line_start: 635
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '(LZ4_DISTANCE_MAX + 32)   '
    - item_type: preproc_def
      name: LZ4_HASHLOG
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: (LZ4_MEMORY_USAGE-2)
    - item_type: preproc_def
      name: LZ4_HASHTABLESIZE
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: (1 << LZ4_MEMORY_USAGE)
    - item_type: preproc_def
      name: LZ4_HASH_SIZE_U32
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '(1 << LZ4_HASHLOG)       '
    - item_type: preproc_def
      name: LZ4_STREAM_MINSIZE
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '((1UL << LZ4_MEMORY_USAGE) + 32)  '
    - item_type: preproc_def
      name: LZ4_STREAMDECODE_MINSIZE
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/librdkafka/src/lz4.h
      type_or_value: '32'
    structs:
    - fields:
      - name: hashTable[LZ4_HASH_SIZE_U32]
        type: LZ4_u32
      - name: '* dictionary'
        type: LZ4_byte
      - name: '* dictCtx'
        type: LZ4_stream_t_internal
      - name: currentOffset
        type: LZ4_u32
      - name: tableType
        type: LZ4_u32
      - name: dictSize
        type: LZ4_u32
      item_type: struct
      name: LZ4_stream_t_internal
      pos:
        line_end: 685
        line_start: 677
        source_file: /src/librdkafka/src/lz4.h
    - fields:
      - name: '* externalDict'
        type: LZ4_byte
      - name: '* prefixEnd'
        type: LZ4_byte
      - name: extDictSize
        type: size_t
      - name: prefixSize
        type: size_t
      item_type: struct
      name: LZ4_streamDecode_t_internal
      pos:
        line_end: 721
        line_start: 716
        source_file: /src/librdkafka/src/lz4.h
    typedefs:
    - item_type: typedef
      name: LZ4_stream_t
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/librdkafka/src/lz4.h
      type: LZ4_stream_u
    - item_type: typedef
      name: LZ4_streamDecode_t
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/librdkafka/src/lz4.h
      type: LZ4_streamDecode_u
    - item_type: typedef
      name: LZ4_i8
      pos:
        line_end: 659
        line_start: 659
        source_file: /src/librdkafka/src/lz4.h
      type: int8_t
    - item_type: typedef
      name: LZ4_byte
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/librdkafka/src/lz4.h
      type: uint8_t
    - item_type: typedef
      name: LZ4_u16
      pos:
        line_end: 661
        line_start: 661
        source_file: /src/librdkafka/src/lz4.h
      type: uint16_t
    - item_type: typedef
      name: LZ4_u32
      pos:
        line_end: 662
        line_start: 662
        source_file: /src/librdkafka/src/lz4.h
      type: uint32_t
    - item_type: typedef
      name: LZ4_i8
      pos:
        line_end: 664
        line_start: 664
        source_file: /src/librdkafka/src/lz4.h
      type: signed char
    - item_type: typedef
      name: LZ4_byte
      pos:
        line_end: 665
        line_start: 665
        source_file: /src/librdkafka/src/lz4.h
      type: unsigned char
    - item_type: typedef
      name: LZ4_u16
      pos:
        line_end: 666
        line_start: 666
        source_file: /src/librdkafka/src/lz4.h
      type: unsigned short
    - item_type: typedef
      name: LZ4_u32
      pos:
        line_end: 667
        line_start: 667
        source_file: /src/librdkafka/src/lz4.h
      type: unsigned int
    - item_type: typedef
      name: LZ4_stream_t_internal
      pos:
        line_end: 676
        line_start: 676
        source_file: /src/librdkafka/src/lz4.h
      type: LZ4_stream_t_internal
    union:
    - fields:
      - name: minStateSize[LZ4_STREAM_MINSIZE]
        type: char
      - name: internal_donotuse
        type: LZ4_stream_t_internal
      item_type: union
      name: LZ4_stream_u
      pos:
        line_end: 691
        line_start: 688
        source_file: /src/librdkafka/src/lz4.h
    - fields:
      - name: minStateSize[LZ4_STREAMDECODE_MINSIZE]
        type: char
      - name: internal_donotuse
        type: LZ4_streamDecode_t_internal
      item_type: union
      name: LZ4_streamDecode_u
      pos:
        line_end: 727
        line_start: 724
        source_file: /src/librdkafka/src/lz4.h
- function_names:
  - rd_kafka_compression2str
  - rd_kafka_confsource2str
  source_file: /src/librdkafka/src/rdkafka_conf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: WITH_SSL_ENGINE
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/librdkafka/src/rdkafka_conf.h
      type_or_value: '1'
    - item_type: preproc_def
      name: _RK_CGRP
      pos:
        line_end: 136
        line_start: 135
        source_file: /src/librdkafka/src/rdkafka_conf.h
      type_or_value: _RK_CONSUMER
    - item_type: preproc_def
      name: RD_KAFKA_SASL_OAUTHBEARER_METADATA_AUTHENTICATION_URL_AZURE_IMDS
      pos:
        line_end: 174
        line_start: 172
        source_file: /src/librdkafka/src/rdkafka_conf.h
      type_or_value: '"http://169.254.169.254/metadata/identity/oauth2/token"'
    - item_type: preproc_def
      name: RD_KAFKA_CONF_PROPS_IDX_MAX
      pos:
        line_end: 199
        line_start: 198
        source_file: /src/librdkafka/src/rdkafka_conf.h
      type_or_value: (64 * 35)
    structs:
    - fields:
      - name: modified[RD_KAFKA_CONF_PROPS_IDX_MAX / 64]
        type: uint64_t
      item_type: struct
      name: rd_kafka_anyconf_hdr
      pos:
        line_end: 208
        line_start: 206
        source_file: /src/librdkafka/src/rdkafka_conf.h
    - fields:
      - name: hdr
        type: struct rd_kafka_anyconf_hdr
      - name: enabled_events
        type: int
      - name: max_msg_size
        type: int
      - name: msg_copy_max_size
        type: int
      - name: recv_max_msg_size
        type: int
      - name: max_inflight
        type: int
      - name: metadata_recovery_rebootstrap_trigger_ms
        type: int
      - name: metadata_request_timeout_ms
        type: int
      - name: metadata_refresh_interval_ms
        type: int
      - name: metadata_refresh_fast_cnt
        type: int
      - name: metadata_refresh_fast_interval_ms
        type: int
      - name: metadata_refresh_sparse
        type: int
      - name: metadata_max_age_ms
        type: int
      - name: metadata_propagation_max_ms
        type: int
      - name: debug
        type: int
      - name: broker_addr_ttl
        type: int
      - name: broker_addr_family
        type: int
      - name: socket_timeout_ms
        type: int
      - name: socket_blocking_max_ms
        type: int
      - name: socket_sndbuf_size
        type: int
      - name: socket_rcvbuf_size
        type: int
      - name: socket_keepalive
        type: int
      - name: socket_nagle_disable
        type: int
      - name: socket_max_fails
        type: int
      - name: '*client_id_str'
        type: char
      - name: '*brokerlist'
        type: char
      - name: stats_interval_ms
        type: int
      - name: term_sig
        type: int
      - name: reconnect_backoff_ms
        type: int
      - name: reconnect_backoff_max_ms
        type: int
      - name: reconnect_jitter_ms
        type: int
      - name: socket_connection_setup_timeout_ms
        type: int
      - name: connections_max_idle_ms
        type: int
      - name: sparse_connections
        type: int
      - name: sparse_connect_intvl
        type: int
      - name: api_version_request
        type: int
      - name: api_version_request_timeout_ms
        type: int
      - name: api_version_fallback_ms
        type: int
      - name: '*broker_version_fallback'
        type: char
      - name: security_protocol
        type: rd_kafka_secproto_t
      - name: client_dns_lookup
        type: rd_kafka_client_dns_lookup_t
      - name: metadata_recovery_strategy
        type: rd_kafka_metadata_recovery_strategy_t
      - name: ssl
        type: "struct {\n#if WITH_SSL\n                SSL_CTX *ctx;\n#endif\n                char
          *cipher_suites;\n                char *curves_list;\n                char
          *sigalgs_list;\n                char *key_location;\n                char
          *key_pem;\n                rd_kafka_cert_t *key;\n                char *key_password;\n
          \               char *cert_location;\n                char *cert_pem;\n
          \               rd_kafka_cert_t *cert;\n                char *ca_location;\n
          \               char *ca_pem;\n                rd_kafka_cert_t *ca;\n                /**
          CSV list of Windows certificate stores */\n                char *ca_cert_stores;\n
          \               char *crl_location;\n#if WITH_SSL && OPENSSL_VERSION_NUMBER
          >= 0x10100000\n                ENGINE *engine;\n#endif\n                char
          *engine_location;\n                char *engine_id;\n                void
          *engine_callback_data;\n                char *providers;\n                rd_list_t
          loaded_providers; /**< (SSL_PROVIDER*) */\n                char *keystore_location;\n
          \               char *keystore_password;\n                int endpoint_identification;\n
          \               int enable_verify;\n                int (*cert_verify_cb)(rd_kafka_t
          *rk,\n                                      const char *broker_name,\n                                      int32_t
          broker_id,\n                                      int *x509_error,\n                                      int
          depth,\n                                      const char *buf,\n                                      size_t
          size,\n                                      char *errstr,\n                                      size_t
          errstr_size,\n                                      void *opaque);\n        }"
      - name: https
        type: "struct {\n                char *ca_location;\n                char
          *ca_pem;\n        }"
      - name: sasl
        type: "struct {\n                const struct rd_kafka_sasl_provider *provider;\n
          \               char *principal;\n                char *mechanisms;\n                char
          *service_name;\n                char *kinit_cmd;\n                char *keytab;\n
          \               int relogin_min_time;\n                /** Protects .username
          and .password access after client\n                 *  instance has been
          created (see sasl_set_credentials()). */\n                mtx_t lock;\n
          \               char *username;\n                char *password;\n#if WITH_SASL_SCRAM\n
          \               /* SCRAM EVP-wrapped hash function\n                 * (return
          value from EVP_shaX()) */\n                const void /*EVP_MD*/ *scram_evp;\n
          \               /* SCRAM direct hash function (e.g., SHA256()) */\n                unsigned
          char *(*scram_H)(const unsigned char *d,\n                                          size_t
          n,\n                                          unsigned char *md);\n                /*
          Hash size */\n                size_t scram_H_size;\n#endif\n                char
          *oauthbearer_config;\n                int enable_oauthbearer_unsecure_jwt;\n
          \               int enable_callback_queue;\n                struct {\n                        rd_kafka_oauthbearer_method_t
          method;\n                        rd_kafka_oauthbearer_grant_type_t grant_type;\n
          \                       char *token_endpoint_url;\n                        char
          *client_id;\n                        char *client_secret;\n                        char
          *scope;\n                        struct {\n                                rd_kafka_oauthbearer_assertion_algorithm_t\n
          \                                   algorithm;\n                                char
          *file;\n                                char *jwt_template_file;\n\n                                struct
          {\n                                        char *subject;\n                                        char
          *audience;\n                                        char *issuer;\n                                        rd_bool_t
          jti_include;\n                                        int not_before_s;\n
          \                                       int expiration_s;\n                                }
          claim;\n                                struct {\n                                        char
          *file;\n                                        char *passphrase;\n                                        char
          *pem;\n                                } private_key;\n\n                        }
          assertion;\n\n                        struct {\n                                rd_kafka_oauthbearer_metadata_authentication_type_t\n
          \                                   type;\n                        } metadata_authentication;\n\n\n
          \                       char *extensions_str;\n                        rd_bool_t
          builtin_token_refresh_cb;\n                        /* SASL/OAUTHBEARER token
          refresh event callback */\n                        void (*token_refresh_cb)(rd_kafka_t
          *rk,\n                                                 const char *oauthbearer_config,\n
          \                                                void *opaque);\n                }
          oauthbearer;\n        }"
      - name: '*plugin_paths'
        type: char
      - name: interceptors
        type: "struct {\n                /* rd_kafka_interceptor_method_t lists */\n
          \               rd_list_t on_conf_set;            /* on_conf_set interceptors\n
          \                                                  * (not copied on conf_dup())
          */\n                rd_list_t on_conf_dup;            /* .. (not copied)
          */\n                rd_list_t on_conf_destroy;        /* .. (not copied)
          */\n                rd_list_t on_new;                 /* .. (copied) */\n
          \               rd_list_t on_destroy;             /* .. (copied) */\n                rd_list_t
          on_send;                /* .. (copied) */\n                rd_list_t on_acknowledgement;
          \    /* .. (copied) */\n                rd_list_t on_consume;             /*
          .. (copied) */\n                rd_list_t on_commit;              /* ..
          (copied) */\n                rd_list_t on_request_sent;        /* .. (copied)
          */\n                rd_list_t on_response_received;   /* .. (copied) */\n
          \               rd_list_t on_thread_start;        /* .. (copied) */\n                rd_list_t
          on_thread_exit;         /* .. (copied) */\n                rd_list_t on_broker_state_change;
          /* .. (copied) */\n\n                /* rd_strtup_t list */\n                rd_list_t
          config; /* Configuration name=val's\n                                   *
          handled by interceptors. */\n        }"
      - name: coord_query_intvl_ms
        type: int
      - name: max_poll_interval_ms
        type: int
      - name: enable_metrics_push
        type: int
      - name: builtin_features
        type: int
      - name: check_crcs
        type: int
      - name: queued_min_msgs
        type: int
      - name: queued_max_msg_kbytes
        type: int
      - name: queued_max_msg_bytes
        type: int64_t
      - name: fetch_wait_max_ms
        type: int
      - name: fetch_msg_max_bytes
        type: int
      - name: fetch_max_bytes
        type: int
      - name: fetch_min_bytes
        type: int
      - name: fetch_queue_backoff_ms
        type: int
      - name: fetch_error_backoff_ms
        type: int
      - name: group_protocol
        type: rd_kafka_group_protocol_t
      - name: '*group_id_str'
        type: char
      - name: '*group_instance_id'
        type: char
      - name: '*group_remote_assignor'
        type: char
      - name: allow_auto_create_topics
        type: int
      - name: '*topic_blacklist'
        type: rd_kafka_pattern_list_t
      - name: '*topic_conf'
        type: struct rd_kafka_topic_conf_s
      - name: enable_auto_commit
        type: int
      - name: enable_auto_offset_store
        type: int
      - name: auto_commit_interval_ms
        type: int
      - name: group_session_timeout_ms
        type: int
      - name: group_heartbeat_intvl_ms
        type: int
      - name: '*group_protocol_type'
        type: rd_kafkap_str_t
      - name: '*partition_assignment_strategy'
        type: char
      - name: partition_assignors
        type: rd_list_t
      - name: enabled_assignor_cnt
        type: int
      - name: "(*rebalance_cb)(rd_kafka_t *rk,\n                             rd_kafka_resp_err_t
          err,\n                             rd_kafka_topic_partition_list_t *partitions,\n
          \                            void *opaque)"
        type: void
      - name: "(*offset_commit_cb)(rd_kafka_t *rk,\n                                 rd_kafka_resp_err_t
          err,\n                                 rd_kafka_topic_partition_list_t *offsets,\n
          \                                void *opaque)"
        type: void
      - name: offset_store_method
        type: rd_kafka_offset_method_t
      - name: isolation_level
        type: rd_kafka_isolation_level_t
      - name: enable_partition_eof
        type: int
      - name: '*client_rack'
        type: rd_kafkap_str_t
      - name: eos
        type: "struct {\n                /*\n                 * Idempotence\n                 */\n
          \               int idempotence;   /**< Enable Idempotent Producer */\n
          \               rd_bool_t gapless; /**< Raise fatal error if\n                                    *
          \  gapless guarantee can't be\n                                    *   satisfied.
          */\n                /*\n                 * Transactions\n                 */\n
          \               char *transactional_id;     /**< Transactional Id */\n                int
          transaction_timeout_ms; /**< Transaction timeout */\n        }"
      - name: queue_buffering_max_msgs
        type: int
      - name: queue_buffering_max_kbytes
        type: int
      - name: buffering_max_ms_dbl
        type: double
      - name: buffering_max_us
        type: rd_ts_t
      - name: queue_backpressure_thres
        type: int
      - name: max_retries
        type: int
      - name: retry_backoff_ms
        type: int
      - name: retry_backoff_max_ms
        type: int
      - name: batch_num_messages
        type: int
      - name: batch_size
        type: int
      - name: compression_codec
        type: rd_kafka_compression_t
      - name: dr_err_only
        type: int
      - name: sticky_partition_linger_ms
        type: int
      - name: "(*dr_cb)(rd_kafka_t *rk,\n                      void *payload,\n                      size_t
          len,\n                      rd_kafka_resp_err_t err,\n                      void
          *opaque,\n                      void *msg_opaque)"
        type: void
      - name: "(*dr_msg_cb)(rd_kafka_t *rk,\n                          const rd_kafka_message_t
          *rkmessage,\n                          void *opaque)"
        type: void
      - name: (*consume_cb)(rd_kafka_message_t *rkmessage, void *opaque)
        type: void
      - name: "(*log_cb)(const rd_kafka_t *rk,\n                       int level,\n
          \                      const char *fac,\n                       const char
          *buf)"
        type: void
      - name: log_level
        type: int
      - name: log_queue
        type: int
      - name: log_thread_name
        type: int
      - name: log_connection_close
        type: int
      - name: enable_random_seed
        type: int
      - name: "(*error_cb)(rd_kafka_t *rk,\n                         int err,\n                         const
          char *reason,\n                         void *opaque)"
        type: void
      - name: "(*throttle_cb)(rd_kafka_t *rk,\n                            const char
          *broker_name,\n                            int32_t broker_id,\n                            int
          throttle_time_ms,\n                            void *opaque)"
        type: void
      - name: "(*stats_cb)(rd_kafka_t *rk,\n                        char *json,\n
          \                       size_t json_len,\n                        void *opaque)"
        type: int
      - name: (*socket_cb)(int domain, int type, int protocol, void *opaque)
        type: int
      - name: "(*connect_cb)(int sockfd,\n                          const struct sockaddr
          *addr,\n                          int addrlen,\n                          const
          char *id,\n                          void *opaque)"
        type: int
      - name: (*closesocket_cb)(int sockfd, void *opaque)
        type: int
      - name: "(*open_cb)(const char *pathname,\n                       int flags,\n
          \                      mode_t mode,\n                       void *opaque)"
        type: int
      - name: "(*resolve_cb)(const char *node,\n                          const char
          *service,\n                          const struct addrinfo *hints,\n                          struct
          addrinfo **res,\n                          void *opaque)"
        type: int
      - name: "(*background_event_cb)(rd_kafka_t *rk,\n                                    rd_kafka_event_t
          *rkev,\n                                    void *opaque)"
        type: void
      - name: '*opaque'
        type: void
      - name: dummy
        type: int
      - name: admin
        type: "struct {\n                int request_timeout_ms; /* AdminOptions.request_timeout
          */\n        }"
      - name: mock
        type: "struct {\n                int broker_cnt; /**< Number of mock brokers
          */\n                int broker_rtt; /**< Broker RTT */\n        }"
      - name: ut
        type: "struct {\n                /**< Inject errors in ProduceResponse handler
          */\n                rd_kafka_resp_err_t (*handle_ProduceResponse)(\n                    rd_kafka_t
          *rk,\n                    int32_t brokerid,\n                    uint64_t
          msgid,\n                    rd_kafka_resp_err_t err);\n        }"
      - name: '*sw_name'
        type: char
      - name: '*sw_version'
        type: char
      - name: warn
        type: "struct {\n                /** Properties on (implicit pass-thru) default_topic_conf
          were\n                 *  overwritten by passing an explicit default_topic_conf.
          */\n                rd_bool_t default_topic_conf_overwritten;\n        }"
      item_type: struct
      name: rd_kafka_conf_s
      pos:
        line_end: 639
        line_start: 218
        source_file: /src/librdkafka/src/rdkafka_conf.h
    - fields:
      - name: hdr
        type: struct rd_kafka_anyconf_hdr
      - name: required_acks
        type: int
      - name: request_timeout_ms
        type: int32_t
      - name: message_timeout_ms
        type: int
      - name: "(*partitioner)(const rd_kafka_topic_t *rkt,\n                               const
          void *keydata,\n                               size_t keylen,\n                               int32_t
          partition_cnt,\n                               void *rkt_opaque,\n                               void
          *msg_opaque)"
        type: int32_t
      - name: '*partitioner_str'
        type: char
      - name: random_partitioner
        type: rd_bool_t
      - name: queuing_strategy
        type: int
      - name: (*msg_order_cmp)(const void *a, const void *b)
        type: int
      - name: compression_codec
        type: rd_kafka_compression_t
      - name: compression_level
        type: rd_kafka_complevel_t
      - name: produce_offset_report
        type: int
      - name: consume_callback_max_msgs
        type: int
      - name: auto_commit
        type: int
      - name: auto_commit_interval_ms
        type: int
      - name: auto_offset_reset
        type: int
      - name: '*offset_store_path'
        type: char
      - name: offset_store_sync_interval_ms
        type: int
      - name: offset_store_method
        type: rd_kafka_offset_method_t
      - name: '*opaque'
        type: void
      item_type: struct
      name: rd_kafka_topic_conf_s
      pos:
        line_end: 695
        line_start: 659
        source_file: /src/librdkafka/src/rdkafka_conf.h
    typedefs: []
    union: []
- function_names:
  - rd_interval_init
  - rd_interval
  - rd_interval_immediate
  - rd_interval0
  - rd_interval_reset
  - rd_interval_reset_to_now
  - rd_interval_reset_to_now_with_jitter
  - rd_interval_backoff
  - rd_interval_expedite
  - rd_interval_fixed
  - rd_interval_disable
  - rd_interval_disabled
  source_file: /src/librdkafka/src/rdinterval.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: ri_ts_last
        type: rd_ts_t
      - name: ri_fixed
        type: rd_ts_t
      - name: ri_backoff
        type: int
      item_type: struct
      name: rd_interval_s
      pos:
        line_end: 39
        line_start: 35
        source_file: /src/librdkafka/src/rdinterval.h
    typedefs: []
    union: []
- function_names:
  - rd_kafka_broker_fetch_backoff
  - rd_kafka_toppar_fetch_backoff
  - rd_kafka_fetch_preferred_replica_handle
  - rd_kafka_fetch_reply_handle_partition_error
  - rd_kafkap_Fetch_reply_tags_set_topic_cnt
  - rd_kafkap_Fetch_reply_tags_set_topic
  - rd_kafkap_Fetch_reply_tags_destroy
  - rd_kafkap_Fetch_reply_tags_partition_parse
  - rd_kafkap_Fetch_reply_tags_parse
  - rd_kafka_handle_Fetch_metadata_update
  - rd_kafka_fetch_reply_handle_partition
  - rd_kafka_fetch_reply_handle
  - rd_kafka_broker_fetch_reply
  - can_use_topic_ids
  - rd_kafka_broker_fetch_toppars
  - rd_kafka_toppar_fetch_decide_start_from_next_fetch_start
  - rd_kafka_toppar_fetch_decide_next_fetch_start_pos
  - rd_kafka_toppar_fetch_decide
  source_file: /src/librdkafka/src/rdkafka_fetcher.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: Partition
        type: int32_t
      - name: ErrorCode
        type: int16_t
      - name: HighwaterMarkOffset
        type: int64_t
      - name: LastStableOffset
        type: int64_t
      - name: LogStartOffset
        type: int64_t
      - name: MessageSetSize
        type: int32_t
      - name: PreferredReadReplica
        type: int32_t
      item_type: struct
      name: hdr
      pos:
        line_end: 525
        line_start: 517
        source_file: /src/librdkafka/src/rdkafka_fetcher.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_call_background_event_cb
  - rd_kafka_background_queue_serve
  - rd_kafka_background_thread_main
  - rd_kafka_background_thread_create
  source_file: /src/librdkafka/src/rdkafka_background.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdmurmur2.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_hexdump
  - rd_iov_print
  - rd_msghdr_print
  source_file: /src/librdkafka/src/rdlog.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - rd_ut_coverage
  - rd_ut_coverage_check
  - ut_tq_find_prev_pos
  - TAILQ_FOREACH
  - ut_tq_test
  - TAILQ_FOREACH
  - TAILQ_FOREACH_REVERSE
  - unittest_sysqueue
  - rd_ut_QueryPerformanceFrequency
  - rd_ut_QueryPerformanceCounter
  - unittest_rdclock
  - rd_unittest
  source_file: /src/librdkafka/src/rdunittest.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RD_UNITTEST_QPC_OVERRIDES
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/librdkafka/src/rdunittest.c
      type_or_value: '1'
    structs:
    - fields:
      - name: (ut_tq)
        type: TAILQ_ENTRY
      - name: v
        type: int
      item_type: struct
      name: ut_tq
      pos:
        line_end: 118
        line_start: 115
        source_file: /src/librdkafka/src/rdunittest.c
    - fields:
      - name: '*name'
        type: char
      - name: q[3]
        type: "struct {\n                int base; /**< Base value */\n                int
          cnt;  /**< Number of elements to add */\n                int step; /**<
          Value step */\n        }"
      - name: qcnt
        type: int
      - name: exp[16]
        type: int
      item_type: struct
      name: ut_tq_args
      pos:
        line_end: 131
        line_start: 122
        source_file: /src/librdkafka/src/rdunittest.c
    - fields:
      - name: '*name'
        type: char
      - name: (*call)(void)
        type: int
      item_type: struct
      name: "unittests[] = {\n            {\"sysqueue\", unittest_sysqueue},\n            {\"string\",
        unittest_string},\n            {\"map\", unittest_map},\n            {\"rdbuf\",
        unittest_rdbuf},\n            {\"rdvarint\", unittest_rdvarint},\n            {\"crc32c\",
        unittest_rd_crc32c},\n            {\"msg\", unittest_msg},\n            {\"murmurhash\",
        unittest_murmur2},\n            {\"fnv1a\", unittest_fnv1a},\n            {\"mock\",
        unittest_mock_cluster},\n#if WITH_HDRHISTOGRAM\n            {\"rdhdrhistogram\",
        unittest_rdhdrhistogram},\n#endif\n#ifdef _WIN32\n            {\"rdclock\",
        unittest_rdclock},\n#endif\n            {\"conf\", unittest_conf},\n            {\"broker\",
        unittest_broker},\n            {\"request\", unittest_request},\n#if WITH_SASL_OAUTHBEARER\n
        \           {\"sasl_oauthbearer\", unittest_sasl_oauthbearer},\n#endif\n            {\"aborted_txns\",
        unittest_aborted_txns},\n            {\"cgrp\", unittest_cgrp},\n#if WITH_SASL_SCRAM\n
        \           {\"scram\", unittest_scram},\n#endif\n            {\"assignors\",
        unittest_assignors},\n#if WITH_CURL\n            {\"http\", unittest_http},\n#endif\n#if
        WITH_OAUTHBEARER_OIDC\n            {\"sasl_oauthbearer_oidc\", unittest_sasl_oauthbearer_oidc},\n
        \           {\"sasl_oauthbearer_oidc_jwt_bearer\",\n             unittest_sasl_oauthbearer_oidc_jwt_bearer},\n
        \           {\"sasl_oauthbearer_oidc_assertion\",\n             unittest_sasl_oauthbearer_oidc_assertion},\n#endif\n
        \           {\"telemetry\", unittest_telemetry},\n            {\"telemetry_decode\",
        unittest_telemetry_decode},\n            {\"feature\", unittest_feature},\n
        \           {NULL}}"
      pos:
        line_end: 441
        line_start: 438
        source_file: /src/librdkafka/src/rdunittest.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_msgset_reader_init
  - rd_kafka_msgset_reader_decompress
  - rd_kafka_msgset_reader_msg_v0_1
  - rd_kafka_msgset_reader_msg_v2
  - rd_kafka_msgset_reader_msgs_v2
  - rd_kafka_msgset_reader_v2
  - rd_kafka_msgset_reader_peek_msg_version
  - rd_kafka_msgset_reader
  - rd_kafka_msgset_reader_postproc
  - rd_kafka_msgset_reader_run
  - rd_kafka_msgset_parse
  - rd_kafka_offset_cmp
  - rd_kafka_aborted_txn_cmp_by_pid
  - rd_kafka_aborted_txn_node_destroy
  - rd_kafka_aborted_txns_new
  - rd_kafka_aborted_txns_destroy
  - "rd_kafka_aborted_txn_start_offsets_t *\nrd_kafka_aborted_txns_offsets_for_pid(rd_kafka_aborted_txns_t
    *aborted_txns,\n                                      int64_t pid)"
  - rd_kafka_aborted_txns_next_offset
  - rd_kafka_aborted_txns_pop_offset
  - rd_kafka_aborted_txns_get_offset
  - rd_kafka_aborted_txns_add
  - rd_kafka_aborted_txns_sort
  - unittest_aborted_txns
  source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: BaseOffset
        type: int64_t
      - name: Length
        type: int32_t
      - name: PartitionLeaderEpoch
        type: int32_t
      - name: MagicByte
        type: int8_t
      - name: Crc
        type: int32_t
      - name: Attributes
        type: int16_t
      - name: LastOffsetDelta
        type: int32_t
      - name: BaseTimestamp
        type: int64_t
      - name: MaxTimestamp
        type: int64_t
      - name: PID
        type: int64_t
      - name: ProducerEpoch
        type: int16_t
      - name: BaseSequence
        type: int32_t
      - name: RecordCount
        type: int32_t
      item_type: struct
      name: msgset_v2_hdr
      pos:
        line_end: 105
        line_start: 91
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    - fields:
      - name: avl_node
        type: rd_avl_node_t
      - name: pid
        type: int64_t
      - name: offsets_idx
        type: int
      - name: offsets
        type: rd_list_t
      item_type: struct
      name: rd_kafka_aborted_txn_start_offsets_s
      pos:
        line_end: 119
        line_start: 114
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    - fields:
      - name: '*msetr_rkbuf'
        type: rd_kafka_buf_t
      - name: msetr_relative_offsets
        type: int
      - name: msetr_outer
        type: "struct {\n                int64_t offset; /**< Relative_offsets: outer
          message's\n                                 *   Offset (last offset) */\n
          \               rd_kafka_timestamp_type_t tstype; /**< Compressed\n                                                   *
          \  MessageSet's\n                                                   *   timestamp
          type. */\n                int64_t timestamp;                /**< ... timestamp*/\n
          \       }"
      - name: '*msetr_v2_hdr'
        type: struct msgset_v2_hdr
      - name: '*msetr_aborted_txns'
        type: rd_kafka_aborted_txns_t
      - name: '*msetr_tver'
        type: struct rd_kafka_toppar_ver
      - name: msetr_leader_epoch
        type: int32_t
      - name: msetr_broker_id
        type: int32_t
      - name: '*msetr_rkb'
        type: rd_kafka_broker_t
      - name: '*msetr_rktp'
        type: rd_kafka_toppar_t
      - name: msetr_msgcnt
        type: int
      - name: msetr_msg_bytes
        type: int64_t
      - name: msetr_rkq
        type: rd_kafka_q_t
      - name: '*msetr_par_rkq'
        type: rd_kafka_q_t
      - name: msetr_next_offset
        type: int64_t
      - name: msetr_ctrl_cnt
        type: int
      - name: msetr_aborted_cnt
        type: int
      - name: '*msetr_srcname'
        type: char
      - name: msetr_compression
        type: rd_kafka_compression_t
      item_type: struct
      name: rd_kafka_msgset_reader_s
      pos:
        line_end: 212
        line_start: 122
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    - fields:
      - name: Offset
        type: int64_t
      - name: MessageSize
        type: int32_t
      - name: Crc
        type: int32_t
      - name: MagicByte
        type: int8_t
      - name: Attributes
        type: int8_t
      - name: Timestamp
        type: int64_t
      item_type: struct
      name: hdr
      pos:
        line_end: 550
        line_start: 543
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    - fields:
      - name: Length
        type: int64_t
      - name: MsgAttributes
        type: int8_t
      - name: TimestampDelta
        type: int64_t
      - name: OffsetDelta
        type: int64_t
      - name: Offset
        type: int64_t
      - name: Key
        type: rd_kafkap_bytes_t
      - name: Value
        type: rd_kafkap_bytes_t
      - name: Headers
        type: rd_kafkap_bytes_t
      item_type: struct
      name: hdr
      pos:
        line_end: 727
        line_start: 718
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    - fields:
      - name: KeySize
        type: int64_t
      - name: Version
        type: int16_t
      - name: Type
        type: int16_t
      item_type: struct
      name: ctrl_data
      pos:
        line_end: 773
        line_start: 769
        source_file: /src/librdkafka/src/rdkafka_msgset_reader.c
    typedefs: []
    union: []
- function_names:
  - rd_kafka_toppar_version_new_barrier0
  - rd_kafka_toppar_version_new_barrier
  - rd_kafka_toppar_lag_handle_Offset
  - rd_kafka_toppar_consumer_lag_req
  - rd_kafka_toppar_consumer_lag_tmr_cb
  - rd_kafka_toppar_op_version_bump
  - rd_kafka_toppar_new0
  - rd_kafka_toppar_remove
  - rd_kafka_toppar_destroy_final
  - rd_kafka_toppar_set_fetch_state
  - rd_kafka_toppar_get0
  - rd_kafka_toppar_get2
  - rd_kafka_toppar_get_avail
  - rd_kafka_toppar_desired_get
  - rd_kafka_toppar_desired_link
  - rd_kafka_toppar_desired_unlink
  - rd_kafka_toppar_desired_add0
  - rd_kafka_toppar_desired_add
  - rd_kafka_toppar_desired_del
  - rd_kafka_toppar_enq_msg
  - rd_kafka_msgq_insert_msgq_before
  - rd_kafka_msgq_insert_msgq
  - rd_kafka_retry_msgq
  - rd_kafka_toppar_retry_msgq
  - rd_kafka_toppar_insert_msgq
  - rd_kafka_toppar_purge_internal_fetch_queue_maybe
  - rd_kafka_toppar_purge_and_disable_queues
  - rd_kafka_toppar_broker_migrate
  - rd_kafka_toppar_broker_leave_for_remove
  - rd_kafka_toppar_broker_delegate
  - rd_kafka_toppar_offset_commit_result
  - rd_kafka_toppar_next_offset_handle
  - rd_kafka_toppar_offset_fetch
  - rd_kafka_toppar_handle_Offset
  - rd_kafka_toppar_offset_retry
  - rd_kafka_toppar_offset_request
  - rd_kafka_toppar_fetch_start
  - rd_kafka_toppar_fetch_stopped
  - rd_kafka_toppar_fetch_stop
  - rd_kafka_toppar_seek
  - rd_kafka_toppar_pause_resume
  - rd_kafka_broker_consumer_toppar_serve
  - rd_kafka_toppar_op_serve
  - rd_kafka_toppar_op0
  - rd_kafka_toppar_op
  - rd_kafka_toppar_op_fetch_start
  - rd_kafka_toppar_op_fetch_stop
  - rd_kafka_toppar_op_seek
  - rd_kafka_toppar_op_pause_resume
  - rd_kafka_toppar_pause
  - rd_kafka_toppar_resume
  - rd_kafka_toppars_pause_resume
  - rd_kafka_toppar_enq_error
  - rd_kafka_toppar_broker
  - rd_kafka_toppar_leader_unavailable
  - rd_kafka_topic_partition_topic
  - rd_kafka_topic_partition_partition
  - rd_kafka_topic_partition_get
  - rd_kafka_topic_partition_list_grow
  - rd_kafka_topic_partition_list_init
  - rd_kafka_topic_partition_list_new
  - rd_kafka_topic_partition_new_with_topic_id
  - rd_kafka_topic_partition_new
  - rd_kafka_topic_partition_update
  - rd_kafka_topic_partition_copy
  - rd_kafka_topic_partition_copy_void
  - rd_kafka_topic_partition_new_from_rktp
  - rd_kafka_topic_partition_private_destroy
  - rd_kafka_topic_partition_destroy0
  - rd_kafka_topic_partition_get_leader_epoch
  - rd_kafka_topic_partition_set_leader_epoch
  - rd_kafka_topic_partition_get_current_leader_epoch
  - rd_kafka_topic_partition_set_topic_id
  - rd_kafka_topic_partition_get_topic_id
  - rd_kafka_topic_partition_set_current_leader_epoch
  - rd_kafka_topic_partition_set_from_fetch_pos
  - rd_kafka_topic_partition_set_metadata_from_rktp_stored
  - rd_kafka_topic_partition_list_clear
  - rd_kafka_topic_partition_destroy_free
  - rd_kafka_topic_partition_destroy
  - rd_kafka_topic_partition_list_destroy
  - rd_kafka_topic_partition_list_destroy_free
  - rd_kafka_topic_partition_list_add0
  - rd_kafka_topic_partition_list_add
  - rd_kafka_topic_partition_list_add_with_topic_id
  - rd_kafka_topic_partition_list_add_with_topic_name_and_id
  - rd_kafka_topic_partition_list_add_range
  - rd_kafka_topic_partition_list_upsert
  - rd_kafka_topic_partition_list_add_copy
  - rd_kafka_topic_partition_list_copy
  - rd_kafka_topic_partition_list_copy_opaque
  - rd_kafka_topic_partition_list_add_list
  - rd_kafka_topic_partition_list_cmp
  - rd_kafka_topic_partition_ensure_toppar
  - rd_kafka_topic_partition_cmp
  - rd_kafka_topic_partition_by_id_cmp
  - rd_kafka_topic_partition_by_id_cmp_opaque
  - rd_kafka_topic_partition_cmp_topic
  - rd_kafka_topic_partition_cmp_topic_id
  - rd_kafka_topic_partition_cmp_opaque
  - rd_kafka_topic_partition_hash
  - rd_kafka_topic_partition_hash_by_id
  - rd_kafka_topic_partition_list_find0
  - rd_kafka_topic_partition_list_find_by_id0
  - rd_kafka_topic_partition_list_find
  - rd_kafka_topic_partition_list_find_by_id
  - rd_kafka_topic_partition_list_find_idx
  - rd_kafka_topic_partition_list_find_idx_by_id
  - rd_kafka_topic_partition_list_find_topic_by_name
  - rd_kafka_topic_partition_list_find_topic_by_id
  - rd_kafka_topic_partition_list_del_by_idx
  - rd_kafka_topic_partition_list_del
  - rd_kafka_topic_partition_match
  - rd_kafka_topic_partition_list_sort
  - rd_kafka_topic_partition_list_sort_by_topic
  - rd_kafka_topic_partition_list_sort_by_topic_id
  - rd_kafka_topic_partition_list_set_offset
  - rd_kafka_topic_partition_list_reset_offsets
  - rd_kafka_topic_partition_list_set_offsets
  - rd_kafka_topic_partition_list_count_abs_offsets
  - rd_kafka_topic_partition_list_update_toppars
  - rd_kafka_topic_partition_list_get_leaders
  - rd_kafka_partition_leader_query_eonce_timeout_cb
  - rd_kafka_partition_leader_query_eonce_timer_cb
  - rd_kafka_topic_partition_list_query_leaders_async_worker
  - rd_kafka_topic_partition_list_query_leaders_async_worker_op_cb
  - rd_kafka_topic_partition_list_query_leaders_async
  - rd_kafka_topic_partition_list_query_leaders
  - rd_kafka_topic_partition_list_get_topics
  - rd_kafka_topic_partition_list_get_topic_names
  - rd_kafka_topic_partition_list_match
  - rd_kafka_topic_partition_list_log
  - rd_kafka_topic_partition_list_str
  - rd_kafka_topic_partition_list_update
  - rd_kafka_topic_partition_list_sum
  - rd_kafka_topic_partition_list_has_duplicates
  - rd_kafka_topic_partition_list_set_err
  - rd_kafka_topic_partition_list_get_err
  - rd_kafka_topic_partition_list_regex_cnt
  - rd_kafka_topic_partition_not_regex
  - rd_kafka_topic_partition_list_remove_regexes
  - rd_kafka_topic_partition_list_combine_regexes
  - rd_kafka_toppar_reset_base_msgid
  - rd_kafka_toppar_pid_change
  - rd_kafka_toppar_purge_queues
  - rd_kafka_purge_ua_toppar_queues
  - rd_kafka_partition_leader_destroy_free
  - rd_kafka_fetch_pos2str
  - rd_kafka_topic_partition_list_intersection0
  - RD_KAFKA_TPLIST_FOREACH
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_topic_partition_list_difference0
  - RD_KAFKA_TPLIST_FOREACH
  - RD_KAFKA_TPLIST_FOREACH
  - rd_kafka_topic_partition_list_union0
  - rd_kafka_topic_partition_list_intersection_by_name
  - rd_kafka_topic_partition_list_difference_by_name
  - rd_kafka_topic_partition_list_union_by_name
  - rd_kafka_topic_partition_list_intersection_by_id
  - rd_kafka_topic_partition_list_difference_by_id
  - rd_kafka_topic_partition_list_union_by_id
  source_file: /src/librdkafka/src/rdkafka_partition.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: "(const rd_kafka_topic_partition_t *,\n                    void *)"
      pos:
        line_end: 4740
        line_start: 4739
        source_file: /src/librdkafka/src/rdkafka_partition.c
      type: RD_MAP_TYPE
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_assignment.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*all'
        type: rd_kafka_topic_partition_list_t
      - name: '*pending'
        type: rd_kafka_topic_partition_list_t
      - name: '*queried'
        type: rd_kafka_topic_partition_list_t
      - name: '*removed'
        type: rd_kafka_topic_partition_list_t
      - name: started_cnt
        type: int
      - name: wait_stop_cnt
        type: int
      - name: version
        type: int64_t
      item_type: struct
      name: rd_kafka_assignment_s
      pos:
        line_end: 53
        line_start: 32
        source_file: /src/librdkafka/src/rdkafka_assignment.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/rdkafka_cert.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: type
        type: rd_kafka_cert_type_t
      - name: encoding
        type: rd_kafka_cert_enc_t
      - name: refcnt
        type: rd_refcnt_t
      item_type: struct
      name: rd_kafka_cert_s
      pos:
        line_end: 50
        line_start: 40
        source_file: /src/librdkafka/src/rdkafka_cert.h
    typedefs: []
    union: []
- function_names:
  - pb_encode_delimited
  - pb_encode_nullterminated
  source_file: /src/librdkafka/src/nanopb/pb_encode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PB_ENCODE_DELIMITED
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/librdkafka/src/nanopb/pb_encode.h
      type_or_value: 0x02U
    - item_type: preproc_def
      name: PB_ENCODE_NULLTERMINATED
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/nanopb/pb_encode.h
      type_or_value: 0x04U
    - item_type: preproc_def
      name: PB_OSTREAM_SIZING
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/librdkafka/src/nanopb/pb_encode.h
      type_or_value: '{0,0,0,0,0}'
    - item_type: preproc_def
      name: PB_OSTREAM_SIZING
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/librdkafka/src/nanopb/pb_encode.h
      type_or_value: '{0,0,0,0}'
    structs:
    - fields:
      - name: '*state'
        type: void
      - name: max_size
        type: size_t
      - name: bytes_written
        type: size_t
      item_type: struct
      name: pb_ostream_s
      pos:
        line_end: 46
        line_start: 26
        source_file: /src/librdkafka/src/nanopb/pb_encode.h
    typedefs: []
    union: []
- function_names:
  - checkreturn::buf_read
  - checkreturn::pb_read
  - checkreturn::pb_readbyte
  - pb_istream_from_buffer
  - checkreturn::pb_decode_varint32_eof
  - checkreturn::pb_decode_varint32
  - checkreturn::pb_decode_varint
  - checkreturn::pb_skip_varint
  - checkreturn::pb_skip_string
  - checkreturn::pb_decode_tag
  - checkreturn::pb_skip_field
  - checkreturn::read_raw_value
  - checkreturn::pb_make_string_substream
  - checkreturn::pb_close_string_substream
  - checkreturn::decode_basic_field
  - checkreturn::decode_static_field
  - checkreturn::allocate_field
  - initialize_pointer_field
  - checkreturn::decode_pointer_field
  - checkreturn::decode_callback_field
  - checkreturn::decode_field
  - checkreturn::default_extension_decoder
  - checkreturn::decode_extension
  - pb_field_set_to_default
  - pb_message_set_to_defaults
  - checkreturn::pb_decode_inner
  - checkreturn::pb_decode_ex
  - checkreturn::pb_decode
  - pb_release_union_field
  - pb_release_single_field
  - pb_release
  - pb_release
  - pb_decode_bool
  - pb_decode_svarint
  - pb_decode_fixed32
  - pb_decode_fixed64
  - checkreturn::pb_dec_bool
  - checkreturn::pb_dec_varint
  - checkreturn::pb_dec_bytes
  - checkreturn::pb_dec_string
  - checkreturn::pb_dec_submessage
  - checkreturn::pb_dec_fixed_length_bytes
  - pb_decode_double_as_float
  source_file: /src/librdkafka/src/nanopb/pb_decode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: checkreturn
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: pb_int64_t
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
      type_or_value: int32_t
    - item_type: preproc_def
      name: pb_uint64_t
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
      type_or_value: uint32_t
    - item_type: preproc_def
      name: pb_int64_t
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
      type_or_value: int64_t
    - item_type: preproc_def
      name: pb_uint64_t
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
      type_or_value: uint64_t
    structs:
    - fields:
      - name: bitfield[(PB_MAX_REQUIRED_FIELDS + 31) / 32]
        type: uint32_t
      item_type: struct
      name: pb_fields_seen_t
      pos:
        line_end: 61
        line_start: 59
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
    typedefs: []
    union:
    - fields:
      - name: '*state'
        type: void
      - name: '*c_state'
        type: void
      item_type: union
      name: state
      pos:
        line_end: 150
        line_start: 147
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
    - fields:
      - name: fixed32
        type: uint32_t
      - name: bytes[4]
        type: pb_byte_t
      item_type: union
      name: u
      pos:
        line_end: 1373
        line_start: 1370
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
    - fields:
      - name: fixed64
        type: uint64_t
      - name: bytes[8]
        type: pb_byte_t
      item_type: union
      name: u
      pos:
        line_end: 1396
        line_start: 1393
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: out
      pos:
        line_end: 1667
        line_start: 1667
        source_file: /src/librdkafka/src/nanopb/pb_decode.c
- function_names:
  - checkreturn::buf_write
  - pb_ostream_from_buffer
  - checkreturn::pb_write
  - safe_read_bool
  - checkreturn::encode_array
  - checkreturn::pb_check_proto3_default_value
  - checkreturn::encode_basic_field
  - checkreturn::encode_callback_field
  - checkreturn::encode_field
  - checkreturn::default_extension_encoder
  - checkreturn::encode_extension_field
  - checkreturn::pb_encode
  - checkreturn::pb_encode_ex
  - pb_get_encoded_size
  - checkreturn::pb_encode_varint_32
  - checkreturn::pb_encode_varint
  - checkreturn::pb_encode_svarint
  - checkreturn::pb_encode_fixed32
  - checkreturn::pb_encode_fixed64
  - checkreturn::pb_encode_tag
  - pb_encode_tag_for_field
  - checkreturn::pb_encode_string
  - checkreturn::pb_encode_submessage
  - checkreturn::pb_enc_bool
  - checkreturn::pb_enc_varint
  - checkreturn::pb_enc_fixed
  - checkreturn::pb_enc_bytes
  - checkreturn::pb_enc_string
  - checkreturn::pb_enc_submessage
  - checkreturn::pb_enc_fixed_length_bytes
  - pb_encode_float_as_double
  source_file: /src/librdkafka/src/nanopb/pb_encode.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: checkreturn
      pos:
        line_end: 17
        line_start: 16
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
      type_or_value: __attribute__((warn_unused_result))
    - item_type: preproc_def
      name: pb_int64_t
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
      type_or_value: int32_t
    - item_type: preproc_def
      name: pb_uint64_t
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
      type_or_value: uint32_t
    - item_type: preproc_def
      name: pb_int64_t
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
      type_or_value: int64_t
    - item_type: preproc_def
      name: pb_uint64_t
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
      type_or_value: uint64_t
    structs: []
    typedefs: []
    union:
    - fields:
      - name: f
        type: float
      - name: i
        type: uint32_t
      item_type: union
      name: in
      pos:
        line_end: 955
        line_start: 955
        source_file: /src/librdkafka/src/nanopb/pb_encode.c
- function_names:
  - PB_UNUSED
  - PB_PROGMEM_READU32
  - PB_PROGMEM_READU32
  - PB_STATIC_ASSERT
  - PB_STATIC_ASSERT
  - PB_STATIC_ASSERT
  - PB_STATIC_ASSERT_MSG
  - PB_STATIC_ASSERT_MSG_
  - PB_STATIC_ASSERT
  - PB_STATIC_ASSERT
  - PB_ATYPE
  - PB_HTYPE
  - PB_LTYPE
  - PB_LTYPE_IS_SUBMSG
  - PB_BYTES_ARRAY_T
  - PB_BYTES_ARRAY_T_ALLOCSIZE
  - pb_realloc
  - pb_free
  - pb_membersize
  - pb_arraysize
  - pb_delta
  - PB_EXPAND
  - PB_BIND
  - PB_GEN_FIELD_COUNT
  - PB_GEN_REQ_FIELD_COUNT
  - PB_GEN_LARGEST_TAG
  - PB_GEN_FIELD_INFO_1
  - PB_GEN_FIELD_INFO_2
  - PB_GEN_FIELD_INFO_4
  - PB_GEN_FIELD_INFO_8
  - PB_GEN_FIELD_INFO_AUTO
  - PB_FIELDINFO_AUTO2
  - PB_FIELDINFO_AUTO3
  - PB_GEN_FIELD_INFO_ASSERT_1
  - PB_GEN_FIELD_INFO_ASSERT_2
  - PB_GEN_FIELD_INFO_ASSERT_4
  - PB_GEN_FIELD_INFO_ASSERT_8
  - PB_GEN_FIELD_INFO_ASSERT_AUTO
  - PB_FIELDINFO_ASSERT_AUTO2
  - PB_FIELDINFO_ASSERT_AUTO3
  - PB_DATA_OFFSET_STATIC
  - PB_DATA_OFFSET_POINTER
  - PB_DATA_OFFSET_CALLBACK
  - PB_DO_PB_HTYPE_REQUIRED
  - PB_DO_PB_HTYPE_SINGULAR
  - PB_DO_PB_HTYPE_ONEOF
  - PB_DO_PB_HTYPE_OPTIONAL
  - PB_DO_PB_HTYPE_REPEATED
  - PB_DO_PB_HTYPE_FIXARRAY
  - PB_SIZE_OFFSET_STATIC
  - PB_SIZE_OFFSET_POINTER
  - PB_SIZE_OFFSET_CALLBACK
  - PB_SO_PB_HTYPE_REQUIRED
  - PB_SO_PB_HTYPE_SINGULAR
  - PB_SO_PB_HTYPE_ONEOF
  - PB_SO_PB_HTYPE_ONEOF2
  - PB_SO_PB_HTYPE_ONEOF3
  - PB_SO_PB_HTYPE_OPTIONAL
  - PB_SO_PB_HTYPE_REPEATED
  - PB_SO_PB_HTYPE_FIXARRAY
  - PB_SO_PTR_PB_HTYPE_REQUIRED
  - PB_SO_PTR_PB_HTYPE_SINGULAR
  - PB_SO_PTR_PB_HTYPE_ONEOF
  - PB_SO_PTR_PB_HTYPE_OPTIONAL
  - PB_SO_PTR_PB_HTYPE_REPEATED
  - PB_SO_PTR_PB_HTYPE_FIXARRAY
  - PB_SO_CB_PB_HTYPE_REQUIRED
  - PB_SO_CB_PB_HTYPE_SINGULAR
  - PB_SO_CB_PB_HTYPE_ONEOF
  - PB_SO_CB_PB_HTYPE_OPTIONAL
  - PB_SO_CB_PB_HTYPE_REPEATED
  - PB_SO_CB_PB_HTYPE_FIXARRAY
  - PB_ARRAY_SIZE_STATIC
  - PB_ARRAY_SIZE_POINTER
  - PB_ARRAY_SIZE_CALLBACK
  - PB_AS_PB_HTYPE_REQUIRED
  - PB_AS_PB_HTYPE_SINGULAR
  - PB_AS_PB_HTYPE_OPTIONAL
  - PB_AS_PB_HTYPE_ONEOF
  - PB_AS_PB_HTYPE_REPEATED
  - PB_AS_PB_HTYPE_FIXARRAY
  - PB_AS_PTR_PB_HTYPE_REQUIRED
  - PB_AS_PTR_PB_HTYPE_SINGULAR
  - PB_AS_PTR_PB_HTYPE_OPTIONAL
  - PB_AS_PTR_PB_HTYPE_ONEOF
  - PB_AS_PTR_PB_HTYPE_REPEATED
  - PB_AS_PTR_PB_HTYPE_FIXARRAY
  - PB_DATA_SIZE_STATIC
  - PB_DATA_SIZE_POINTER
  - PB_DATA_SIZE_CALLBACK
  - PB_DS_PB_HTYPE_REQUIRED
  - PB_DS_PB_HTYPE_SINGULAR
  - PB_DS_PB_HTYPE_OPTIONAL
  - PB_DS_PB_HTYPE_ONEOF
  - PB_DS_PB_HTYPE_REPEATED
  - PB_DS_PB_HTYPE_FIXARRAY
  - PB_DS_PTR_PB_HTYPE_REQUIRED
  - PB_DS_PTR_PB_HTYPE_SINGULAR
  - PB_DS_PTR_PB_HTYPE_OPTIONAL
  - PB_DS_PTR_PB_HTYPE_ONEOF
  - PB_DS_PTR_PB_HTYPE_REPEATED
  - PB_DS_PTR_PB_HTYPE_FIXARRAY
  - PB_DS_CB_PB_HTYPE_REQUIRED
  - PB_DS_CB_PB_HTYPE_SINGULAR
  - PB_DS_CB_PB_HTYPE_OPTIONAL
  - PB_DS_CB_PB_HTYPE_ONEOF
  - PB_DS_CB_PB_HTYPE_REPEATED
  - PB_DS_CB_PB_HTYPE_FIXARRAY
  - PB_ONEOF_NAME
  - PB_ONEOF_NAME_UNION
  - PB_ONEOF_NAME_MEMBER
  - PB_ONEOF_NAME_FULL
  - PB_GEN_SUBMSG_INFO
  - PB_SUBMSG_INFO_REQUIRED
  - PB_SUBMSG_INFO_SINGULAR
  - PB_SUBMSG_INFO_OPTIONAL
  - PB_SUBMSG_INFO_ONEOF
  - PB_SUBMSG_INFO_ONEOF2
  - PB_SUBMSG_INFO_ONEOF3
  - PB_SUBMSG_INFO_REPEATED
  - PB_SUBMSG_INFO_FIXARRAY
  - PB_SI_PB_LTYPE_MESSAGE
  - PB_SI_PB_LTYPE_MSG_W_CB
  - PB_SUBMSG_DESCRIPTOR
  - PB_FIELDINFO_1
  - PB_FIELDINFO_2
  - PB_FIELDINFO_4
  - PB_FIELDINFO_8
  - PB_FITS
  - PB_FIELDINFO_ASSERT_1
  - PB_FIELDINFO_ASSERT_2
  - PB_FIELDINFO_ASSERT_4
  - PB_FIELDINFO_ASSERT_8
  - PB_FIELDINFO_ASSERT_4
  - PB_FIELDINFO_ASSERT_8
  - PB_FIELDINFO_WIDTH_AUTO
  - PB_FI_WIDTH_PB_ATYPE_STATIC
  - PB_FI_WIDTH_PB_ATYPE_POINTER
  - PB_FI_WIDTH_PB_ATYPE_CALLBACK
  - PB_FI_WIDTH_PB_HTYPE_REQUIRED
  - PB_FI_WIDTH_PB_HTYPE_SINGULAR
  - PB_FI_WIDTH_PB_HTYPE_OPTIONAL
  - PB_FI_WIDTH_PB_HTYPE_ONEOF
  - PB_FI_WIDTH_PB_HTYPE_REPEATED
  - PB_FI_WIDTH_PB_HTYPE_FIXARRAY
  - PB_SET_ERROR
  - PB_GET_ERROR
  - PB_SET_ERROR
  - PB_GET_ERROR
  - PB_RETURN_ERROR
  source_file: /src/librdkafka/src/nanopb/pb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NANOPB_VERSION
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '"nanopb-0.4.8-dev"'
    - item_type: preproc_def
      name: pb_packed
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: __attribute__((packed))
    - item_type: preproc_def
      name: PB_PACKED_STRUCT_START
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: _Pragma("pack(push, 1)")
    - item_type: preproc_def
      name: PB_PACKED_STRUCT_END
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: _Pragma("pack(pop)")
    - item_type: preproc_def
      name: PB_PACKED_STRUCT_START
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: __pragma(pack(push, 1))
    - item_type: preproc_def
      name: PB_PACKED_STRUCT_END
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: __pragma(pack(pop))
    - item_type: preproc_def
      name: PB_LITTLE_ENDIAN_8BIT
      pos:
        line_end: 137
        line_start: 136
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_PROGMEM
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PROGMEM
    - item_type: preproc_def
      name: PB_MAX_REQUIRED_FIELDS
      pos:
        line_end: 204
        line_start: 203
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '64'
    - item_type: preproc_def
      name: PB_LTYPE_BOOL
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x00U '
    - item_type: preproc_def
      name: PB_LTYPE_VARINT
      pos:
        line_end: 229
        line_start: 228
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x01U '
    - item_type: preproc_def
      name: PB_LTYPE_UVARINT
      pos:
        line_end: 230
        line_start: 229
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x02U '
    - item_type: preproc_def
      name: PB_LTYPE_SVARINT
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x03U '
    - item_type: preproc_def
      name: PB_LTYPE_FIXED32
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x04U '
    - item_type: preproc_def
      name: PB_LTYPE_FIXED64
      pos:
        line_end: 233
        line_start: 232
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '0x05U '
    - item_type: preproc_def
      name: PB_LTYPE_LAST_PACKABLE
      pos:
        line_end: 236
        line_start: 235
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x05U
    - item_type: preproc_def
      name: PB_LTYPE_BYTES
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x06U
    - item_type: preproc_def
      name: PB_LTYPE_STRING
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x07U
    - item_type: preproc_def
      name: PB_LTYPE_SUBMESSAGE
      pos:
        line_end: 248
        line_start: 247
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x08U
    - item_type: preproc_def
      name: PB_LTYPE_SUBMSG_W_CB
      pos:
        line_end: 253
        line_start: 252
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x09U
    - item_type: preproc_def
      name: PB_LTYPE_EXTENSION
      pos:
        line_end: 257
        line_start: 256
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x0AU
    - item_type: preproc_def
      name: PB_LTYPE_FIXED_LENGTH_BYTES
      pos:
        line_end: 263
        line_start: 262
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x0BU
    - item_type: preproc_def
      name: PB_LTYPES_COUNT
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x0CU
    - item_type: preproc_def
      name: PB_LTYPE_MASK
      pos:
        line_end: 267
        line_start: 266
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x0FU
    - item_type: preproc_def
      name: PB_HTYPE_REQUIRED
      pos:
        line_end: 271
        line_start: 270
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: PB_HTYPE_OPTIONAL
      pos:
        line_end: 272
        line_start: 271
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: PB_HTYPE_SINGULAR
      pos:
        line_end: 273
        line_start: 272
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x10U
    - item_type: preproc_def
      name: PB_HTYPE_REPEATED
      pos:
        line_end: 274
        line_start: 273
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: PB_HTYPE_FIXARRAY
      pos:
        line_end: 275
        line_start: 274
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x20U
    - item_type: preproc_def
      name: PB_HTYPE_ONEOF
      pos:
        line_end: 276
        line_start: 275
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x30U
    - item_type: preproc_def
      name: PB_HTYPE_MASK
      pos:
        line_end: 277
        line_start: 276
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x30U
    - item_type: preproc_def
      name: PB_ATYPE_STATIC
      pos:
        line_end: 281
        line_start: 280
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x00U
    - item_type: preproc_def
      name: PB_ATYPE_POINTER
      pos:
        line_end: 282
        line_start: 281
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x80U
    - item_type: preproc_def
      name: PB_ATYPE_CALLBACK
      pos:
        line_end: 283
        line_start: 282
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0x40U
    - item_type: preproc_def
      name: PB_ATYPE_MASK
      pos:
        line_end: 284
        line_start: 283
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: 0xC0U
    - item_type: preproc_def
      name: PB_SIZE_MAX
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: ((pb_size_t)-1)
    - item_type: preproc_def
      name: pb_extension_init_zero
      pos:
        line_end: 472
        line_start: 471
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '{NULL,NULL,NULL,false}'
    - item_type: preproc_def
      name: PB_PROTO_HEADER_VERSION
      pos:
        line_end: 486
        line_start: 485
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '40'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_BOOL
      pos:
        line_end: 824
        line_start: 823
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_BYTES
      pos:
        line_end: 825
        line_start: 824
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_DOUBLE
      pos:
        line_end: 826
        line_start: 825
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_ENUM
      pos:
        line_end: 827
        line_start: 826
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_UENUM
      pos:
        line_end: 828
        line_start: 827
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_FIXED32
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_FIXED64
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_FLOAT
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_INT32
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_INT64
      pos:
        line_end: 833
        line_start: 832
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_MESSAGE
      pos:
        line_end: 834
        line_start: 833
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_MSG_W_CB
      pos:
        line_end: 835
        line_start: 834
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_SFIXED32
      pos:
        line_end: 836
        line_start: 835
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_SFIXED64
      pos:
        line_end: 837
        line_start: 836
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_SINT32
      pos:
        line_end: 838
        line_start: 837
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_SINT64
      pos:
        line_end: 839
        line_start: 838
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_STRING
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_UINT32
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_UINT64
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_EXTENSION
      pos:
        line_end: 843
        line_start: 842
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: PB_FI_WIDTH_PB_LTYPE_FIXED_LENGTH_BYTES
      pos:
        line_end: 844
        line_start: 843
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: PB_LTYPE_MAP_BOOL
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_BOOL
    - item_type: preproc_def
      name: PB_LTYPE_MAP_BYTES
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_BYTES
    - item_type: preproc_def
      name: PB_LTYPE_MAP_DOUBLE
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED64
    - item_type: preproc_def
      name: PB_LTYPE_MAP_ENUM
      pos:
        line_end: 850
        line_start: 849
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_VARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_UENUM
      pos:
        line_end: 851
        line_start: 850
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_UVARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_FIXED32
      pos:
        line_end: 852
        line_start: 851
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED32
    - item_type: preproc_def
      name: PB_LTYPE_MAP_FIXED64
      pos:
        line_end: 853
        line_start: 852
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED64
    - item_type: preproc_def
      name: PB_LTYPE_MAP_FLOAT
      pos:
        line_end: 854
        line_start: 853
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED32
    - item_type: preproc_def
      name: PB_LTYPE_MAP_INT32
      pos:
        line_end: 855
        line_start: 854
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_VARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_INT64
      pos:
        line_end: 856
        line_start: 855
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_VARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_MESSAGE
      pos:
        line_end: 857
        line_start: 856
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_SUBMESSAGE
    - item_type: preproc_def
      name: PB_LTYPE_MAP_MSG_W_CB
      pos:
        line_end: 858
        line_start: 857
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_SUBMSG_W_CB
    - item_type: preproc_def
      name: PB_LTYPE_MAP_SFIXED32
      pos:
        line_end: 859
        line_start: 858
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED32
    - item_type: preproc_def
      name: PB_LTYPE_MAP_SFIXED64
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED64
    - item_type: preproc_def
      name: PB_LTYPE_MAP_SINT32
      pos:
        line_end: 861
        line_start: 860
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_SVARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_SINT64
      pos:
        line_end: 862
        line_start: 861
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_SVARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_STRING
      pos:
        line_end: 863
        line_start: 862
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_STRING
    - item_type: preproc_def
      name: PB_LTYPE_MAP_UINT32
      pos:
        line_end: 864
        line_start: 863
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_UVARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_UINT64
      pos:
        line_end: 865
        line_start: 864
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_UVARINT
    - item_type: preproc_def
      name: PB_LTYPE_MAP_EXTENSION
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_EXTENSION
    - item_type: preproc_def
      name: PB_LTYPE_MAP_FIXED_LENGTH_BYTES
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_LTYPE_FIXED_LENGTH_BYTES
    - item_type: preproc_def
      name: PB_CONSTEXPR
      pos:
        line_end: 897
        line_start: 896
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: constexpr
    - item_type: preproc_def
      name: PB_INLINE_CONSTEXPR
      pos:
        line_end: 903
        line_start: 902
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: inline constexpr
    - item_type: preproc_def
      name: PB_INLINE_CONSTEXPR
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/librdkafka/src/nanopb/pb.h
      type_or_value: PB_CONSTEXPR
    structs:
    - fields:
      - name: '*field_info'
        type: uint32_t
      - name: '* const * submsg_info'
        type: pb_msgdesc_t
      - name: '*default_value'
        type: pb_byte_t
      - name: (*field_callback)(pb_istream_t *istream, pb_ostream_t *ostream, const
          pb_field_iter_t *field)
        type: bool
      - name: field_count
        type: pb_size_t
      - name: required_field_count
        type: pb_size_t
      - name: largest_tag
        type: pb_size_t
      item_type: struct
      name: pb_msgdesc_s
      pos:
        line_end: 328
        line_start: 318
        source_file: /src/librdkafka/src/nanopb/pb.h
    - fields:
      - name: '*descriptor'
        type: pb_msgdesc_t
      - name: '*message'
        type: void
      - name: index
        type: pb_size_t
      - name: field_info_index
        type: pb_size_t
      - name: required_field_index
        type: pb_size_t
      - name: submessage_index
        type: pb_size_t
      - name: tag
        type: pb_size_t
      - name: data_size
        type: pb_size_t
      - name: array_size
        type: pb_size_t
      - name: type
        type: pb_type_t
      - name: '*pField'
        type: void
      - name: '*pData'
        type: void
      - name: '*pSize'
        type: void
      - name: '*submsg_desc'
        type: pb_msgdesc_t
      item_type: struct
      name: pb_field_iter_s
      pos:
        line_end: 350
        line_start: 331
        source_file: /src/librdkafka/src/nanopb/pb.h
    - fields:
      - name: size
        type: pb_size_t
      - name: bytes[1]
        type: pb_byte_t
      item_type: struct
      name: pb_bytes_array_s
      pos:
        line_end: 376
        line_start: 373
        source_file: /src/librdkafka/src/nanopb/pb.h
    - fields:
      - name: funcs
        type: "union {\n        bool (*decode)(pb_istream_t *stream, const pb_field_t
          *field, void **arg);\n        bool (*encode)(pb_ostream_t *stream, const
          pb_field_t *field, void * const *arg);\n    }"
      - name: '*arg'
        type: void
      item_type: struct
      name: pb_callback_s
      pos:
        line_end: 409
        line_start: 398
        source_file: /src/librdkafka/src/nanopb/pb.h
    - fields:
      - name: "(*decode)(pb_istream_t *stream, pb_extension_t *extension,\n                   uint32_t
          tag, pb_wire_type_t wire_type)"
        type: bool
      - name: (*encode)(pb_ostream_t *stream, const pb_extension_t *extension)
        type: bool
      - name: '*arg'
        type: void
      item_type: struct
      name: pb_extension_type_s
      pos:
        line_end: 450
        line_start: 430
        source_file: /src/librdkafka/src/nanopb/pb.h
    - fields:
      - name: '*type'
        type: pb_extension_type_t
      - name: '*dest'
        type: void
      - name: '*next'
        type: pb_extension_t
      - name: found
        type: bool
      item_type: struct
      name: pb_extension_s
      pos:
        line_end: 469
        line_start: 452
        source_file: /src/librdkafka/src/nanopb/pb.h
    typedefs:
    - item_type: typedef
      name: pb_type_t
      pos:
        line_end: 222
        line_start: 222
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: uint_least8_t
    - item_type: typedef
      name: pb_size_t
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: uint32_t
    - item_type: typedef
      name: pb_ssize_t
      pos:
        line_end: 296
        line_start: 296
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: int32_t
    - item_type: typedef
      name: pb_size_t
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: uint_least16_t
    - item_type: typedef
      name: pb_ssize_t
      pos:
        line_end: 299
        line_start: 299
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: int_least16_t
    - item_type: typedef
      name: pb_byte_t
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: uint_least8_t
    - item_type: typedef
      name: pb_istream_t
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_istream_s
    - item_type: typedef
      name: pb_ostream_t
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_ostream_s
    - item_type: typedef
      name: pb_field_iter_t
      pos:
        line_end: 312
        line_start: 312
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_field_iter_s
    - item_type: typedef
      name: pb_msgdesc_t
      pos:
        line_end: 317
        line_start: 317
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_msgdesc_s
    - item_type: typedef
      name: pb_field_t
      pos:
        line_end: 353
        line_start: 353
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_field_iter_t
    - item_type: typedef
      name: pb_bytes_array_t
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_bytes_array_s
    - item_type: typedef
      name: pb_callback_t
      pos:
        line_end: 397
        line_start: 397
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_callback_s
    - item_type: typedef
      name: pb_extension_type_t
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_extension_type_s
    - item_type: typedef
      name: pb_extension_t
      pos:
        line_end: 429
        line_start: 429
        source_file: /src/librdkafka/src/nanopb/pb.h
      type: pb_extension_s
    union: []
- function_names: []
  source_file: /src/librdkafka/src/nanopb/pb_common.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - pb_decode_noinit
  - pb_decode_delimited
  - pb_decode_delimited_noinit
  - pb_decode_nullterminated
  source_file: /src/librdkafka/src/nanopb/pb_decode.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PB_ISTREAM_EMPTY
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: '{0,0,0,0}'
    - item_type: preproc_def
      name: PB_ISTREAM_EMPTY
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: '{0,0,0}'
    - item_type: preproc_def
      name: PB_DECODE_NOINIT
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: 0x01U
    - item_type: preproc_def
      name: PB_DECODE_DELIMITED
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: 0x02U
    - item_type: preproc_def
      name: PB_DECODE_NULLTERMINATED
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: 0x04U
    - item_type: preproc_def
      name: pb_decode_varint
      pos:
        line_end: 152
        line_start: 151
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
      type_or_value: pb_decode_varint32
    structs:
    - fields:
      - name: '*state'
        type: void
      - name: bytes_left
        type: size_t
      item_type: struct
      name: pb_istream_s
      pos:
        line_end: 45
        line_start: 27
        source_file: /src/librdkafka/src/nanopb/pb_decode.h
    typedefs: []
    union: []
- function_names:
  - load_descriptor_values
  - advance_iterator
  - pb_field_iter_begin
  - pb_field_iter_begin_extension
  - pb_field_iter_next
  - pb_field_iter_find
  - pb_field_iter_find_extension
  - pb_const_cast
  - pb_field_iter_begin_const
  - pb_field_iter_begin_extension_const
  - pb_default_field_callback
  - pb_validate_utf8
  source_file: /src/librdkafka/src/nanopb/pb_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union:
    - fields:
      - name: '*p1'
        type: void
      - name: '*p2'
        type: void
      item_type: union
      name: t
      pos:
        line_end: 284
        line_start: 281
        source_file: /src/librdkafka/src/nanopb/pb_common.c
- function_names:
  - opentelemetry_proto_metrics_v1_MetricsData_FIELDLIST
  - opentelemetry_proto_metrics_v1_ResourceMetrics_FIELDLIST
  - opentelemetry_proto_metrics_v1_ScopeMetrics_FIELDLIST
  - opentelemetry_proto_metrics_v1_Metric_FIELDLIST
  - opentelemetry_proto_metrics_v1_Gauge_FIELDLIST
  - opentelemetry_proto_metrics_v1_Sum_FIELDLIST
  - opentelemetry_proto_metrics_v1_Histogram_FIELDLIST
  - opentelemetry_proto_metrics_v1_ExponentialHistogram_FIELDLIST
  - opentelemetry_proto_metrics_v1_Summary_FIELDLIST
  - opentelemetry_proto_metrics_v1_NumberDataPoint_FIELDLIST
  - opentelemetry_proto_metrics_v1_HistogramDataPoint_FIELDLIST
  - opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_FIELDLIST
  - opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_FIELDLIST
  - opentelemetry_proto_metrics_v1_SummaryDataPoint_FIELDLIST
  - opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_FIELDLIST
  - opentelemetry_proto_metrics_v1_Exemplar_FIELDLIST
  source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
  types:
    enum:
    - enumerators:
      - name: opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_UNSPECIFIED
        value: '0'
      - name: opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_CUMULATIVE
        value: '2'
      - name: opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_DELTA
        value: '1'
      item_type: enum
      name: _opentelemetry_proto_metrics_v1_AggregationTemporality
      pos:
        line_end: 81
        line_start: 17
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - enumerators:
      - name: opentelemetry_proto_metrics_v1_DataPointFlags_DATA_POINT_FLAGS_DO_NOT_USE
        value: '0'
      - name: opentelemetry_proto_metrics_v1_DataPointFlags_DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK
        value: '1'
      item_type: enum
      name: _opentelemetry_proto_metrics_v1_DataPointFlags
      pos:
        line_end: 97
        line_start: 89
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    preproc_defs:
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN
      pos:
        line_end: 608
        line_start: 607
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_UNSPECIFIED
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_AggregationTemporality_MAX
      pos:
        line_end: 609
        line_start: 608
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_CUMULATIVE
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_AggregationTemporality_ARRAYSIZE
      pos:
        line_end: 610
        line_start: 609
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: ((opentelemetry_proto_metrics_v1_AggregationTemporality)(opentelemetry_proto_metrics_v1_AggregationTemporality_AGGREGATION_TEMPORALITY_CUMULATIVE+1))
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_DataPointFlags_MIN
      pos:
        line_end: 612
        line_start: 611
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_DataPointFlags_DATA_POINT_FLAGS_DO_NOT_USE
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_DataPointFlags_MAX
      pos:
        line_end: 613
        line_start: 612
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_DataPointFlags_DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK
    - item_type: preproc_def
      name: _opentelemetry_proto_metrics_v1_DataPointFlags_ARRAYSIZE
      pos:
        line_end: 614
        line_start: 613
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: ((opentelemetry_proto_metrics_v1_DataPointFlags)(opentelemetry_proto_metrics_v1_DataPointFlags_DATA_POINT_FLAGS_NO_RECORDED_VALUE_MASK+1))
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_aggregation_temporality_ENUMTYPE
      pos:
        line_end: 621
        line_start: 620
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_AggregationTemporality
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_aggregation_temporality_ENUMTYPE
      pos:
        line_end: 623
        line_start: 622
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_AggregationTemporality
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_aggregation_temporality_ENUMTYPE
      pos:
        line_end: 625
        line_start: 624
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_AggregationTemporality
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_init_default
      pos:
        line_end: 637
        line_start: 636
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_init_default
      pos:
        line_end: 638
        line_start: 637
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{false, opentelemetry_proto_resource_v1_Resource_init_default,
        {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_init_default
      pos:
        line_end: 639
        line_start: 638
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{false, opentelemetry_proto_common_v1_InstrumentationScope_init_default,
        {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_init_default
      pos:
        line_end: 640
        line_start: 639
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL},
        0, {opentelemetry_proto_metrics_v1_Gauge_init_default}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_init_default
      pos:
        line_end: 641
        line_start: 640
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_init_default
      pos:
        line_end: 642
        line_start: 641
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN,
        0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_init_default
      pos:
        line_end: 643
        line_start: 642
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_init_default
      pos:
        line_end: 644
        line_start: 643
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_init_default
      pos:
        line_end: 645
        line_start: 644
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_init_default
      pos:
        line_end: 646
        line_start: 645
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, {0}, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_init_default
      pos:
        line_end: 647
        line_start: 646
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, false, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL},
        NULL}, {{NULL}, NULL}, 0, false, 0, false, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_init_default
      pos:
        line_end: 648
        line_start: 647
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, 0, 0, 0, false, 0, 0, 0, false, opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_default,
        false, opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_default,
        0, {{NULL}, NULL}, false, 0, false, 0, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_default
      pos:
        line_end: 649
        line_start: 648
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_init_default
      pos:
        line_end: 650
        line_start: 649
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_init_default
      pos:
        line_end: 651
        line_start: 650
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_init_default
      pos:
        line_end: 652
        line_start: 651
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, {0}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_init_zero
      pos:
        line_end: 653
        line_start: 652
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_init_zero
      pos:
        line_end: 654
        line_start: 653
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{false, opentelemetry_proto_resource_v1_Resource_init_zero,
        {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_init_zero
      pos:
        line_end: 655
        line_start: 654
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{false, opentelemetry_proto_common_v1_InstrumentationScope_init_zero,
        {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_init_zero
      pos:
        line_end: 656
        line_start: 655
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL},
        0, {opentelemetry_proto_metrics_v1_Gauge_init_zero}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_init_zero
      pos:
        line_end: 657
        line_start: 656
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_init_zero
      pos:
        line_end: 658
        line_start: 657
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN,
        0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_init_zero
      pos:
        line_end: 659
        line_start: 658
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_init_zero
      pos:
        line_end: 660
        line_start: 659
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, _opentelemetry_proto_metrics_v1_AggregationTemporality_MIN}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_init_zero
      pos:
        line_end: 661
        line_start: 660
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_init_zero
      pos:
        line_end: 662
        line_start: 661
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, {0}, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_init_zero
      pos:
        line_end: 663
        line_start: 662
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, false, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL},
        NULL}, {{NULL}, NULL}, 0, false, 0, false, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_init_zero
      pos:
        line_end: 664
        line_start: 663
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{{{NULL}, NULL}, 0, 0, 0, false, 0, 0, 0, false, opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_zero,
        false, opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_zero,
        0, {{NULL}, NULL}, false, 0, false, 0, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_init_zero
      pos:
        line_end: 665
        line_start: 664
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_init_zero
      pos:
        line_end: 666
        line_start: 665
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_init_zero
      pos:
        line_end: 667
        line_start: 666
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_init_zero
      pos:
        line_end: 668
        line_start: 667
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '{0, 0, {0}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_resource_metrics_tag
      pos:
        line_end: 671
        line_start: 670
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_resource_tag
      pos:
        line_end: 672
        line_start: 671
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_scope_metrics_tag
      pos:
        line_end: 673
        line_start: 672
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_schema_url_tag
      pos:
        line_end: 674
        line_start: 673
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_scope_tag
      pos:
        line_end: 675
        line_start: 674
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_metrics_tag
      pos:
        line_end: 676
        line_start: 675
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_schema_url_tag
      pos:
        line_end: 677
        line_start: 676
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_data_points_tag
      pos:
        line_end: 678
        line_start: 677
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_data_points_tag
      pos:
        line_end: 679
        line_start: 678
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_aggregation_temporality_tag
      pos:
        line_end: 680
        line_start: 679
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_is_monotonic_tag
      pos:
        line_end: 681
        line_start: 680
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_data_points_tag
      pos:
        line_end: 682
        line_start: 681
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_aggregation_temporality_tag
      pos:
        line_end: 683
        line_start: 682
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_data_points_tag
      pos:
        line_end: 684
        line_start: 683
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_aggregation_temporality_tag
      pos:
        line_end: 685
        line_start: 684
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_data_points_tag
      pos:
        line_end: 686
        line_start: 685
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_name_tag
      pos:
        line_end: 687
        line_start: 686
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_description_tag
      pos:
        line_end: 688
        line_start: 687
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_unit_tag
      pos:
        line_end: 689
        line_start: 688
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_gauge_tag
      pos:
        line_end: 690
        line_start: 689
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_sum_tag
      pos:
        line_end: 691
        line_start: 690
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_histogram_tag
      pos:
        line_end: 692
        line_start: 691
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '9'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_exponential_histogram_tag
      pos:
        line_end: 693
        line_start: 692
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '10'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_summary_tag
      pos:
        line_end: 694
        line_start: 693
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '11'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_start_time_unix_nano_tag
      pos:
        line_end: 695
        line_start: 694
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_time_unix_nano_tag
      pos:
        line_end: 696
        line_start: 695
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_as_double_tag
      pos:
        line_end: 697
        line_start: 696
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_as_int_tag
      pos:
        line_end: 698
        line_start: 697
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_exemplars_tag
      pos:
        line_end: 699
        line_start: 698
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_attributes_tag
      pos:
        line_end: 700
        line_start: 699
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_flags_tag
      pos:
        line_end: 701
        line_start: 700
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_start_time_unix_nano_tag
      pos:
        line_end: 702
        line_start: 701
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_time_unix_nano_tag
      pos:
        line_end: 703
        line_start: 702
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_count_tag
      pos:
        line_end: 704
        line_start: 703
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_sum_tag
      pos:
        line_end: 705
        line_start: 704
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_bucket_counts_tag
      pos:
        line_end: 706
        line_start: 705
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_explicit_bounds_tag
      pos:
        line_end: 707
        line_start: 706
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_exemplars_tag
      pos:
        line_end: 708
        line_start: 707
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_attributes_tag
      pos:
        line_end: 709
        line_start: 708
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '9'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_flags_tag
      pos:
        line_end: 710
        line_start: 709
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '10'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_min_tag
      pos:
        line_end: 711
        line_start: 710
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '11'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_max_tag
      pos:
        line_end: 712
        line_start: 711
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '12'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_offset_tag
      pos:
        line_end: 713
        line_start: 712
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_bucket_counts_tag
      pos:
        line_end: 714
        line_start: 713
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_attributes_tag
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_start_time_unix_nano_tag
      pos:
        line_end: 716
        line_start: 715
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_time_unix_nano_tag
      pos:
        line_end: 717
        line_start: 716
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_count_tag
      pos:
        line_end: 718
        line_start: 717
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_sum_tag
      pos:
        line_end: 719
        line_start: 718
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_scale_tag
      pos:
        line_end: 720
        line_start: 719
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_zero_count_tag
      pos:
        line_end: 721
        line_start: 720
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_positive_tag
      pos:
        line_end: 722
        line_start: 721
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_negative_tag
      pos:
        line_end: 723
        line_start: 722
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '9'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_flags_tag
      pos:
        line_end: 724
        line_start: 723
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '10'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_exemplars_tag
      pos:
        line_end: 725
        line_start: 724
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '11'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_min_tag
      pos:
        line_end: 726
        line_start: 725
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '12'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_max_tag
      pos:
        line_end: 727
        line_start: 726
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '13'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_zero_threshold_tag
      pos:
        line_end: 728
        line_start: 727
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '14'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_start_time_unix_nano_tag
      pos:
        line_end: 729
        line_start: 728
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_time_unix_nano_tag
      pos:
        line_end: 730
        line_start: 729
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_count_tag
      pos:
        line_end: 731
        line_start: 730
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_sum_tag
      pos:
        line_end: 732
        line_start: 731
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_quantile_values_tag
      pos:
        line_end: 733
        line_start: 732
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_attributes_tag
      pos:
        line_end: 734
        line_start: 733
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_flags_tag
      pos:
        line_end: 735
        line_start: 734
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '8'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_quantile_tag
      pos:
        line_end: 736
        line_start: 735
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_value_tag
      pos:
        line_end: 737
        line_start: 736
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_time_unix_nano_tag
      pos:
        line_end: 738
        line_start: 737
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_as_double_tag
      pos:
        line_end: 739
        line_start: 738
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_as_int_tag
      pos:
        line_end: 740
        line_start: 739
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_span_id_tag
      pos:
        line_end: 741
        line_start: 740
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_trace_id_tag
      pos:
        line_end: 742
        line_start: 741
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_filtered_attributes_tag
      pos:
        line_end: 743
        line_start: 742
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_CALLBACK
      pos:
        line_end: 748
        line_start: 747
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_DEFAULT
      pos:
        line_end: 749
        line_start: 748
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_resource_metrics_MSGTYPE
      pos:
        line_end: 750
        line_start: 749
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ResourceMetrics
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_CALLBACK
      pos:
        line_end: 756
        line_start: 755
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_DEFAULT
      pos:
        line_end: 757
        line_start: 756
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_resource_MSGTYPE
      pos:
        line_end: 758
        line_start: 757
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_resource_v1_Resource
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_scope_metrics_MSGTYPE
      pos:
        line_end: 759
        line_start: 758
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ScopeMetrics
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_CALLBACK
      pos:
        line_end: 765
        line_start: 764
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_DEFAULT
      pos:
        line_end: 766
        line_start: 765
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_scope_MSGTYPE
      pos:
        line_end: 767
        line_start: 766
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_InstrumentationScope
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_metrics_MSGTYPE
      pos:
        line_end: 768
        line_start: 767
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Metric
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_CALLBACK
      pos:
        line_end: 779
        line_start: 778
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_DEFAULT
      pos:
        line_end: 780
        line_start: 779
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_data_gauge_MSGTYPE
      pos:
        line_end: 781
        line_start: 780
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Gauge
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_data_sum_MSGTYPE
      pos:
        line_end: 782
        line_start: 781
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Sum
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_data_histogram_MSGTYPE
      pos:
        line_end: 783
        line_start: 782
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Histogram
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_data_exponential_histogram_MSGTYPE
      pos:
        line_end: 784
        line_start: 783
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ExponentialHistogram
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_data_summary_MSGTYPE
      pos:
        line_end: 785
        line_start: 784
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Summary
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_CALLBACK
      pos:
        line_end: 789
        line_start: 788
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_DEFAULT
      pos:
        line_end: 790
        line_start: 789
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_data_points_MSGTYPE
      pos:
        line_end: 791
        line_start: 790
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_NumberDataPoint
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_CALLBACK
      pos:
        line_end: 797
        line_start: 796
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_DEFAULT
      pos:
        line_end: 798
        line_start: 797
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_data_points_MSGTYPE
      pos:
        line_end: 799
        line_start: 798
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_NumberDataPoint
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_CALLBACK
      pos:
        line_end: 804
        line_start: 803
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_DEFAULT
      pos:
        line_end: 805
        line_start: 804
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_data_points_MSGTYPE
      pos:
        line_end: 806
        line_start: 805
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_HistogramDataPoint
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_CALLBACK
      pos:
        line_end: 811
        line_start: 810
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_DEFAULT
      pos:
        line_end: 812
        line_start: 811
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_data_points_MSGTYPE
      pos:
        line_end: 813
        line_start: 812
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_CALLBACK
      pos:
        line_end: 817
        line_start: 816
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_DEFAULT
      pos:
        line_end: 818
        line_start: 817
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_data_points_MSGTYPE
      pos:
        line_end: 819
        line_start: 818
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_SummaryDataPoint
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_CALLBACK
      pos:
        line_end: 829
        line_start: 828
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_DEFAULT
      pos:
        line_end: 830
        line_start: 829
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_exemplars_MSGTYPE
      pos:
        line_end: 831
        line_start: 830
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Exemplar
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_attributes_MSGTYPE
      pos:
        line_end: 832
        line_start: 831
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_CALLBACK
      pos:
        line_end: 846
        line_start: 845
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_DEFAULT
      pos:
        line_end: 847
        line_start: 846
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_exemplars_MSGTYPE
      pos:
        line_end: 848
        line_start: 847
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Exemplar
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_attributes_MSGTYPE
      pos:
        line_end: 849
        line_start: 848
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_CALLBACK
      pos:
        line_end: 866
        line_start: 865
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_DEFAULT
      pos:
        line_end: 867
        line_start: 866
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_attributes_MSGTYPE
      pos:
        line_end: 868
        line_start: 867
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_positive_MSGTYPE
      pos:
        line_end: 869
        line_start: 868
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_negative_MSGTYPE
      pos:
        line_end: 870
        line_start: 869
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_exemplars_MSGTYPE
      pos:
        line_end: 871
        line_start: 870
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_Exemplar
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_CALLBACK
      pos:
        line_end: 876
        line_start: 875
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_DEFAULT
      pos:
        line_end: 877
        line_start: 876
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_CALLBACK
      pos:
        line_end: 887
        line_start: 886
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_DEFAULT
      pos:
        line_end: 888
        line_start: 887
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_quantile_values_MSGTYPE
      pos:
        line_end: 889
        line_start: 888
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_attributes_MSGTYPE
      pos:
        line_end: 890
        line_start: 889
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_CALLBACK
      pos:
        line_end: 895
        line_start: 894
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_DEFAULT
      pos:
        line_end: 896
        line_start: 895
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_CALLBACK
      pos:
        line_end: 905
        line_start: 904
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_DEFAULT
      pos:
        line_end: 906
        line_start: 905
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_filtered_attributes_MSGTYPE
      pos:
        line_end: 907
        line_start: 906
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_MetricsData_fields
      pos:
        line_end: 927
        line_start: 926
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_MetricsData_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ResourceMetrics_fields
      pos:
        line_end: 928
        line_start: 927
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_ResourceMetrics_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ScopeMetrics_fields
      pos:
        line_end: 929
        line_start: 928
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_ScopeMetrics_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Metric_fields
      pos:
        line_end: 930
        line_start: 929
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Metric_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Gauge_fields
      pos:
        line_end: 931
        line_start: 930
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Gauge_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Sum_fields
      pos:
        line_end: 932
        line_start: 931
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Sum_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Histogram_fields
      pos:
        line_end: 933
        line_start: 932
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Histogram_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogram_fields
      pos:
        line_end: 934
        line_start: 933
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_ExponentialHistogram_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Summary_fields
      pos:
        line_end: 935
        line_start: 934
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Summary_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_NumberDataPoint_fields
      pos:
        line_end: 936
        line_start: 935
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_NumberDataPoint_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_HistogramDataPoint_fields
      pos:
        line_end: 937
        line_start: 936
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_HistogramDataPoint_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_fields
      pos:
        line_end: 938
        line_start: 937
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_fields
      pos:
        line_end: 939
        line_start: 938
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_fields
      pos:
        line_end: 940
        line_start: 939
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_SummaryDataPoint_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_fields
      pos:
        line_end: 941
        line_start: 940
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_Exemplar_fields
      pos:
        line_end: 942
        line_start: 941
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '&opentelemetry_proto_metrics_v1_Exemplar_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile_size
      pos:
        line_end: 960
        line_start: 959
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
      type_or_value: '18'
    structs:
    - fields:
      - name: resource_metrics
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_MetricsData
      pos:
        line_end: 117
        line_start: 110
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: has_resource
        type: bool
      - name: resource
        type: opentelemetry_proto_resource_v1_Resource
      - name: scope_metrics
        type: pb_callback_t
      - name: schema_url
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_ResourceMetrics
      pos:
        line_end: 130
        line_start: 120
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: has_scope
        type: bool
      - name: scope
        type: opentelemetry_proto_common_v1_InstrumentationScope
      - name: metrics
        type: pb_callback_t
      - name: schema_url
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_ScopeMetrics
      pos:
        line_end: 143
        line_start: 133
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: data_points
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Gauge
      pos:
        line_end: 156
        line_start: 154
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: data_points
        type: pb_callback_t
      - name: aggregation_temporality
        type: opentelemetry_proto_metrics_v1_AggregationTemporality
      - name: is_monotonic
        type: bool
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Sum
      pos:
        line_end: 167
        line_start: 160
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: data_points
        type: pb_callback_t
      - name: aggregation_temporality
        type: opentelemetry_proto_metrics_v1_AggregationTemporality
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Histogram
      pos:
        line_end: 176
        line_start: 171
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: data_points
        type: pb_callback_t
      - name: aggregation_temporality
        type: opentelemetry_proto_metrics_v1_AggregationTemporality
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_ExponentialHistogram
      pos:
        line_end: 185
        line_start: 180
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: data_points
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Summary
      pos:
        line_end: 195
        line_start: 193
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: name
        type: pb_callback_t
      - name: description
        type: pb_callback_t
      - name: unit
        type: pb_callback_t
      - name: cb_data
        type: pb_callback_t
      - name: which_data
        type: pb_size_t
      - name: data
        type: "union {\n        opentelemetry_proto_metrics_v1_Gauge gauge;\n        opentelemetry_proto_metrics_v1_Sum
          sum;\n        opentelemetry_proto_metrics_v1_Histogram histogram;\n        opentelemetry_proto_metrics_v1_ExponentialHistogram
          exponential_histogram;\n        opentelemetry_proto_metrics_v1_Summary summary;\n
          \   }"
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Metric
      pos:
        line_end: 299
        line_start: 282
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: start_time_unix_nano
        type: uint64_t
      - name: time_unix_nano
        type: uint64_t
      - name: which_value
        type: pb_size_t
      - name: value
        type: "union {\n        double as_double;\n        int64_t as_int;\n    }"
      - name: exemplars
        type: pb_callback_t
      - name: attributes
        type: pb_callback_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_NumberDataPoint
      pos:
        line_end: 331
        line_start: 303
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: start_time_unix_nano
        type: uint64_t
      - name: time_unix_nano
        type: uint64_t
      - name: count
        type: uint64_t
      - name: has_sum
        type: bool
      - name: sum
        type: double
      - name: bucket_counts
        type: pb_callback_t
      - name: explicit_bounds
        type: pb_callback_t
      - name: exemplars
        type: pb_callback_t
      - name: attributes
        type: pb_callback_t
      - name: flags
        type: uint32_t
      - name: has_min
        type: bool
      - name: min
        type: double
      - name: has_max
        type: bool
      - name: max
        type: double
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_HistogramDataPoint
      pos:
        line_end: 408
        line_start: 343
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: offset
        type: int32_t
      - name: bucket_counts
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets
      pos:
        line_end: 427
        line_start: 412
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: attributes
        type: pb_callback_t
      - name: start_time_unix_nano
        type: uint64_t
      - name: time_unix_nano
        type: uint64_t
      - name: count
        type: uint64_t
      - name: has_sum
        type: bool
      - name: sum
        type: double
      - name: scale
        type: int32_t
      - name: zero_count
        type: uint64_t
      - name: has_positive
        type: bool
      - name: positive
        type: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets
      - name: has_negative
        type: bool
      - name: negative
        type: opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint_Buckets
      - name: flags
        type: uint32_t
      - name: exemplars
        type: pb_callback_t
      - name: has_min
        type: bool
      - name: min
        type: double
      - name: has_max
        type: bool
      - name: max
        type: double
      - name: zero_threshold
        type: double
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_ExponentialHistogramDataPoint
      pos:
        line_end: 514
        line_start: 433
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: start_time_unix_nano
        type: uint64_t
      - name: time_unix_nano
        type: uint64_t
      - name: count
        type: uint64_t
      - name: sum
        type: double
      - name: quantile_values
        type: pb_callback_t
      - name: attributes
        type: pb_callback_t
      - name: flags
        type: uint32_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_SummaryDataPoint
      pos:
        line_end: 552
        line_start: 518
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: quantile
        type: double
      - name: value
        type: double
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_SummaryDataPoint_ValueAtQuantile
      pos:
        line_end: 570
        line_start: 562
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    - fields:
      - name: time_unix_nano
        type: uint64_t
      - name: which_value
        type: pb_size_t
      - name: value
        type: "union {\n        double as_double;\n        int64_t as_int;\n    }"
      - name: span_id
        type: pb_callback_t
      - name: trace_id
        type: pb_callback_t
      - name: filtered_attributes
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_metrics_v1_Exemplar
      pos:
        line_end: 599
        line_start: 576
        source_file: /src/librdkafka/src/opentelemetry/metrics.pb.h
    typedefs: []
    union: []
- function_names:
  - opentelemetry_proto_resource_v1_Resource_FIELDLIST
  source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_init_default
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: '{{{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_init_zero
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: '{{{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_attributes_tag
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_dropped_attributes_count_tag
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_CALLBACK
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_DEFAULT
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_attributes_MSGTYPE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_resource_v1_Resource_fields
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
      type_or_value: '&opentelemetry_proto_resource_v1_Resource_msg'
    structs:
    - fields:
      - name: attributes
        type: pb_callback_t
      - name: dropped_attributes_count
        type: uint32_t
      item_type: struct
      name: _opentelemetry_proto_resource_v1_Resource
      pos:
        line_end: 22
        line_start: 14
        source_file: /src/librdkafka/src/opentelemetry/resource.pb.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/opentelemetry/metrics.pb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/opentelemetry/resource.pb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - opentelemetry_proto_common_v1_AnyValue_FIELDLIST
  - opentelemetry_proto_common_v1_ArrayValue_FIELDLIST
  - opentelemetry_proto_common_v1_KeyValueList_FIELDLIST
  - opentelemetry_proto_common_v1_KeyValue_FIELDLIST
  - opentelemetry_proto_common_v1_InstrumentationScope_FIELDLIST
  source_file: /src/librdkafka/src/opentelemetry/common.pb.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_init_default
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{0, {{{NULL}, NULL}}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_init_default
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_init_default
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_init_default
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}, false, opentelemetry_proto_common_v1_AnyValue_init_default}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_init_default
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_init_zero
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{0, {{{NULL}, NULL}}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_init_zero
      pos:
        line_end: 82
        line_start: 81
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_init_zero
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_init_zero
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}, false, opentelemetry_proto_common_v1_AnyValue_init_zero}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_init_zero
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '{{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_values_tag
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_values_tag
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_string_value_tag
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_bool_value_tag
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_int_value_tag
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_double_value_tag
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_array_value_tag
      pos:
        line_end: 94
        line_start: 93
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '5'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_kvlist_value_tag
      pos:
        line_end: 95
        line_start: 94
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '6'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_bytes_value_tag
      pos:
        line_end: 96
        line_start: 95
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '7'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_key_tag
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_value_tag
      pos:
        line_end: 98
        line_start: 97
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_name_tag
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '1'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_version_tag
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '2'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_attributes_tag
      pos:
        line_end: 101
        line_start: 100
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '3'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_dropped_attributes_count_tag
      pos:
        line_end: 102
        line_start: 101
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '4'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_CALLBACK
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_DEFAULT
      pos:
        line_end: 114
        line_start: 113
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_value_array_value_MSGTYPE
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_ArrayValue
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_value_kvlist_value_MSGTYPE
      pos:
        line_end: 116
        line_start: 115
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValueList
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_CALLBACK
      pos:
        line_end: 120
        line_start: 119
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_DEFAULT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_values_MSGTYPE
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_AnyValue
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_CALLBACK
      pos:
        line_end: 126
        line_start: 125
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_DEFAULT
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_values_MSGTYPE
      pos:
        line_end: 128
        line_start: 127
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_CALLBACK
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_DEFAULT
      pos:
        line_end: 134
        line_start: 133
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_value_MSGTYPE
      pos:
        line_end: 135
        line_start: 134
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_AnyValue
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_CALLBACK
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: pb_default_field_callback
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_DEFAULT
      pos:
        line_end: 143
        line_start: 142
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_attributes_MSGTYPE
      pos:
        line_end: 144
        line_start: 143
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: opentelemetry_proto_common_v1_KeyValue
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_AnyValue_fields
      pos:
        line_end: 153
        line_start: 152
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '&opentelemetry_proto_common_v1_AnyValue_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_ArrayValue_fields
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '&opentelemetry_proto_common_v1_ArrayValue_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValueList_fields
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '&opentelemetry_proto_common_v1_KeyValueList_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_KeyValue_fields
      pos:
        line_end: 156
        line_start: 155
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '&opentelemetry_proto_common_v1_KeyValue_msg'
    - item_type: preproc_def
      name: opentelemetry_proto_common_v1_InstrumentationScope_fields
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
      type_or_value: '&opentelemetry_proto_common_v1_InstrumentationScope_msg'
    structs:
    - fields:
      - name: values
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_common_v1_ArrayValue
      pos:
        line_end: 17
        line_start: 14
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
    - fields:
      - name: values
        type: pb_callback_t
      item_type: struct
      name: _opentelemetry_proto_common_v1_KeyValueList
      pos:
        line_end: 30
        line_start: 24
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
    - fields:
      - name: which_value
        type: pb_size_t
      - name: value
        type: "union {\n        pb_callback_t string_value;\n        bool bool_value;\n
          \       int64_t int_value;\n        double double_value;\n        opentelemetry_proto_common_v1_ArrayValue
          array_value;\n        opentelemetry_proto_common_v1_KeyValueList kvlist_value;\n
          \       pb_callback_t bytes_value;\n    }"
      item_type: struct
      name: _opentelemetry_proto_common_v1_AnyValue
      pos:
        line_end: 46
        line_start: 35
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
    - fields:
      - name: key
        type: pb_callback_t
      - name: has_value
        type: bool
      - name: value
        type: opentelemetry_proto_common_v1_AnyValue
      item_type: struct
      name: _opentelemetry_proto_common_v1_KeyValue
      pos:
        line_end: 54
        line_start: 50
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
    - fields:
      - name: name
        type: pb_callback_t
      - name: version
        type: pb_callback_t
      - name: attributes
        type: pb_callback_t
      - name: dropped_attributes_count
        type: uint32_t
      item_type: struct
      name: _opentelemetry_proto_common_v1_InstrumentationScope
      pos:
        line_end: 67
        line_start: 58
        source_file: /src/librdkafka/src/opentelemetry/common.pb.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/src/opentelemetry/common.pb.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_partition_list
  - parse_int
  - cmd_list_consumer_group_offsets
  - main
  source_file: /src/librdkafka/examples/list_consumer_group_offsets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - hexdump
  - logger
  - msg_delivered
  - msg_consume
  - metadata_print
  - sig_usr1
  - main
  source_file: /src/librdkafka/examples/rdkafka_example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - dr_msg_cb
  - main
  source_file: /src/librdkafka/examples/producer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - hexdump
  - logger
  - msg_consume
  - print_partition_list
  - rebalance_cb
  - describe_groups
  - sig_usr1
  - main
  source_file: /src/librdkafka/examples/rdkafka_complex_consumer_example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - fatal
  - conf_set
  - cmd_version
  - cmd_list_groups
  - main
  source_file: /src/librdkafka/examples/misc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*cmd'
        type: char
      - name: (*func)(rd_kafka_conf_t *conf, int argc, char **argv)
        type: void
      item_type: struct
      name: "cmds[] = {\n            {\"version\", cmd_version},\n            {\"list_groups\",
        cmd_list_groups},\n            {NULL},\n        }"
      pos:
        line_end: 217
        line_start: 214
        source_file: /src/librdkafka/examples/misc.c
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_groups_info
  - parse_int
  - cmd_list_consumer_groups
  - main
  source_file: /src/librdkafka/examples/list_consumer_groups.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fatal
  - fatal_error
  - stop
  - dr_msg_cb
  - create_transactional_producer
  - destroy_transactional_producer
  - abort_transaction_and_rewind
  - commit_transaction_and_start_new
  - consumer_group_rebalance_cb
  - create_input_consumer
  - find_next_int
  - process_message
  - main
  source_file: /src/librdkafka/examples/transactions-older-broker.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*producer'
        type: rd_kafka_t
      - name: '*rktpar'
        type: rd_kafka_topic_partition_t
      - name: last_commit
        type: time_t
      - name: msgcnt
        type: int
      item_type: struct
      name: state
      pos:
        line_end: 76
        line_start: 70
        source_file: /src/librdkafka/examples/transactions-older-broker.c
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_partition_list
  - parse_int
  - cmd_alter_consumer_group_offsets
  - main
  source_file: /src/librdkafka/examples/alter_consumer_group_offsets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Assignment::name
  - Assignment::Assignment
  - Assignment::Assignment
  - '&operator=(const Assignment &a)'
  - operator==(const Assignment &a) const
  - operator<(const Assignment &a) const
  - Assignment::setup
  - now
  - sigwatchdog
  - watchdog_kick
  - errorString
  - successString
  - offsetStatus
  - sigterm
  - ExampleDeliveryReportCb::dr_cb
  - ExampleEventCb::event_cb
  - MyHashPartitionerCb::partitioner_cb
  - MyHashPartitionerCb::djb_hash
  - report_records_consumed
  - ExampleOffsetCommitCb::offset_commit_cb
  - do_commit
  - msg_consume
  - ExampleConsumeCb::consume_cb
  - ExampleRebalanceCb::part_list_json
  - ExampleRebalanceCb::rebalance_cb
  - read_conf_file
  - main
  source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: maxMessages
        type: int
      - name: producer
        type: "struct {\n    int numAcked;\n    int numSent;\n    int numErr;\n  }"
      - name: consumer
        type: "struct {\n    int consumedMessages;\n    int consumedMessagesLastReported;\n
          \   int consumedMessagesAtLastCommit;\n    bool useAutoCommit;\n    std::map<std::string,
          Assignment> assignments;\n  }"
      item_type: struct
      name: "state = {\n    /* .maxMessages = */ -1}"
      pos:
        line_end: 145
        line_start: 129
        source_file: /src/librdkafka/examples/kafkatest_verifiable_client.cpp
    typedefs: []
    union: []
- function_names:
  - sigterm
  - ExampleDeliveryReportCb::dr_cb
  - main
  source_file: /src/librdkafka/examples/producer.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - dr_msg_cb
  - error_cb
  - main
  source_file: /src/librdkafka/examples/idempotent_producer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fatal
  - fatal_error
  - stop
  - dr_msg_cb
  - create_transactional_producer
  - rewind_consumer
  - abort_transaction_and_rewind
  - commit_transaction
  - commit_transaction_and_start_new
  - consumer_group_rebalance_cb
  - create_input_consumer
  - find_next_int
  - process_message
  - main
  source_file: /src/librdkafka/examples/transactions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - wall_clock
  - err_cb
  - throttle_cb
  - offset_commit_cb
  - latency_add
  - msg_delivered
  - msg_consume
  - rebalance_cb
  - json_parse_fields
  - json_parse_stats
  - stats_cb
  - print_stats
  - ROW_START
  - COL_HDR
  - COL_PR64
  - COL_PRF
  - ROW_END
  - sig_usr1
  - read_conf_file
  - do_produce
  - do_sleep
  - main
  source_file: /src/librdkafka/examples/rdkafka_performance.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_AVGS
      pos:
        line_end: 461
        line_start: 460
        source_file: /src/librdkafka/examples/rdkafka_performance.c
      type_or_value: '100 '
    - item_type: preproc_def
      name: _OTYPE_TAB
      pos:
        line_end: 500
        line_start: 499
        source_file: /src/librdkafka/examples/rdkafka_performance.c
      type_or_value: '0x1 '
    - item_type: preproc_def
      name: _OTYPE_SUMMARY
      pos:
        line_end: 501
        line_start: 500
        source_file: /src/librdkafka/examples/rdkafka_performance.c
      type_or_value: '0x2 '
    - item_type: preproc_def
      name: _OTYPE_FORCE
      pos:
        line_end: 502
        line_start: 501
        source_file: /src/librdkafka/examples/rdkafka_performance.c
      type_or_value: '0x4 '
    structs:
    - fields:
      - name: val
        type: int64_t
      - name: cnt
        type: int
      - name: ts_start
        type: uint64_t
      item_type: struct
      name: avg
      pos:
        line_end: 95
        line_start: 91
        source_file: /src/librdkafka/examples/rdkafka_performance.c
    - fields:
      - name: t_start
        type: rd_ts_t
      - name: t_end
        type: rd_ts_t
      - name: t_end_send
        type: rd_ts_t
      - name: msgs
        type: uint64_t
      - name: msgs_last
        type: uint64_t
      - name: msgs_dr_ok
        type: uint64_t
      - name: msgs_dr_err
        type: uint64_t
      - name: bytes_dr_ok
        type: uint64_t
      - name: bytes
        type: uint64_t
      - name: bytes_last
        type: uint64_t
      - name: tx
        type: uint64_t
      - name: tx_err
        type: uint64_t
      - name: avg_rtt
        type: uint64_t
      - name: offset
        type: uint64_t
      - name: t_fetch_latency
        type: rd_ts_t
      - name: t_last
        type: rd_ts_t
      - name: t_enobufs_last
        type: rd_ts_t
      - name: t_total
        type: rd_ts_t
      - name: latency_last
        type: rd_ts_t
      - name: latency_lo
        type: rd_ts_t
      - name: latency_hi
        type: rd_ts_t
      - name: latency_sum
        type: rd_ts_t
      - name: latency_cnt
        type: int
      - name: last_offset
        type: int64_t
      item_type: struct
      name: cnt
      pos:
        line_end: 122
        line_start: 97
        source_file: /src/librdkafka/examples/rdkafka_performance.c
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - parse_int
  - parse_mechanism
  - print_descriptions
  - print_alteration_responses
  - Describe
  - Alter
  - cmd_user_scram
  - main
  source_file: /src/librdkafka/examples/user_scram.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - is_printable
  - main
  source_file: /src/librdkafka/examples/consumer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sigterm
  - print_time
  - ExampleEventCb::event_cb
  - ExampleRebalanceCb::part_list_print
  - ExampleRebalanceCb::rebalance_cb
  - msg_consume
  - main
  source_file: /src/librdkafka/examples/rdkafka_complex_consumer_example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - parse_int
  - print_node_info
  - print_partition_info
  - print_topic_info
  - print_topics_info
  - cmd_describe_topics
  - main
  source_file: /src/librdkafka/examples/describe_topics.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - metadata_print
  - sigterm
  - ExampleDeliveryReportCb::dr_cb
  - ExampleEventCb::event_cb
  - MyHashPartitionerCb::partitioner_cb
  - MyHashPartitionerCb::djb_hash
  - msg_consume
  - ExampleConsumeCb::consume_cb
  - main
  source_file: /src/librdkafka/examples/rdkafka_example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - metadata_print
  - PrintingSSLVerifyCb::ssl_cert_verify_cb
  - main
  source_file: /src/librdkafka/examples/openssl_engine_example.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - sigterm
  - now
  - consume_batch
  - main
  source_file: /src/librdkafka/examples/rdkafka_consume_batch.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - parse_int
  - print_cluster_info
  - cmd_describe_cluster
  - main
  source_file: /src/librdkafka/examples/describe_cluster.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_alter_configs_result
  - cmd_incremental_alter_configs
  - main
  source_file: /src/librdkafka/examples/incremental_alter_configs.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ExampleStoreRetriever::ExampleStoreRetriever
  - ~ExampleStoreRetriever()
  - ExampleStoreRetriever::get_public_key
  - ExampleStoreRetriever::get_private_key
  - ExampleStoreRetriever::load_certificate
  - ExampleStoreRetriever::GetErrorMsg
  - PrintingSSLVerifyCb::ssl_cert_verify_cb
  - print_brokers
  - main
  source_file: /src/librdkafka/examples/win_ssl_cert_store.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - parse_int
  - main
  source_file: /src/librdkafka/examples/delete_records.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_elect_leaders_result
  - parse_int
  - cmd_elect_leaders
  - main
  source_file: /src/librdkafka/examples/elect_leaders.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_list_offsets_result_info
  - parse_int
  - cmd_list_offsets
  - main
  source_file: /src/librdkafka/examples/list_offsets.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stop
  - usage
  - fatal
  - conf_set
  - print_partition_list
  - print_group_member_info
  - print_group_info
  - print_groups_info
  - parse_int
  - cmd_describe_consumer_groups
  - main
  source_file: /src/librdkafka/examples/describe_consumer_groups.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - host
  source_file: /src/librdkafka/mklove/modules/configure.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/librdkafka/mklove/modules/configure.cxx
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::Producer::~Producer()
  - dr_msg_cb_trampoline
  - "*RdKafka::Producer::create(const RdKafka::Conf *conf,\n                                             std::string
    &errstr)"
  - "RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n                                                  int32_t
    partition,\n                                                  int msgflags,\n
    \                                                 void *payload,\n                                                  size_t
    len,\n                                                  const std::string *key,\n
    \                                                 void *msg_opaque)"
  - "RdKafka::ProducerImpl::produce(RdKafka::Topic *topic,\n                                                  int32_t
    partition,\n                                                  int msgflags,\n
    \                                                 void *payload,\n                                                  size_t
    len,\n                                                  const void *key,\n                                                  size_t
    key_len,\n                                                  void *msg_opaque)"
  - "RdKafka::ProducerImpl::produce(\n    RdKafka::Topic *topic,\n    int32_t partition,\n
    \   const std::vector<char> *payload,\n    const std::vector<char> *key,\n    void
    *msg_opaque)"
  - "RdKafka::ProducerImpl::produce(const std::string topic_name,\n                                                  int32_t
    partition,\n                                                  int msgflags,\n
    \                                                 void *payload,\n                                                  size_t
    len,\n                                                  const void *key,\n                                                  size_t
    key_len,\n                                                  int64_t timestamp,\n
    \                                                 void *msg_opaque)"
  - "RdKafka::ProducerImpl::produce(const std::string topic_name,\n                                                  int32_t
    partition,\n                                                  int msgflags,\n
    \                                                 void *payload,\n                                                  size_t
    len,\n                                                  const void *key,\n                                                  size_t
    key_len,\n                                                  int64_t timestamp,\n
    \                                                 RdKafka::Headers *headers,\n
    \                                                 void *msg_opaque)"
  source_file: /src/librdkafka/src-cpp/ProducerImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - '*RdKafka::Headers::create()'
  - '*RdKafka::Headers::create(const std::vector<Header> &headers)'
  - RdKafka::Headers::~Headers()
  source_file: /src/librdkafka/src-cpp/HeadersImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - "RdKafka::ConfImpl::set(const std::string &name,\n                                                     const
    std::string &value,\n                                                     std::string
    &errstr)"
  - '*RdKafka::ConfImpl::dump()'
  - '*RdKafka::Conf::create(ConfType type)'
  source_file: /src/librdkafka/src-cpp/ConfImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - BrokerMetadata::~BrokerMetadata()
  - PartitionMetadata::~PartitionMetadata()
  - TopicMetadata::~TopicMetadata()
  - Metadata::~Metadata()
  - BrokerMetadataImpl::BrokerMetadataImpl
  - BrokerMetadataImpl::id
  - BrokerMetadataImpl::host
  - BrokerMetadataImpl::port
  - ~BrokerMetadataImpl()
  - PartitionMetadataImpl::PartitionMetadataImpl
  - PartitionMetadataImpl::id
  - PartitionMetadataImpl::leader
  - PartitionMetadataImpl::err
  - PartitionMetadataImpl::replicas
  - PartitionMetadataImpl::isrs
  - ~PartitionMetadataImpl()
  - TopicMetadataImpl::TopicMetadataImpl
  - ~TopicMetadataImpl()
  - TopicMetadataImpl::topic
  - TopicMetadataImpl::partitions
  - TopicMetadataImpl::err
  - MetadataImpl::MetadataImpl
  - MetadataImpl::~MetadataImpl()
  source_file: /src/librdkafka/src-cpp/MetadataImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::KafkaConsumer::~KafkaConsumer()
  - "*RdKafka::KafkaConsumer::create(\n    const RdKafka::Conf *conf,\n    std::string
    &errstr)"
  - "RdKafka::KafkaConsumerImpl::subscribe(\n    const std::vector<std::string> &topics)"
  - RdKafka::KafkaConsumerImpl::unsubscribe()
  - '*RdKafka::KafkaConsumerImpl::consume(int timeout_ms)'
  - "RdKafka::KafkaConsumerImpl::assignment(\n    std::vector<RdKafka::TopicPartition
    *> &partitions)"
  - RdKafka::KafkaConsumerImpl::assignment_lost()
  - "RdKafka::KafkaConsumerImpl::subscription(\n    std::vector<std::string> &topics)"
  - "RdKafka::KafkaConsumerImpl::assign(\n    const std::vector<TopicPartition *>
    &partitions)"
  - RdKafka::KafkaConsumerImpl::unassign()
  - "*RdKafka::KafkaConsumerImpl::incremental_assign(\n    const std::vector<TopicPartition
    *> &partitions)"
  - "*RdKafka::KafkaConsumerImpl::incremental_unassign(\n    const std::vector<TopicPartition
    *> &partitions)"
  - "RdKafka::KafkaConsumerImpl::committed(\n    std::vector<RdKafka::TopicPartition
    *> &partitions,\n    int timeout_ms)"
  - "RdKafka::KafkaConsumerImpl::position(\n    std::vector<RdKafka::TopicPartition
    *> &partitions)"
  - "RdKafka::KafkaConsumerImpl::seek(\n    const RdKafka::TopicPartition &partition,\n
    \   int timeout_ms)"
  - RdKafka::KafkaConsumerImpl::close()
  - '*RdKafka::KafkaConsumerImpl::close(Queue *queue)'
  - RdKafka::ConsumerGroupMetadata::~ConsumerGroupMetadata()
  source_file: /src/librdkafka/src-cpp/KafkaConsumerImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::Error
  - ~Error()
  - RdKafka::DeliveryReportCb
  - ~DeliveryReportCb()
  - RdKafka::OAuthBearerTokenRefreshCb
  - ~OAuthBearerTokenRefreshCb()
  - RdKafka::PartitionerCb
  - ~PartitionerCb()
  - ~PartitionerKeyPointerCb()
  - RdKafka::EventCb
  - ~EventCb()
  - RdKafka::Event
  - ~Event()
  - RdKafka::ConsumeCb
  - ~ConsumeCb()
  - RdKafka::RebalanceCb
  - ~RebalanceCb()
  - RdKafka::OffsetCommitCb
  - ~OffsetCommitCb()
  - RdKafka::SslCertificateVerifyCb
  - ~SslCertificateVerifyCb()
  - RdKafka::SocketCb
  - ~SocketCb()
  - RdKafka::OpenCb
  - ~OpenCb()
  - RdKafka::Conf
  - ~Conf()
  - RdKafka::Handle
  - RdKafka::TopicPartition
  - ~TopicPartition()
  - RdKafka::Topic
  - ~Topic()
  - RdKafka::MessageTimestamp
  - RdKafka::Headers
  - RdKafka::Header::Header
  - RdKafka::Header::Header
  - RdKafka::Header::Header
  - '&operator=(const Header &other)'
  - ~Header()
  - RdKafka::Header::key
  - RdKafka::Header::value
  - RdKafka::Header::value_string
  - RdKafka::Header::value_size
  - RdKafka::Header::err
  - RdKafka::Header::copy_value
  - RdKafka::Message
  - ~Message()
  - RdKafka::Queue
  - ~Queue()
  - RdKafka::ConsumerGroupMetadata
  - RdKafka::KafkaConsumer
  - ~KafkaConsumer()
  - RdKafka::Consumer
  - ~Consumer()
  - RdKafka::Producer
  - ~Producer()
  - ~BrokerMetadata()
  - ~PartitionMetadata()
  - ~TopicMetadata()
  - ~Metadata()
  - RdKafka::Error
  - ~Error()
  - RdKafka::DeliveryReportCb
  - ~DeliveryReportCb()
  - RdKafka::OAuthBearerTokenRefreshCb
  - ~OAuthBearerTokenRefreshCb()
  - RdKafka::PartitionerCb
  - ~PartitionerCb()
  - ~PartitionerKeyPointerCb()
  - RdKafka::EventCb
  - ~EventCb()
  - RdKafka::Event
  - ~Event()
  - RdKafka::ConsumeCb
  - ~ConsumeCb()
  - RdKafka::RebalanceCb
  - ~RebalanceCb()
  - RdKafka::OffsetCommitCb
  - ~OffsetCommitCb()
  - RdKafka::SslCertificateVerifyCb
  - ~SslCertificateVerifyCb()
  - RdKafka::SocketCb
  - ~SocketCb()
  - RdKafka::OpenCb
  - ~OpenCb()
  - RdKafka::Conf
  - ~Conf()
  - RdKafka::Handle
  - RdKafka::TopicPartition
  - ~TopicPartition()
  - RdKafka::Topic
  - ~Topic()
  - RdKafka::MessageTimestamp
  - RdKafka::Headers
  - RdKafka::Header::Header
  - RdKafka::Header::Header
  - RdKafka::Header::Header
  - '&operator=(const Header &other)'
  - ~Header()
  - RdKafka::Header::key
  - RdKafka::Header::value
  - RdKafka::Header::value_string
  - RdKafka::Header::value_size
  - RdKafka::Header::err
  - RdKafka::Header::copy_value
  - RdKafka::Message
  - ~Message()
  - RdKafka::Queue
  - ~Queue()
  - RdKafka::ConsumerGroupMetadata
  - RdKafka::KafkaConsumer
  - ~KafkaConsumer()
  - RdKafka::Consumer
  - ~Consumer()
  - RdKafka::Producer
  - ~Producer()
  - ~BrokerMetadata()
  - ~PartitionMetadata()
  - ~TopicMetadata()
  - ~Metadata()
  source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
  types:
    enum:
    - enumerators:
      - name: ERR__RETRY
        value: '-153'
      - name: ERR__INCONSISTENT
        value: '-149'
      - name: ERR__DESTROY_BROKER
        value: '-137'
      - name: ERR_REPLICA_NOT_AVAILABLE
        value: '9'
      - name: ERR__NOT_CONFIGURED
        value: '-145'
      - name: ERR_OFFSET_OUT_OF_RANGE
        value: '1'
      - name: ERR_LEADER_NOT_AVAILABLE
        value: '5'
      - name: ERR__NOOP
        value: '-141'
      - name: ERR_NETWORK_EXCEPTION
        value: '13'
      - name: ERR_RECORD_LIST_TOO_LARGE
        value: '18'
      - name: ERR_INCONSISTENT_VOTER_SET
        value: '94'
      - name: ERR_UNKNOWN_TOPIC_ID
        value: '100'
      - name: ERR__WAIT_CACHE
        value: '-164'
      - name: ERR_LOG_DIR_NOT_FOUND
        value: '57'
      - name: ERR_UNSUPPORTED_VERSION
        value: '35'
      - name: ERR_MEMBER_ID_REQUIRED
        value: '79'
      - name: ERR_TOPIC_EXCEPTION
        value: '17'
      - name: ERR_ILLEGAL_GENERATION
        value: '22'
      - name: ERR_GROUP_AUTHORIZATION_FAILED
        value: '30'
      - name: ERR_INVALID_REPLICATION_FACTOR
        value: '38'
      - name: ERR_DUPLICATE_SEQUENCE_NUMBER
        value: '46'
      - name: ERR_SECURITY_DISABLED
        value: '54'
      - name: ERR_DELEGATION_TOKEN_NOT_FOUND
        value: '62'
      - name: ERR_FETCH_SESSION_ID_NOT_FOUND
        value: '70'
      - name: ERR_OFFSET_NOT_AVAILABLE
        value: '78'
      - name: ERR_GROUP_SUBSCRIBED_TO_TOPIC
        value: '86'
      - name: ERR_DELEGATION_TOKEN_AUTHORIZATION_FAILED
        value: '65'
      - name: ERR_UNSUPPORTED_FOR_MESSAGE_FORMAT
        value: '43'
      - name: ERR_INVALID_RECORD
        value: '87'
      - name: ERR__QUEUE_FULL
        value: '-184'
      - name: ERR__STATE
        value: '-172'
      - name: ERR__WAIT_COORD
        value: '-180'
      - name: ERR__NO_OFFSET
        value: '-168'
      - name: ERR__UNKNOWN_TOPIC
        value: '-188'
      - name: ERR__BEGIN
        value: '-200'
      - name: ERR__FAIL
        value: '-196'
      - name: ERR__MSG_TIMED_OUT
        value: '-192'
      - name: ERR__EXISTING_SUBSCRIPTION
        value: '-176'
      - name: ERR_FENCED_MEMBER_EPOCH
        value: '110'
      - name: ERR_TOPIC_AUTHORIZATION_FAILED
        value: '29'
      - name: ERR__PARTIAL
        value: '-158'
      - name: ERR__PURGE_QUEUE
        value: '-152'
      - name: ERR__AUTO_OFFSET_RESET
        value: '-140'
      - name: ERR_NOT_LEADER_FOR_PARTITION
        value: '6'
      - name: ERR__GAPLESS_GUARANTEE
        value: '-148'
      - name: ERR__END
        value: '-100'
      - name: ERR_MSG_SIZE_TOO_LARGE
        value: '10'
      - name: ERR__FENCED
        value: '-144'
      - name: ERR_INVALID_MSG
        value: '2'
      - name: ERR_COORDINATOR_LOAD_IN_PROGRESS
        value: '14'
      - name: ERR_CONCURRENT_TRANSACTIONS
        value: '51'
      - name: ERR__INTR
        value: '-163'
      - name: ERR__UNDERFLOW
        value: '-155'
      - name: ERR_INVALID_PARTITIONS
        value: '37'
      - name: ERR_UNRELEASED_INSTANCE_ID
        value: '111'
      - name: ERR_GROUP_MAX_SIZE_REACHED
        value: '81'
      - name: ERR_UNKNOWN_PRODUCER_ID
        value: '59'
      - name: ERR_COORDINATOR_NOT_AVAILABLE
        value: '15'
      - name: ERR_INVALID_GROUP_ID
        value: '24'
      - name: ERR_INVALID_TIMESTAMP
        value: '32'
      - name: ERR_INVALID_CONFIG
        value: '40'
      - name: ERR_INVALID_TXN_STATE
        value: '48'
      - name: ERR_KAFKA_STORAGE_ERROR
        value: '56'
      - name: ERR_DELEGATION_TOKEN_REQUEST_NOT_ALLOWED
        value: '64'
      - name: ERR_LISTENER_NOT_FOUND
        value: '72'
      - name: ERR_PREFERRED_LEADER_NOT_AVAILABLE
        value: '80'
      - name: ERR_UNSTABLE_OFFSET_COMMIT
        value: '88'
      - name: ERR_UNACCEPTABLE_CREDENTIAL
        value: '93'
      - name: ERR_OUT_OF_ORDER_SEQUENCE_NUMBER
        value: '45'
      - name: ERR__ISR_INSUFF
        value: '-183'
      - name: ERR__UNKNOWN_PROTOCOL
        value: '-171'
      - name: ERR__UNKNOWN_GROUP
        value: '-179'
      - name: ERR__OUTDATED
        value: '-167'
      - name: ERR__BAD_MSG
        value: '-199'
      - name: ERR__TRANSPORT
        value: '-195'
      - name: ERR__PARTITION_EOF
        value: '-191'
      - name: ERR__ALL_BROKERS_DOWN
        value: '-187'
      - name: ERR__ASSIGN_PARTITIONS
        value: '-175'
      - name: ERR_INVALID_PRINCIPAL_TYPE
        value: '67'
      - name: ERR_THROTTLING_QUOTA_EXCEEDED
        value: '89'
      - name: ERR_UNSUPPORTED_ASSIGNOR
        value: '112'
      - name: ERR__VALUE_DESERIALIZATION
        value: '-159'
      - name: ERR__PURGE_INFLIGHT
        value: '-151'
      - name: ERR__LOG_TRUNCATION
        value: '-139'
      - name: ERR_REQUEST_TIMED_OUT
        value: '7'
      - name: ERR__MAX_POLL_EXCEEDED
        value: '-147'
      - name: ERR_UNKNOWN
        value: '-1'
      - name: ERR__APPLICATION
        value: '-143'
      - name: ERR_UNKNOWN_TOPIC_OR_PART
        value: '3'
      - name: ERR_STALE_CTRL_EPOCH
        value: '11'
      - name: ERR_INVALID_REQUIRED_ACKS
        value: '21'
      - name: ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED
        value: '53'
      - name: ERR_CLUSTER_AUTHORIZATION_FAILED
        value: '31'
      - name: ERR_UNKNOWN_LEADER_EPOCH
        value: '75'
      - name: ERR__KEY_SERIALIZATION
        value: '-162'
      - name: ERR_STALE_MEMBER_EPOCH
        value: '113'
      - name: ERR_DELEGATION_TOKEN_AUTH_DISABLED
        value: '61'
      - name: ERR_INVALID_REPLICA_ASSIGNMENT
        value: '39'
      - name: ERR_INVALID_SESSION_TIMEOUT
        value: '26'
      - name: ERR_ILLEGAL_SASL_STATE
        value: '34'
      - name: ERR_INVALID_REQUEST
        value: '42'
      - name: ERR_INVALID_TRANSACTION_TIMEOUT
        value: '50'
      - name: ERR_SASL_AUTHENTICATION_FAILED
        value: '58'
      - name: ERR_DELEGATION_TOKEN_EXPIRED
        value: '66'
      - name: ERR_FENCED_LEADER_EPOCH
        value: '74'
      - name: ERR_FENCED_INSTANCE_ID
        value: '82'
      - name: ERR_ELIGIBLE_LEADERS_NOT_AVAILABLE
        value: '83'
      - name: ERR_PRODUCER_FENCED
        value: '90'
      - name: ERR_INVALID_UPDATE_VERSION
        value: '95'
      - name: ERR_UNSUPPORTED_COMPRESSION_TYPE
        value: '76'
      - name: ERR__NODE_UPDATE
        value: '-182'
      - name: ERR__NOT_IMPLEMENTED
        value: '-170'
      - name: ERR__UNKNOWN_PARTITION
        value: '-190'
      - name: ERR__IN_PROGRESS
        value: '-178'
      - name: ERR__TIMED_OUT_QUEUE
        value: '-166'
      - name: ERR__BAD_COMPRESSION
        value: '-198'
      - name: ERR__CRIT_SYS_RESOURCE
        value: '-194'
      - name: ERR__INVALID_ARG
        value: '-186'
      - name: ERR__REVOKE_PARTITIONS
        value: '-174'
      - name: ERR_UNKNOWN_MEMBER_ID
        value: '25'
      - name: ERR_GROUP_ID_NOT_FOUND
        value: '69'
      - name: ERR_REBOOTSTRAP_REQUIRED
        value: '129'
      - name: ERR_INVALID_PRODUCER_EPOCH
        value: '47'
      - name: ERR_RESOURCE_NOT_FOUND
        value: '91'
      - name: ERR_UNKNOWN_SUBSCRIPTION_ID
        value: '117'
      - name: ERR__INVALID_TYPE
        value: '-154'
      - name: ERR__FATAL
        value: '-150'
      - name: ERR__INVALID_DIFFERENT_RECORD
        value: '-138'
      - name: ERR_BROKER_NOT_AVAILABLE
        value: '8'
      - name: ERR__UNKNOWN_BROKER
        value: '-146'
      - name: ERR_NO_ERROR
        value: '0'
      - name: ERR__ASSIGNMENT_LOST
        value: '-142'
      - name: ERR_INVALID_MSG_SIZE
        value: '4'
      - name: ERR_OFFSET_METADATA_TOO_LARGE
        value: '12'
      - name: ERR_INCONSISTENT_GROUP_PROTOCOL
        value: '23'
      - name: ERR_ELECTION_NOT_NEEDED
        value: '84'
      - name: ERR_UNSUPPORTED_SASL_MECHANISM
        value: '33'
      - name: ERR_NOT_COORDINATOR
        value: '16'
      - name: ERR_FEATURE_UPDATE_FAILED
        value: '96'
      - name: ERR_STALE_BROKER_EPOCH
        value: '77'
      - name: ERR_OPERATION_NOT_ATTEMPTED
        value: '55'
      - name: ERR__UNSUPPORTED_FEATURE
        value: '-165'
      - name: ERR__VALUE_SERIALIZATION
        value: '-161'
      - name: ERR__READ_ONLY
        value: '-157'
      - name: ERR_TOPIC_DELETION_DISABLED
        value: '73'
      - name: ERR_DUPLICATE_RESOURCE
        value: '92'
      - name: ERR__NOENT
        value: '-156'
      - name: ERR_NOT_ENOUGH_REPLICAS_AFTER_APPEND
        value: '20'
      - name: ERR_INVALID_COMMIT_OFFSET_SIZE
        value: '28'
      - name: ERR_TOPIC_ALREADY_EXISTS
        value: '36'
      - name: ERR_NOT_CONTROLLER
        value: '41'
      - name: ERR_NOT_ENOUGH_REPLICAS
        value: '19'
      - name: ERR_POLICY_VIOLATION
        value: '44'
      - name: ERR_TRANSACTION_COORDINATOR_FENCED
        value: '52'
      - name: ERR_REASSIGNMENT_IN_PROGRESS
        value: '60'
      - name: ERR_NON_EMPTY_GROUP
        value: '68'
      - name: ERR_NO_REASSIGNMENT_IN_PROGRESS
        value: '85'
      - name: ERR_TELEMETRY_TOO_LARGE
        value: '118'
      - name: ERR_DELEGATION_TOKEN_OWNER_MISMATCH
        value: '63'
      - name: ERR_PRINCIPAL_DESERIALIZATION_FAILURE
        value: '97'
      - name: ERR__TIMED_OUT
        value: '-185'
      - name: ERR__CONFLICT
        value: '-173'
      - name: ERR__KEY_DESERIALIZATION
        value: '-160'
      - name: ERR__SSL
        value: '-181'
      - name: ERR__AUTHENTICATION
        value: '-169'
      - name: ERR__PREV_IN_PROGRESS
        value: '-177'
      - name: ERR__FS
        value: '-189'
      - name: ERR__DESTROY
        value: '-197'
      - name: ERR__RESOLVE
        value: '-193'
      - name: ERR_INVALID_PRODUCER_ID_MAPPING
        value: '49'
      - name: ERR_REBALANCE_IN_PROGRESS
        value: '27'
      - name: ERR_INVALID_FETCH_SESSION_EPOCH
        value: '71'
      item_type: enum
      name: ErrorCode
      pos:
        line_end: 573
        line_start: 200
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CERT_PUBLIC_KEY
      - name: CERT__CNT
      - name: CERT_PRIVATE_KEY
      - name: CERT_CA
      item_type: enum
      name: CertificateType
      pos:
        line_end: 593
        line_start: 588
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CERT_ENC_PKCS12
      - name: CERT_ENC__CNT
      - name: CERT_ENC_PEM
      - name: CERT_ENC_DER
      item_type: enum
      name: CertificateEncoding
      pos:
        line_end: 604
        line_start: 599
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: EVENT_ERROR
      - name: EVENT_LOG
      - name: EVENT_THROTTLE
      - name: EVENT_STATS
      item_type: enum
      name: Type
      pos:
        line_end: 877
        line_start: 872
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: EVENT_SEVERITY_EMERG
        value: '0'
      - name: EVENT_SEVERITY_ALERT
        value: '1'
      - name: EVENT_SEVERITY_CRITICAL
        value: '2'
      - name: EVENT_SEVERITY_WARNING
        value: '4'
      - name: EVENT_SEVERITY_ERROR
        value: '3'
      - name: EVENT_SEVERITY_NOTICE
        value: '5'
      - name: EVENT_SEVERITY_INFO
        value: '6'
      - name: EVENT_SEVERITY_DEBUG
        value: '7'
      item_type: enum
      name: Severity
      pos:
        line_end: 889
        line_start: 880
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CONF_GLOBAL
      - name: CONF_TOPIC
      item_type: enum
      name: ConfType
      pos:
        line_end: 1224
        line_start: 1221
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CONF_UNKNOWN
        value: '-2'
      - name: CONF_OK
        value: '0'
      - name: CONF_INVALID
        value: '-1'
      item_type: enum
      name: ConfResult
      pos:
        line_end: 1233
        line_start: 1229
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: MSG_TIMESTAMP_NOT_AVAILABLE
      - name: MSG_TIMESTAMP_LOG_APPEND_TIME
      - name: MSG_TIMESTAMP_CREATE_TIME
      item_type: enum
      name: MessageTimestampType
      pos:
        line_end: 2139
        line_start: 2135
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: MSG_STATUS_NOT_PERSISTED
        value: '0'
      - name: MSG_STATUS_POSSIBLY_PERSISTED
        value: '1'
      - name: MSG_STATUS_PERSISTED
        value: '2'
      item_type: enum
      name: Status
      pos:
        line_end: 2417
        line_start: 2402
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: ERR__RETRY
        value: '-153'
      - name: ERR__INCONSISTENT
        value: '-149'
      - name: ERR__DESTROY_BROKER
        value: '-137'
      - name: ERR_REPLICA_NOT_AVAILABLE
        value: '9'
      - name: ERR__NOT_CONFIGURED
        value: '-145'
      - name: ERR_OFFSET_OUT_OF_RANGE
        value: '1'
      - name: ERR_LEADER_NOT_AVAILABLE
        value: '5'
      - name: ERR__NOOP
        value: '-141'
      - name: ERR_NETWORK_EXCEPTION
        value: '13'
      - name: ERR_RECORD_LIST_TOO_LARGE
        value: '18'
      - name: ERR_INCONSISTENT_VOTER_SET
        value: '94'
      - name: ERR_UNKNOWN_TOPIC_ID
        value: '100'
      - name: ERR__WAIT_CACHE
        value: '-164'
      - name: ERR_LOG_DIR_NOT_FOUND
        value: '57'
      - name: ERR_UNSUPPORTED_VERSION
        value: '35'
      - name: ERR_MEMBER_ID_REQUIRED
        value: '79'
      - name: ERR_TOPIC_EXCEPTION
        value: '17'
      - name: ERR_ILLEGAL_GENERATION
        value: '22'
      - name: ERR_GROUP_AUTHORIZATION_FAILED
        value: '30'
      - name: ERR_INVALID_REPLICATION_FACTOR
        value: '38'
      - name: ERR_DUPLICATE_SEQUENCE_NUMBER
        value: '46'
      - name: ERR_SECURITY_DISABLED
        value: '54'
      - name: ERR_DELEGATION_TOKEN_NOT_FOUND
        value: '62'
      - name: ERR_FETCH_SESSION_ID_NOT_FOUND
        value: '70'
      - name: ERR_OFFSET_NOT_AVAILABLE
        value: '78'
      - name: ERR_GROUP_SUBSCRIBED_TO_TOPIC
        value: '86'
      - name: ERR_DELEGATION_TOKEN_AUTHORIZATION_FAILED
        value: '65'
      - name: ERR_UNSUPPORTED_FOR_MESSAGE_FORMAT
        value: '43'
      - name: ERR_INVALID_RECORD
        value: '87'
      - name: ERR__QUEUE_FULL
        value: '-184'
      - name: ERR__STATE
        value: '-172'
      - name: ERR__WAIT_COORD
        value: '-180'
      - name: ERR__NO_OFFSET
        value: '-168'
      - name: ERR__UNKNOWN_TOPIC
        value: '-188'
      - name: ERR__BEGIN
        value: '-200'
      - name: ERR__FAIL
        value: '-196'
      - name: ERR__MSG_TIMED_OUT
        value: '-192'
      - name: ERR__EXISTING_SUBSCRIPTION
        value: '-176'
      - name: ERR_FENCED_MEMBER_EPOCH
        value: '110'
      - name: ERR_TOPIC_AUTHORIZATION_FAILED
        value: '29'
      - name: ERR__PARTIAL
        value: '-158'
      - name: ERR__PURGE_QUEUE
        value: '-152'
      - name: ERR__AUTO_OFFSET_RESET
        value: '-140'
      - name: ERR_NOT_LEADER_FOR_PARTITION
        value: '6'
      - name: ERR__GAPLESS_GUARANTEE
        value: '-148'
      - name: ERR__END
        value: '-100'
      - name: ERR_MSG_SIZE_TOO_LARGE
        value: '10'
      - name: ERR__FENCED
        value: '-144'
      - name: ERR_INVALID_MSG
        value: '2'
      - name: ERR_COORDINATOR_LOAD_IN_PROGRESS
        value: '14'
      - name: ERR_CONCURRENT_TRANSACTIONS
        value: '51'
      - name: ERR__INTR
        value: '-163'
      - name: ERR__UNDERFLOW
        value: '-155'
      - name: ERR_INVALID_PARTITIONS
        value: '37'
      - name: ERR_UNRELEASED_INSTANCE_ID
        value: '111'
      - name: ERR_GROUP_MAX_SIZE_REACHED
        value: '81'
      - name: ERR_UNKNOWN_PRODUCER_ID
        value: '59'
      - name: ERR_COORDINATOR_NOT_AVAILABLE
        value: '15'
      - name: ERR_INVALID_GROUP_ID
        value: '24'
      - name: ERR_INVALID_TIMESTAMP
        value: '32'
      - name: ERR_INVALID_CONFIG
        value: '40'
      - name: ERR_INVALID_TXN_STATE
        value: '48'
      - name: ERR_KAFKA_STORAGE_ERROR
        value: '56'
      - name: ERR_DELEGATION_TOKEN_REQUEST_NOT_ALLOWED
        value: '64'
      - name: ERR_LISTENER_NOT_FOUND
        value: '72'
      - name: ERR_PREFERRED_LEADER_NOT_AVAILABLE
        value: '80'
      - name: ERR_UNSTABLE_OFFSET_COMMIT
        value: '88'
      - name: ERR_UNACCEPTABLE_CREDENTIAL
        value: '93'
      - name: ERR_OUT_OF_ORDER_SEQUENCE_NUMBER
        value: '45'
      - name: ERR__ISR_INSUFF
        value: '-183'
      - name: ERR__UNKNOWN_PROTOCOL
        value: '-171'
      - name: ERR__UNKNOWN_GROUP
        value: '-179'
      - name: ERR__OUTDATED
        value: '-167'
      - name: ERR__BAD_MSG
        value: '-199'
      - name: ERR__TRANSPORT
        value: '-195'
      - name: ERR__PARTITION_EOF
        value: '-191'
      - name: ERR__ALL_BROKERS_DOWN
        value: '-187'
      - name: ERR__ASSIGN_PARTITIONS
        value: '-175'
      - name: ERR_INVALID_PRINCIPAL_TYPE
        value: '67'
      - name: ERR_THROTTLING_QUOTA_EXCEEDED
        value: '89'
      - name: ERR_UNSUPPORTED_ASSIGNOR
        value: '112'
      - name: ERR__VALUE_DESERIALIZATION
        value: '-159'
      - name: ERR__PURGE_INFLIGHT
        value: '-151'
      - name: ERR__LOG_TRUNCATION
        value: '-139'
      - name: ERR_REQUEST_TIMED_OUT
        value: '7'
      - name: ERR__MAX_POLL_EXCEEDED
        value: '-147'
      - name: ERR_UNKNOWN
        value: '-1'
      - name: ERR__APPLICATION
        value: '-143'
      - name: ERR_UNKNOWN_TOPIC_OR_PART
        value: '3'
      - name: ERR_STALE_CTRL_EPOCH
        value: '11'
      - name: ERR_INVALID_REQUIRED_ACKS
        value: '21'
      - name: ERR_TRANSACTIONAL_ID_AUTHORIZATION_FAILED
        value: '53'
      - name: ERR_CLUSTER_AUTHORIZATION_FAILED
        value: '31'
      - name: ERR_UNKNOWN_LEADER_EPOCH
        value: '75'
      - name: ERR__KEY_SERIALIZATION
        value: '-162'
      - name: ERR_STALE_MEMBER_EPOCH
        value: '113'
      - name: ERR_DELEGATION_TOKEN_AUTH_DISABLED
        value: '61'
      - name: ERR_INVALID_REPLICA_ASSIGNMENT
        value: '39'
      - name: ERR_INVALID_SESSION_TIMEOUT
        value: '26'
      - name: ERR_ILLEGAL_SASL_STATE
        value: '34'
      - name: ERR_INVALID_REQUEST
        value: '42'
      - name: ERR_INVALID_TRANSACTION_TIMEOUT
        value: '50'
      - name: ERR_SASL_AUTHENTICATION_FAILED
        value: '58'
      - name: ERR_DELEGATION_TOKEN_EXPIRED
        value: '66'
      - name: ERR_FENCED_LEADER_EPOCH
        value: '74'
      - name: ERR_FENCED_INSTANCE_ID
        value: '82'
      - name: ERR_ELIGIBLE_LEADERS_NOT_AVAILABLE
        value: '83'
      - name: ERR_PRODUCER_FENCED
        value: '90'
      - name: ERR_INVALID_UPDATE_VERSION
        value: '95'
      - name: ERR_UNSUPPORTED_COMPRESSION_TYPE
        value: '76'
      - name: ERR__NODE_UPDATE
        value: '-182'
      - name: ERR__NOT_IMPLEMENTED
        value: '-170'
      - name: ERR__UNKNOWN_PARTITION
        value: '-190'
      - name: ERR__IN_PROGRESS
        value: '-178'
      - name: ERR__TIMED_OUT_QUEUE
        value: '-166'
      - name: ERR__BAD_COMPRESSION
        value: '-198'
      - name: ERR__CRIT_SYS_RESOURCE
        value: '-194'
      - name: ERR__INVALID_ARG
        value: '-186'
      - name: ERR__REVOKE_PARTITIONS
        value: '-174'
      - name: ERR_UNKNOWN_MEMBER_ID
        value: '25'
      - name: ERR_GROUP_ID_NOT_FOUND
        value: '69'
      - name: ERR_REBOOTSTRAP_REQUIRED
        value: '129'
      - name: ERR_INVALID_PRODUCER_EPOCH
        value: '47'
      - name: ERR_RESOURCE_NOT_FOUND
        value: '91'
      - name: ERR_UNKNOWN_SUBSCRIPTION_ID
        value: '117'
      - name: ERR__INVALID_TYPE
        value: '-154'
      - name: ERR__FATAL
        value: '-150'
      - name: ERR__INVALID_DIFFERENT_RECORD
        value: '-138'
      - name: ERR_BROKER_NOT_AVAILABLE
        value: '8'
      - name: ERR__UNKNOWN_BROKER
        value: '-146'
      - name: ERR_NO_ERROR
        value: '0'
      - name: ERR__ASSIGNMENT_LOST
        value: '-142'
      - name: ERR_INVALID_MSG_SIZE
        value: '4'
      - name: ERR_OFFSET_METADATA_TOO_LARGE
        value: '12'
      - name: ERR_INCONSISTENT_GROUP_PROTOCOL
        value: '23'
      - name: ERR_ELECTION_NOT_NEEDED
        value: '84'
      - name: ERR_UNSUPPORTED_SASL_MECHANISM
        value: '33'
      - name: ERR_NOT_COORDINATOR
        value: '16'
      - name: ERR_FEATURE_UPDATE_FAILED
        value: '96'
      - name: ERR_STALE_BROKER_EPOCH
        value: '77'
      - name: ERR_OPERATION_NOT_ATTEMPTED
        value: '55'
      - name: ERR__UNSUPPORTED_FEATURE
        value: '-165'
      - name: ERR__VALUE_SERIALIZATION
        value: '-161'
      - name: ERR__READ_ONLY
        value: '-157'
      - name: ERR_TOPIC_DELETION_DISABLED
        value: '73'
      - name: ERR_DUPLICATE_RESOURCE
        value: '92'
      - name: ERR__NOENT
        value: '-156'
      - name: ERR_NOT_ENOUGH_REPLICAS_AFTER_APPEND
        value: '20'
      - name: ERR_INVALID_COMMIT_OFFSET_SIZE
        value: '28'
      - name: ERR_TOPIC_ALREADY_EXISTS
        value: '36'
      - name: ERR_NOT_CONTROLLER
        value: '41'
      - name: ERR_NOT_ENOUGH_REPLICAS
        value: '19'
      - name: ERR_POLICY_VIOLATION
        value: '44'
      - name: ERR_TRANSACTION_COORDINATOR_FENCED
        value: '52'
      - name: ERR_REASSIGNMENT_IN_PROGRESS
        value: '60'
      - name: ERR_NON_EMPTY_GROUP
        value: '68'
      - name: ERR_NO_REASSIGNMENT_IN_PROGRESS
        value: '85'
      - name: ERR_TELEMETRY_TOO_LARGE
        value: '118'
      - name: ERR_DELEGATION_TOKEN_OWNER_MISMATCH
        value: '63'
      - name: ERR_PRINCIPAL_DESERIALIZATION_FAILURE
        value: '97'
      - name: ERR__TIMED_OUT
        value: '-185'
      - name: ERR__CONFLICT
        value: '-173'
      - name: ERR__KEY_DESERIALIZATION
        value: '-160'
      - name: ERR__SSL
        value: '-181'
      - name: ERR__AUTHENTICATION
        value: '-169'
      - name: ERR__PREV_IN_PROGRESS
        value: '-177'
      - name: ERR__FS
        value: '-189'
      - name: ERR__DESTROY
        value: '-197'
      - name: ERR__RESOLVE
        value: '-193'
      - name: ERR_INVALID_PRODUCER_ID_MAPPING
        value: '49'
      - name: ERR_REBALANCE_IN_PROGRESS
        value: '27'
      - name: ERR_INVALID_FETCH_SESSION_EPOCH
        value: '71'
      item_type: enum
      name: ErrorCode
      pos:
        line_end: 573
        line_start: 200
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CERT_PUBLIC_KEY
      - name: CERT__CNT
      - name: CERT_PRIVATE_KEY
      - name: CERT_CA
      item_type: enum
      name: CertificateType
      pos:
        line_end: 593
        line_start: 588
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CERT_ENC_PKCS12
      - name: CERT_ENC__CNT
      - name: CERT_ENC_PEM
      - name: CERT_ENC_DER
      item_type: enum
      name: CertificateEncoding
      pos:
        line_end: 604
        line_start: 599
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: EVENT_ERROR
      - name: EVENT_LOG
      - name: EVENT_THROTTLE
      - name: EVENT_STATS
      item_type: enum
      name: Type
      pos:
        line_end: 877
        line_start: 872
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: EVENT_SEVERITY_EMERG
        value: '0'
      - name: EVENT_SEVERITY_ALERT
        value: '1'
      - name: EVENT_SEVERITY_CRITICAL
        value: '2'
      - name: EVENT_SEVERITY_WARNING
        value: '4'
      - name: EVENT_SEVERITY_ERROR
        value: '3'
      - name: EVENT_SEVERITY_NOTICE
        value: '5'
      - name: EVENT_SEVERITY_INFO
        value: '6'
      - name: EVENT_SEVERITY_DEBUG
        value: '7'
      item_type: enum
      name: Severity
      pos:
        line_end: 889
        line_start: 880
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CONF_GLOBAL
      - name: CONF_TOPIC
      item_type: enum
      name: ConfType
      pos:
        line_end: 1224
        line_start: 1221
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: CONF_UNKNOWN
        value: '-2'
      - name: CONF_OK
        value: '0'
      - name: CONF_INVALID
        value: '-1'
      item_type: enum
      name: ConfResult
      pos:
        line_end: 1233
        line_start: 1229
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: MSG_TIMESTAMP_NOT_AVAILABLE
      - name: MSG_TIMESTAMP_LOG_APPEND_TIME
      - name: MSG_TIMESTAMP_CREATE_TIME
      item_type: enum
      name: MessageTimestampType
      pos:
        line_end: 2139
        line_start: 2135
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    - enumerators:
      - name: MSG_STATUS_NOT_PERSISTED
        value: '0'
      - name: MSG_STATUS_POSSIBLY_PERSISTED
        value: '1'
      - name: MSG_STATUS_PERSISTED
        value: '2'
      item_type: enum
      name: Status
      pos:
        line_end: 2417
        line_start: 2402
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
    preproc_defs:
    - item_type: preproc_def
      name: RD_EXPORT
      pos:
        line_end: 74
        line_start: 73
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: RD_EXPORT
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: RD_KAFKA_VERSION
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type_or_value: '0x020c01ff'
    - item_type: preproc_def
      name: RD_KAFKA_VERSION
      pos:
        line_end: 115
        line_start: 114
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type_or_value: '0x020c01ff'
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: SSIZE_T
    - item_type: typedef
      name: ReplicasVector
      pos:
        line_end: 3697
        line_start: 3697
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<int32_t>
    - item_type: typedef
      name: ISRSVector
      pos:
        line_end: 3699
        line_start: 3699
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<int32_t>
    - item_type: typedef
      name: ReplicasIterator
      pos:
        line_end: 3702
        line_start: 3702
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: ISRSIterator
      pos:
        line_end: 3704
        line_start: 3704
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: PartitionMetadataVector
      pos:
        line_end: 3735
        line_start: 3735
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const PartitionMetadata *>
    - item_type: typedef
      name: PartitionMetadataIterator
      pos:
        line_end: 3737
        line_start: 3737
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: BrokerMetadataVector
      pos:
        line_end: 3758
        line_start: 3758
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const BrokerMetadata *>
    - item_type: typedef
      name: TopicMetadataVector
      pos:
        line_end: 3760
        line_start: 3760
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const TopicMetadata *>
    - item_type: typedef
      name: BrokerMetadataIterator
      pos:
        line_end: 3763
        line_start: 3763
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: TopicMetadataIterator
      pos:
        line_end: 3765
        line_start: 3765
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: ReplicasVector
      pos:
        line_end: 3697
        line_start: 3697
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<int32_t>
    - item_type: typedef
      name: ISRSVector
      pos:
        line_end: 3699
        line_start: 3699
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<int32_t>
    - item_type: typedef
      name: ReplicasIterator
      pos:
        line_end: 3702
        line_start: 3702
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: ISRSIterator
      pos:
        line_end: 3704
        line_start: 3704
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: PartitionMetadataVector
      pos:
        line_end: 3735
        line_start: 3735
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const PartitionMetadata *>
    - item_type: typedef
      name: PartitionMetadataIterator
      pos:
        line_end: 3737
        line_start: 3737
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: BrokerMetadataVector
      pos:
        line_end: 3758
        line_start: 3758
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const BrokerMetadata *>
    - item_type: typedef
      name: TopicMetadataVector
      pos:
        line_end: 3760
        line_start: 3760
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: vector<const TopicMetadata *>
    - item_type: typedef
      name: BrokerMetadataIterator
      pos:
        line_end: 3763
        line_start: 3763
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    - item_type: typedef
      name: TopicMetadataIterator
      pos:
        line_end: 3765
        line_start: 3765
        source_file: /src/librdkafka/src-cpp/rdkafkacpp.h
      type: const_iterator
    union: []
- function_names:
  - RdKafka::TopicPartition::~TopicPartition()
  - "*RdKafka::TopicPartition::create(\n    const std::string &topic,\n    int partition)"
  - "*RdKafka::TopicPartition::create(\n    const std::string &topic,\n    int partition,\n
    \   int64_t offset)"
  - "RdKafka::TopicPartition::destroy(\n    std::vector<TopicPartition *> &partitions)"
  source_file: /src/librdkafka/src-cpp/TopicPartitionImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::Message::~Message()
  source_file: /src/librdkafka/src-cpp/MessageImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::consume_cb_trampoline
  - RdKafka::log_cb_trampoline
  - RdKafka::error_cb_trampoline
  - RdKafka::throttle_cb_trampoline
  - RdKafka::stats_cb_trampoline
  - RdKafka::socket_cb_trampoline
  - RdKafka::open_cb_trampoline
  - RdKafka::oauthbearer_token_refresh_cb_trampoline
  - RdKafka::ssl_cert_verify_cb_trampoline
  - "RdKafka::HandleImpl::metadata(bool all_topics,\n                                                 const
    Topic *only_rkt,\n                                                 Metadata **metadatap,\n
    \                                                int timeout_ms)"
  - c_parts_to_partitions
  - free_partition_vector
  - RdKafka::rebalance_cb_trampoline
  - RdKafka::offset_commit_cb_trampoline0
  - offset_commit_cb_trampoline
  - RdKafka::HandleImpl::set_common_config(const RdKafka::ConfImpl *confimpl)
  - "RdKafka::HandleImpl::pause(\n    std::vector<RdKafka::TopicPartition *> &partitions)"
  - "RdKafka::HandleImpl::resume(\n    std::vector<RdKafka::TopicPartition *> &partitions)"
  - "*RdKafka::HandleImpl::get_partition_queue(\n    const TopicPartition *part)"
  - RdKafka::HandleImpl::set_log_queue(RdKafka::Queue *queue)
  - RdKafka::partitions_to_c_parts
  - RdKafka::update_partitions_from_c_parts
  - RdKafka::partitions_to_c_parts
  - RdKafka::update_partitions_from_c_parts
  source_file: /src/librdkafka/src-cpp/HandleImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::Consumer::~Consumer()
  - "*RdKafka::Consumer::create(const RdKafka::Conf *conf,\n                                             std::string
    &errstr)"
  - RdKafka::Consumer::OffsetTail(int64_t offset)
  - "RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
    partition,\n                                                int64_t offset)"
  - "RdKafka::ConsumerImpl::start(Topic *topic,\n                                                int32_t
    partition,\n                                                int64_t offset,\n
    \                                               Queue *queue)"
  - "RdKafka::ConsumerImpl::stop(Topic *topic,\n                                               int32_t
    partition)"
  - "RdKafka::ConsumerImpl::seek(Topic *topic,\n                                               int32_t
    partition,\n                                               int64_t offset,\n                                               int
    timeout_ms)"
  - "*RdKafka::ConsumerImpl::consume(Topic *topic,\n                                                 int32_t
    partition,\n                                                 int timeout_ms)"
  - ConsumerImplCallback
  - consume_cb_trampoline
  - ConsumerImplCallback
  - consume_cb_trampoline
  - "RdKafka::ConsumerImpl::consume_callback(RdKafka::Topic *topic,\n                                            int32_t
    partition,\n                                            int timeout_ms,\n                                            RdKafka::ConsumeCb
    *consume_cb,\n                                            void *opaque)"
  - '*RdKafka::ConsumerImpl::consume(Queue *queue, int timeout_ms)'
  - ConsumerImplQueueCallback
  - consume_cb_trampoline
  - ConsumerImplQueueCallback
  - consume_cb_trampoline
  - "RdKafka::ConsumerImpl::consume_callback(Queue *queue,\n                                            int
    timeout_ms,\n                                            RdKafka::ConsumeCb *consume_cb,\n
    \                                           void *opaque)"
  source_file: /src/librdkafka/src-cpp/ConsumerImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*topic'
        type: RdKafka::Topic
      - name: '*cb_cls'
        type: RdKafka::ConsumeCb
      - name: '*cb_data'
        type: void
      item_type: struct
      name: ConsumerImplCallback
      pos:
        line_end: 168
        line_start: 148
        source_file: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    - fields:
      - name: '*topic'
        type: RdKafka::Topic
      - name: '*cb_cls'
        type: RdKafka::ConsumeCb
      - name: '*cb_data'
        type: void
      item_type: struct
      name: ConsumerImplCallback
      pos:
        line_end: 168
        line_start: 148
        source_file: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    - fields:
      - name: '*cb_cls'
        type: RdKafka::ConsumeCb
      - name: '*cb_data'
        type: void
      item_type: struct
      name: ConsumerImplQueueCallback
      pos:
        line_end: 231
        line_start: 208
        source_file: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    - fields:
      - name: '*cb_cls'
        type: RdKafka::ConsumeCb
      - name: '*cb_data'
        type: void
      item_type: struct
      name: ConsumerImplQueueCallback
      pos:
        line_end: 231
        line_start: 208
        source_file: /src/librdkafka/src-cpp/ConsumerImpl.cpp
    typedefs: []
    union: []
- function_names:
  - RdKafka::Topic::~Topic()
  - partitioner_cb_trampoline
  - partitioner_kp_cb_trampoline
  - "*RdKafka::Topic::create(Handle *base,\n                                       const
    std::string &topic_str,\n                                       const Conf *conf,\n
    \                                      std::string &errstr)"
  source_file: /src/librdkafka/src-cpp/TopicImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~ErrorImpl()
  - RdKafka::ErrorImpl::ErrorImpl
  - RdKafka::ErrorImpl::ErrorImpl
  - RdKafka::ErrorImpl::create
  - RdKafka::ErrorImpl::code
  - RdKafka::ErrorImpl::name
  - RdKafka::ErrorImpl::str
  - RdKafka::ErrorImpl::is_fatal
  - RdKafka::ErrorImpl::is_retriable
  - RdKafka::ErrorImpl::txn_requires_abort
  - ~EventImpl()
  - RdKafka::EventImpl::EventImpl
  - RdKafka::EventImpl::EventImpl
  - RdKafka::EventImpl::type
  - RdKafka::EventImpl::err
  - RdKafka::EventImpl::severity
  - RdKafka::EventImpl::fac
  - RdKafka::EventImpl::str
  - RdKafka::EventImpl::broker_name
  - RdKafka::EventImpl::broker_id
  - RdKafka::EventImpl::throttle_time
  - RdKafka::EventImpl::fatal
  - RdKafka::QueueImpl::QueueImpl
  - ~QueueImpl()
  - RdKafka::HeadersImpl::HeadersImpl
  - RdKafka::HeadersImpl::HeadersImpl
  - RdKafka::HeadersImpl::HeadersImpl
  - ~HeadersImpl()
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::remove
  - RdKafka::HeadersImpl::get
  - RdKafka::HeadersImpl::get_last
  - RdKafka::HeadersImpl::get_all
  - RdKafka::HeadersImpl::size
  - RdKafka::HeadersImpl::c_headers_destroyed
  - RdKafka::HeadersImpl::c_ptr
  - RdKafka::HeadersImpl::from_vector
  - ~MessageImpl()
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::errstr
  - RdKafka::MessageImpl::err
  - RdKafka::MessageImpl::topic
  - RdKafka::MessageImpl::topic_name
  - RdKafka::MessageImpl::partition
  - RdKafka::MessageImpl::payload
  - RdKafka::MessageImpl::len
  - RdKafka::MessageImpl::key
  - RdKafka::MessageImpl::key_pointer
  - RdKafka::MessageImpl::key_len
  - RdKafka::MessageImpl::offset
  - RdKafka::MessageImpl::timestamp
  - RdKafka::MessageImpl::msg_opaque
  - RdKafka::MessageImpl::latency
  - RdKafka::MessageImpl::c_ptr
  - RdKafka::MessageImpl::status
  - RdKafka::MessageImpl::headers
  - RdKafka::MessageImpl::headers
  - RdKafka::MessageImpl::broker_id
  - RdKafka::MessageImpl::leader_epoch
  - RdKafka::MessageImpl::offset_store
  - RdKafka::ConfImpl::ConfImpl
  - ~ConfImpl()
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set_engine_callback_data
  - RdKafka::ConfImpl::set_ssl_cert
  - RdKafka::ConfImpl::enable_sasl_queue
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::c_ptr_global
  - RdKafka::ConfImpl::c_ptr_topic
  - ~HandleImpl()
  - RdKafka::HandleImpl::HandleImpl
  - RdKafka::HandleImpl::name
  - RdKafka::HandleImpl::memberid
  - RdKafka::HandleImpl::poll
  - RdKafka::HandleImpl::outq_len
  - RdKafka::HandleImpl::query_watermark_offsets
  - RdKafka::HandleImpl::get_watermark_offsets
  - RdKafka::HandleImpl::get_sasl_queue
  - RdKafka::HandleImpl::get_background_queue
  - RdKafka::HandleImpl::offsetsForTimes
  - RdKafka::HandleImpl::yield
  - RdKafka::HandleImpl::clusterid
  - RdKafka::HandleImpl::c_ptr
  - RdKafka::HandleImpl::controllerid
  - RdKafka::HandleImpl::fatal_error
  - RdKafka::HandleImpl::oauthbearer_set_token
  - RdKafka::HandleImpl::oauthbearer_set_token_failure
  - RdKafka::HandleImpl::sasl_background_callbacks_enable
  - RdKafka::HandleImpl::sasl_set_credentials
  - RdKafka::HandleImpl::mem_malloc
  - RdKafka::HandleImpl::mem_free
  - ~TopicImpl()
  - RdKafka::TopicImpl::name
  - RdKafka::TopicImpl::partition_available
  - RdKafka::TopicImpl::offset_store
  - RdKafka::TopicImpl::c_ptr
  - ~TopicPartitionImpl()
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::partition
  - '&topic() const'
  - RdKafka::TopicPartitionImpl::offset
  - RdKafka::TopicPartitionImpl::err
  - RdKafka::TopicPartitionImpl::set_offset
  - RdKafka::TopicPartitionImpl::get_leader_epoch
  - RdKafka::TopicPartitionImpl::set_leader_epoch
  - RdKafka::TopicPartitionImpl::get_metadata
  - RdKafka::TopicPartitionImpl::set_metadata
  - '&operator<<(std::ostream &ostrm) const'
  - ~ConsumerGroupMetadataImpl()
  - RdKafka::ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
  - ~KafkaConsumerImpl()
  - RdKafka::KafkaConsumerImpl::rebalance_protocol
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::groupMetadata
  - RdKafka::KafkaConsumerImpl::closed
  - RdKafka::KafkaConsumerImpl::offsets_store
  - RdKafka::MetadataImpl::brokers
  - RdKafka::MetadataImpl::topics
  - RdKafka::MetadataImpl::orig_broker_name
  - RdKafka::MetadataImpl::orig_broker_id
  - ~ConsumerImpl()
  - ~ProducerImpl()
  - RdKafka::ProducerImpl::flush
  - RdKafka::ProducerImpl::purge
  - RdKafka::ProducerImpl::init_transactions
  - RdKafka::ProducerImpl::begin_transaction
  - RdKafka::ProducerImpl::send_offsets_to_transaction
  - RdKafka::ProducerImpl::commit_transaction
  - RdKafka::ProducerImpl::abort_transaction
  - ~ErrorImpl()
  - RdKafka::ErrorImpl::ErrorImpl
  - RdKafka::ErrorImpl::ErrorImpl
  - RdKafka::ErrorImpl::create
  - RdKafka::ErrorImpl::code
  - RdKafka::ErrorImpl::name
  - RdKafka::ErrorImpl::str
  - RdKafka::ErrorImpl::is_fatal
  - RdKafka::ErrorImpl::is_retriable
  - RdKafka::ErrorImpl::txn_requires_abort
  - ~EventImpl()
  - RdKafka::EventImpl::EventImpl
  - RdKafka::EventImpl::EventImpl
  - RdKafka::EventImpl::type
  - RdKafka::EventImpl::err
  - RdKafka::EventImpl::severity
  - RdKafka::EventImpl::fac
  - RdKafka::EventImpl::str
  - RdKafka::EventImpl::broker_name
  - RdKafka::EventImpl::broker_id
  - RdKafka::EventImpl::throttle_time
  - RdKafka::EventImpl::fatal
  - RdKafka::QueueImpl::QueueImpl
  - ~QueueImpl()
  - RdKafka::HeadersImpl::HeadersImpl
  - RdKafka::HeadersImpl::HeadersImpl
  - RdKafka::HeadersImpl::HeadersImpl
  - ~HeadersImpl()
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::add
  - RdKafka::HeadersImpl::remove
  - RdKafka::HeadersImpl::get
  - RdKafka::HeadersImpl::get_last
  - RdKafka::HeadersImpl::get_all
  - RdKafka::HeadersImpl::size
  - RdKafka::HeadersImpl::c_headers_destroyed
  - RdKafka::HeadersImpl::c_ptr
  - RdKafka::HeadersImpl::from_vector
  - ~MessageImpl()
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::MessageImpl
  - RdKafka::MessageImpl::errstr
  - RdKafka::MessageImpl::err
  - RdKafka::MessageImpl::topic
  - RdKafka::MessageImpl::topic_name
  - RdKafka::MessageImpl::partition
  - RdKafka::MessageImpl::payload
  - RdKafka::MessageImpl::len
  - RdKafka::MessageImpl::key
  - RdKafka::MessageImpl::key_pointer
  - RdKafka::MessageImpl::key_len
  - RdKafka::MessageImpl::offset
  - RdKafka::MessageImpl::timestamp
  - RdKafka::MessageImpl::msg_opaque
  - RdKafka::MessageImpl::latency
  - RdKafka::MessageImpl::c_ptr
  - RdKafka::MessageImpl::status
  - RdKafka::MessageImpl::headers
  - RdKafka::MessageImpl::headers
  - RdKafka::MessageImpl::broker_id
  - RdKafka::MessageImpl::leader_epoch
  - RdKafka::MessageImpl::offset_store
  - RdKafka::ConfImpl::ConfImpl
  - ~ConfImpl()
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::set_engine_callback_data
  - RdKafka::ConfImpl::set_ssl_cert
  - RdKafka::ConfImpl::enable_sasl_queue
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::get
  - RdKafka::ConfImpl::set
  - RdKafka::ConfImpl::c_ptr_global
  - RdKafka::ConfImpl::c_ptr_topic
  - ~HandleImpl()
  - RdKafka::HandleImpl::HandleImpl
  - RdKafka::HandleImpl::name
  - RdKafka::HandleImpl::memberid
  - RdKafka::HandleImpl::poll
  - RdKafka::HandleImpl::outq_len
  - RdKafka::HandleImpl::query_watermark_offsets
  - RdKafka::HandleImpl::get_watermark_offsets
  - RdKafka::HandleImpl::get_sasl_queue
  - RdKafka::HandleImpl::get_background_queue
  - RdKafka::HandleImpl::offsetsForTimes
  - RdKafka::HandleImpl::yield
  - RdKafka::HandleImpl::clusterid
  - RdKafka::HandleImpl::c_ptr
  - RdKafka::HandleImpl::controllerid
  - RdKafka::HandleImpl::fatal_error
  - RdKafka::HandleImpl::oauthbearer_set_token
  - RdKafka::HandleImpl::oauthbearer_set_token_failure
  - RdKafka::HandleImpl::sasl_background_callbacks_enable
  - RdKafka::HandleImpl::sasl_set_credentials
  - RdKafka::HandleImpl::mem_malloc
  - RdKafka::HandleImpl::mem_free
  - ~TopicImpl()
  - RdKafka::TopicImpl::name
  - RdKafka::TopicImpl::partition_available
  - RdKafka::TopicImpl::offset_store
  - RdKafka::TopicImpl::c_ptr
  - ~TopicPartitionImpl()
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::TopicPartitionImpl
  - RdKafka::TopicPartitionImpl::partition
  - '&topic() const'
  - RdKafka::TopicPartitionImpl::offset
  - RdKafka::TopicPartitionImpl::err
  - RdKafka::TopicPartitionImpl::set_offset
  - RdKafka::TopicPartitionImpl::get_leader_epoch
  - RdKafka::TopicPartitionImpl::set_leader_epoch
  - RdKafka::TopicPartitionImpl::get_metadata
  - RdKafka::TopicPartitionImpl::set_metadata
  - '&operator<<(std::ostream &ostrm) const'
  - ~ConsumerGroupMetadataImpl()
  - RdKafka::ConsumerGroupMetadataImpl::ConsumerGroupMetadataImpl
  - ~KafkaConsumerImpl()
  - RdKafka::KafkaConsumerImpl::rebalance_protocol
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitAsync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::commitSync
  - RdKafka::KafkaConsumerImpl::groupMetadata
  - RdKafka::KafkaConsumerImpl::closed
  - RdKafka::KafkaConsumerImpl::offsets_store
  - RdKafka::MetadataImpl::brokers
  - RdKafka::MetadataImpl::topics
  - RdKafka::MetadataImpl::orig_broker_name
  - RdKafka::MetadataImpl::orig_broker_id
  - ~ConsumerImpl()
  - ~ProducerImpl()
  - RdKafka::ProducerImpl::flush
  - RdKafka::ProducerImpl::purge
  - RdKafka::ProducerImpl::init_transactions
  - RdKafka::ProducerImpl::begin_transaction
  - RdKafka::ProducerImpl::send_offsets_to_transaction
  - RdKafka::ProducerImpl::commit_transaction
  - RdKafka::ProducerImpl::abort_transaction
  source_file: /src/librdkafka/src-cpp/rdkafkacpp_int.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: mode_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/librdkafka/src-cpp/rdkafkacpp_int.h
      type: int
    union: []
- function_names:
  - RdKafka::version
  - RdKafka::version_str
  - RdKafka::get_debug_contexts
  - RdKafka::err2str
  - RdKafka::wait_destroyed
  - RdKafka::mem_malloc
  - RdKafka::mem_free
  source_file: /src/librdkafka/src-cpp/RdKafka.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - RdKafka::Queue::~Queue()
  - '*RdKafka::Queue::create(Handle *base)'
  - RdKafka::QueueImpl::forward(Queue *queue)
  - '*RdKafka::QueueImpl::consume(int timeout_ms)'
  - RdKafka::QueueImpl::poll(int timeout_ms)
  - "RdKafka::QueueImpl::io_event_enable(int fd,\n                                         const
    void *payload,\n                                         size_t size)"
  source_file: /src/librdkafka/src-cpp/QueueImpl.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_darwin_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - foo
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/atomic_64_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/strndup_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - foo
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/sync_32_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/regex_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/libsasl2_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/dlopen_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: LONGx1
      pos:
        line_end: 3
        line_start: 2
        source_file: /src/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c
      type_or_value: '"8192"'
    - item_type: preproc_def
      name: LONGx2
      pos:
        line_end: 4
        line_start: 3
        source_file: /src/librdkafka/packaging/cmake/try_compile/crc32c_hw_test.c
      type_or_value: '"16384"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/rand_r_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_freebsd_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - foo
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/atomic_32_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - foo
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/sync_64_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/pthread_setname_gnu_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - start_func
  - main
  source_file: /src/librdkafka/packaging/cmake/try_compile/c11threads_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/cp/check_features.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/rpm/tests/test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/librdkafka/packaging/rpm/tests/test.cpp
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
